关于CMSMS中SQL注入漏洞的复现与分析与利用
本文中涉及到的相关漏洞已报送厂商并得到修复,本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担。漏洞URL如下:“http://server-ip/cmsms/moduleinterface.php?mact=News,m1_,default,0&m1_idlist=”当参数m1_idlist赋值为1时,页面显示6月19日的新闻,cmsms页面如下:https://image.3001.net/images/20190627/1561623934_5d147d7e19e3a.png!small当参数m1_idlist赋值为2时,页面显示6月24日的新闻,cmsms页面如下:https://image.3001.net/images/20190627/1561624107_5d147e2b94b44.png!small由此可见,当给参数m1_idlist赋予不同的值时,主页会显示不同的新闻内容,即m1_idlist对应的是新闻的ID。2. sqlmap扫描2.1 获取cookie设置Mozilla Firefox浏览器代理为127.0.0.1:8080,用于指向BurpSuite,然后在浏览器中访问漏洞URL,再通过BurpSuite中的HTTP history找到Cookie的详细信息,如下图所示:https://image.3001.net/images/20190627/1561624139_5d147e4bc9ced.png!small2.2 结合步骤2.1中获取到的cookie,使用sqlmap对漏洞URL中的参数m1_idlist进行扫描测试,sqlmap扫描命令如下:sqlmap -u "http://192.168.188.140/cmsms/moduleinterface.php?mact=News,m1_,default,0&m1_idlist=1" -p "m1_idlist" --cookie="CMSSESSID6ae120628fa8=v9rtmai3jn0bc4usje1o83c174" --dbms="MySQL" --level 3 --risk 32.3 漫长的等待提示没用漏洞 WTF?https://image.3001.net/images/20190627/1561624212_5d147e94621e9.png!small3. 构造语句测试由于神器sqlmap失准,我们直接手动构造语句来确认漏洞。构造如下语句,拼接到参数m1_idlist之后:0,1))and(case+when+(select+sleep(1)+from+cms_users+limit+1)+then+1+else+2+end)+--+首先设置sleep的参数为1s,运行结果如下图所示,可以看到服务器的响应时间为1141ms(即1.141s):https://image.3001.net/images/20190627/1561624361_5d147f29ed551.png!small再次设置sleep的参数为5s,运行结果如下图所示,可以看到服务器的响应时间为5163ms(即5.163s):https://image.3001.net/images/20190627/1561624381_5d147f3d16997.png!small当设置sleep的参数为10s时,服务器的响应时间为10184ms(即10.184s)。不断增大sleep的参数值,响应时间也在逐步增加。由此可以确定,在参数m1_idlist中存在基于时间的SQL盲注漏洞。本人投稿52BUG 转载请保留文章出处
页:
[1]