【复习失败-bp出问题了】【漏洞复现】DouPHP(CVE-2024-7917、代码分析xss)漏洞复现

news/2024/9/21 5:40:34/文章来源:https://www.cnblogs.com/o-O-oO/p/18376954

https://mp.weixin.qq.com/s/YccEe85xFiZIZGOPQLABkA

DouPHP(CVE-2024-7917、代码分析xss)漏洞复现
原创 LULU 红队蓝军 2024年08月23日 18:01 四川
漏洞介绍

漏洞:CVE-2024-7917

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

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

影响版本:DouPHP v1.7 Release 20220822

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

环境搭建

使用phpstudy,搭建网站即可。

推荐配置:php7以上 + MySQL5.7以上
图片
漏洞复现

1、登录后台

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

图片

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

查看源码,白名单限制图片

上传后缀为ico的木马文件

文件内容:

图片
图片

上传成功
图片

3、修改文件后缀为php
图片
图片

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

修改new_path =favicon.php
图片
图片

访问www.douphp.com/favicon.php
图片
漏洞介绍

漏洞:xss漏洞

介绍:文件上传导致的XSS

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

使用上述已经搭建好的环境
xss漏洞介绍

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

条件:

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

xss可利用的脚本攻击

利用标签<>构造HTML/js语句 双写 大小写 等等绕过姿势
利用javascript伪协议构造 点我
事件驱动
鼠标悬停
点击事件
报错 等等事件

漏洞探测

翻阅各个模块
图片

上传的页面在前端展示
图片

代码分析

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

分析代码。判断幻灯名称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注入,没有成功。他这里直接将语句插入到数据库中。图片

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

第一处xss

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

插入xss_payload :

图片
图片
图片

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

图片

微信扫一扫
关注该公众号

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/787337.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【简易学生管理系统】java版(内附完整源码)

源代码附在文章末尾注意:代码中定义了Student和User两个类,最初的登录操作对应User,之后才是对Student信息的增删改查。代码中对大部分用户键入都进行了校验,校验规则如下 用户名: 长度在3~15位 只能是数字和字母的组合不能都是数字 用户名已存在,无法注册手机号: 长度1…

[Datawhale AI 夏令营] Task1: 跑通YOLO方案baseline

环境配置厚德云 RTX 4090 image-gpu-pytorch_20240807运行 apt install git-lfs git lfs install git clone https://www.modelscope.cn/datasets/Datawhale/AI_Camp5_baseline_CV.git提交结果

如何快速对影像进行分幅?

GIS数据转换器的"分割转换"功能,可以根据用户设定的像素大小将一幅大影像分割成若干小尺寸的影像。下面是详细的使用步骤:方法/步骤1. 数据准备支持tif、img、bmp文件格式。 2. 软件下载与安装从GeoSaaS.COM官网下载并安装 GIS数据转换器,安装完成后桌面上出现”G…

dpdk解析报文协议-基于l2fwd

dpdk解析报文协议-基于l2fwd 0 前置条件 1、这里需要两台虚拟机,配置了相同的虚拟网络,可以通过tcpreplay在一台虚拟机回放报文,在另一台虚拟机通过tcpdump -i 网卡名 捕获到。具体配置可参考https://www.jb51.net/server/2946942fw.htm2、需要dpdk环境配置完成 3、大致了解…

引用类型和值类型(一)

引用类型和值类型(一) 关于引用类型和值类型的区别经常听到这样一个说法:“值类型分配在栈上,引用类型分配在堆上”。这个回答并不完全正确,或者说这不是值类型和应用类型真正的差别。官方文档给出的定义:引用类型的变量存储对其数据(对象)的引用,而值类型的变量直接包…

修改SpringBoot的配置文件application.yaml后启动失败

经常碰到修改application.yaml文件之后,SpringBoot项目启动失败的,报错信息如下 Connected to the target VM, address: 127.0.0.1:7105, transport: socket 21:12:59.122 [main] DEBUG org.springframework.boot.context.logging.ClasspathLoggingApplicationListener - App…

mac 隐藏文件显示 快捷键

用户》macmac 是电脑自己的名字

【信息收集】 SSH指纹

原创 儒道易行一、 SSH指纹 首次通过SSH连接一台服务器时,SSH服务返回其指纹信息,如果确认指纹信息无误,该指纹将保存到~/.ssh/know_hosts中, 服务器IP与指纹一一对应;第二次访问SSH服务时,SSH客户端将对比返回的指纹与~/.ssh/know_hosts是否一致,一致就顺利连接,否则警…

yml文件中使用profile配置切换多环境

pom.xml<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.…

京东面试:600Wqps高并发ID如何设计?时钟回拨 如何解决?

文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 :《尼恩Java面试宝典》 持续更新+ 史上最全 + 面试必备 2000页+ 面试必备 + 大厂必备 +涨薪必备 免费赠送 :《尼恩技术圣经+高并发系列PDF》 ,帮你 实现技术自由,…

[笔记](更新中)CSP-S 2024 查漏补缺

复习内容部分来自NOI大纲中入门级和提高级的内容。 联合体(Union) 联合体是一种复合数据类型,其的定义上与结构体的定义类似。 与结构体不同,联合体中的所有元素共用一块内存,所以它占空间大小一般是最大成员的大小(不考虑对齐的情况下),相应地,任意时刻只有一个成员带…

推荐2款实用的持续集成与部署(CICD)自动化工具

前言 最近DotNetGuide技术社区交流群有不少同学在咨询:持续集成与部署(CI&CD)自动化工具有什么好用的推荐?今天大姚给大家推荐2款实用且免费的持续集成与部署(CI&CD)自动化工具,希望可以帮助到有需要的同学。 持续集成与部署工具的作用 持续集成(CI)和持续交付…