iCMS后台database.admincp文件存在SQL注入漏洞
目录
该漏洞CNVD-ID: CNVD-2019-09079
漏洞提交CNVD后,待CNVD公示才发出本文。
测试环境:
Windows + firefox + burpsuite + apache2 + PHP5.6.27(phpStudy集成环境)
注:PHP版本必须 >= 5.5才能运行该程序
iCMS官网:https://www.icmsdev.com/
一、漏洞分析
/app/database/database.admincp.php文件,第261行的SQL语句没有单引号保护。
第260行要求PHP版本 >= 5.5才进入此SQL语句。/app/database/database.admincp.php文件function do_savebackup()函数在第98行调用bakupdata函数并传入$tableA变量。
/app/database/database.admincp.php文件,第59行的do_batch()函数。这里通过POST传入payload并赋值给$tableA,然后调用do_savebackup()函数。
二、漏洞测试
安装CMS http://localhost/install/index.php
此漏洞需要登录管理后台。
选择数据库管理。进入数据库备份页面。滚动条拉到最下边。
打开burpsuite拦截!
选择icms_user 表,然后选择备份表,选择确定。
将burpsuite拦截的包复制到一个文本文件中。
然后用sqlmap来跑
python sqlmap.py -r d:\sqli.txt --dbms mysql --data “table[]=icms_user”
这一步要选No
由于是盲注的原因,需要将近半个小时才能跑得出来。