DouPHP(CVE-2024-7917、代码分析xss)漏洞复现

admin 2024年8月23日22:48:29评论53 views字数 1684阅读5分36秒阅读模式

漏洞介绍

漏洞:CVE-2024-7917

介绍:DouPHP 1.7_Release_20220822版本中存在一个远程代码执行(RCE)漏洞。拥有管理员权限的攻击者可以通过该漏洞在服务器上执行任意命令。漏洞通过上传恶意ico文件、修改文件扩展名来执行PHP代码

该漏洞影响了组件Favicon Handler中的未知功能文件/admin/system.php。通过操作参数site_favicon,攻击者可以执行无限制上传操作。攻击可能远程发起。该漏洞已被公开披露并可能被利用。

影响版本:DouPHP v1.7 Release 20220822

DouPHP(CVE-2024-7917、代码分析xss)漏洞复现

下载地址:https://www.douphp.com/history

DouPHP(CVE-2024-7917、代码分析xss)漏洞复现

环境搭建

使用phpstudy,搭建网站即可。

推荐配置:php7以上 + MySQL5.7以上

DouPHP(CVE-2024-7917、代码分析xss)漏洞复现

漏洞复现

1、登录后台

http://域名/admin/login.php

DouPHP(CVE-2024-7917、代码分析xss)漏洞复现

2、点击系统设置---上传shell文件

查看源码,白名单限制DouPHP(CVE-2024-7917、代码分析xss)漏洞复现

上传后缀为ico的木马文件

文件内容:<?php phpinfo();?>
DouPHP(CVE-2024-7917、代码分析xss)漏洞复现
DouPHP(CVE-2024-7917、代码分析xss)漏洞复现

上传成功

DouPHP(CVE-2024-7917、代码分析xss)漏洞复现

3、修改文件后缀为php

DouPHP(CVE-2024-7917、代码分析xss)漏洞复现
DouPHP(CVE-2024-7917、代码分析xss)漏洞复现

burp抓包,我这里在虚拟机搭建的网站,如果要用物理机抓虚拟机的包,需要修改代理IP为物理机的IP地址,无法使用127.0.0.1。

修改new_path =favicon.php

DouPHP(CVE-2024-7917、代码分析xss)漏洞复现
DouPHP(CVE-2024-7917、代码分析xss)漏洞复现

访问www.douphp.com/favicon.php

DouPHP(CVE-2024-7917、代码分析xss)漏洞复现

漏洞介绍

漏洞:xss漏洞

介绍:文件上传导致的XSS

影响版本:DouPHP v1.7 Release 20220822  、DouPHP v1.6 Release 20220216

使用上述已经搭建好的环境

xss漏洞介绍

概念:攻击者利用网站漏洞把恶意的脚本代码(通常包括HTML代码和客户端Javascript脚本)注入到网页之中,当其他用户浏览这些网页时,就会执行其中的恶意代码。

条件

- 用户能够控制输入
- 拼接恶意的JS代码

xss可利用的脚本攻击

利用标签<>构造HTML/js语句      <script>alert(document.cookie)</script>   双写  大小写 等等绕过姿势
利用javascript伪协议构造       <a href="javascript:alert(1)">点我</a>   
事件驱动                    
<input type="text" onmouseover="alert(1)">  鼠标悬停
<input type="button" onclick="alert(1)">    点击事件
<img src="#" onerror="alert(1)">            报错  等等事件

漏洞探测

翻阅各个模块

DouPHP(CVE-2024-7917、代码分析xss)漏洞复现

上传的页面在前端展示

DouPHP(CVE-2024-7917、代码分析xss)漏洞复现

代码分析

分析admin/show.php,找到功能点

DouPHP(CVE-2024-7917、代码分析xss)漏洞复现

分析代码。判断幻灯名称show_name是否为空,若为空则报出“名称为空的”错误提示

if (empty($_POST['show_name'])) $dou->dou_msg($_LANG['show_name'] . $_LANG['is_empty']);

这里可以发现,没有对上传文件的名称做限制,只判断是否为空,会想到是否是文件上传漏洞,使用box函数对上传的文件做了限制,没法绕过。这里可以想到将上传的图片名称写为xss的payload。继续往下分析。

使用Token验证,验证成功,将上传的信息 show_name 、show_link 、show_img、show_text写入数据库中,这里没有二次校验,上传的名称,使用insert注入,没有成功。他这里直接将语句插入到数据库中。DouPHP(CVE-2024-7917、代码分析xss)漏洞复现

以上分析:猜测在/admin/show.php中存在存储型xss漏洞

漏洞复现

第一处xss

访问:http://www.douphp.com/admin/show.php

插入xss_payload :<script>alert(1)</script>
DouPHP(CVE-2024-7917、代码分析xss)漏洞复现
DouPHP(CVE-2024-7917、代码分析xss)漏洞复现
DouPHP(CVE-2024-7917、代码分析xss)漏洞复现

加下方wx,拉你一起进群学习

DouPHP(CVE-2024-7917、代码分析xss)漏洞复现

原文始发于微信公众号(红队蓝军):DouPHP(CVE-2024-7917、代码分析xss)漏洞复现

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年8月23日22:48:29
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   DouPHP(CVE-2024-7917、代码分析xss)漏洞复现https://cn-sec.com/archives/3089969.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息