---------------------------
注入篇
首先看看全局文件出现的问题
core\upload.class.php
获取文件名没有过滤过滤,只是验证最后三位是否为合法后续,我们搜索下有哪处调用了
可以看到搜索出很多处实际也就10多处,我就不一一举例,就用一处来举例吧(为什么这么说呢,当然我是自己测试过才知道有多少处的,只是为了简洁才不一一)
找一处实名认证的来测试
文件地址是/core/approve/approve.class.php中
这里是把文件名带入查询了,但有单引号包含,不怕,因为我们不是$GET/$POST/$COOKIE
可无视360webscan还有gpc。
打开实名认证那块测试注入
http://127.0.0.1/?user&q=code/approve/realname
提交,用burp截包。
然后1.jpg这样改为1'jpg就可以了
可以看到报错了
试试构造exp,union select是不行的了,可以试试updatexml
<code0' or updatexml(1,concat(0x7e,(version())),0) or 'jpg</code>
可以爆出数据了
--------------------------------------------------
数据库篇
帝友系统是把配置文件都存数据库的,所以后台地址也可以在数据库里找的到。
配置文件内容在yyd_system这个表中
找到了,我们试试用注入爆出来看看
EXP:
可以看到爆出了 (~admin)
管理员我就不测试爆出了。
我们来看看数据库哪里存在了明文存储
表:yyd_users_adminlog
这个是管理员登陆日志来的,明文记录了密码
EXP:
可以看到爆出来
有时太长爆的不完整,可以用substr来截取。
--------------------------
拿shell篇
查考 WooYun: 帝友P2P借货系统全局问题造成多处注入(无视360防御/gpc/受长度限制) 的
----------------------------
案例篇(送十几个测试案例)
手好累,打了那么长的分析过程
---------------------------
注入篇
首先看看全局文件出现的问题
core\upload.class.php
获取文件名没有过滤过滤,只是验证最后三位是否为合法后续,我们搜索下有哪处调用了
可以看到搜索出很多处实际也就10多处,我就不一一举例,就用一处来举例吧(为什么这么说呢,当然我是自己测试过才知道有多少处的,只是为了简洁才不一一)
找一处实名认证的来测试
文件地址是/core/approve/approve.class.php中
这里是把文件名带入查询了,但有单引号包含,不怕,因为我们不是$GET/$POST/$COOKIE
可无视360webscan还有gpc。
打开实名认证那块测试注入
http://127.0.0.1/?user&q=code/approve/realname
提交,用burp截包。
然后1.jpg这样改为1'jpg就可以了
可以看到报错了
试试构造exp,union select是不行的了,可以试试updatexml
<code0' or updatexml(1,concat(0x7e,(version())),0) or 'jpg</code>
可以爆出数据了
--------------------------------------------------
数据库篇
帝友系统是把配置文件都存数据库的,所以后台地址也可以在数据库里找的到。
配置文件内容在yyd_system这个表中
找到了,我们试试用注入爆出来看看
EXP:
可以看到爆出了 (~admin)
管理员我就不测试爆出了。
我们来看看数据库哪里存在了明文存储
表:yyd_users_adminlog
这个是管理员登陆日志来的,明文记录了密码
EXP:
可以看到爆出来
有时太长爆的不完整,可以用substr来截取。
--------------------------
拿shell篇
查考 WooYun: 帝友P2P借货系统全局问题造成多处注入(无视360防御/gpc/受长度限制) 的
----------------------------
案例篇(送十几个测试案例)
手好累,打了那么长的分析过程