题目

打开直接一句话 Vulnerability Search,再查看查看,注册登录一下,漏洞点应该是在搜索了。发现会显示用户名,还有历史搜索记录。根据题目名字,应该是thinkPHP漏洞,随便在url输入不存在的地址。报错[ThinkPHP](http://www.thinkphp.cn) V6.0.0

且会有路径控制器不存在:app\home\controller\Sadasf

网上搜索一下漏洞。发现大致有两个,一个是反序列化,一个是任意文件写入漏洞。试着搜一下,发现在这题不能硬套,而且还没有利用到搜索这个功能点。这种题应该基本会有源码泄露,方便审计。试一试,www.zip可以下载到源码。

审计源码

根据报错路径,查看一下文件,一般这些框架都是看controller有什么,在member.php里面看到了网页提供的功能函数(搜索,首页,登录等)

(坑)(在网上找不到分析得很彻底的文章,打算等以后学thinkPHP再来。可以试一下本地复现网上的漏洞)

session可控,修改session,长度为32位,session后缀改为.php(加上.php后为32位)
然后再search搜索的内容会直接保存在/runtime/session/目录下,getshell

解题流程:

注册账号,登录时候改抓包改PHPsessid为32位(包含.php)的如:1234567891234567891234567890.php ,

而搜索框post的值写入到session文件中,文件名规则是sess_PHPsessid,存放在/runtime/session/下。注册后搜索<?php phpinfo(); ?>,且PHPsessid还是要改成1234567891234567891234567890.php

然后再访问/runtime/session/sess_1234567891234567891234567890.php

查disable_functions,直接写马,然后用蚁剑插件了。选择那个PHP7——back,同之前的rce me一样,可以看我之前的博客。

参考

https://www.likecs.com/show-921922.html#sc=6238

https://www.cnblogs.com/yesec/p/12571861.html

https://blog.csdn.net/weixin_45646006/article/details/120657905