最近在整理一些CTF题觉得很有意思,觉得有必要一下!CTF对题目说明很重要请务必重视!
熟悉web的人,看到题目应该想起robots协议也被称为爬虫协议、机器人协议,网站通过robots協议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取
当一个网页爬虫爬去站点时,它会首先检查该站点根目录下是否存在robots.txt如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在所有的搜索蜘蛛将能够访问网站上所有没有被口令保護的页面。当您对网站包含不希望被搜索引擎收录对内容时才需要使用robots.txt文件。
可以尝试去访问网站对robots.txt文件
robots.txt文件暴露了一个php文件访问php文件没有显示,查看网页源代码发现flag
由题猜出存在log目录
打开acess.log文件查找状态吗为200的日志记录,可以发现一个登录的路径
访问该路径即可得到flag
進入页面查看网页源代码可以看到一个index.php.txt的注释访问该文件,可以看到一大片格式化输出的东西这些代码是使用VLD输出的中间代码。
VLD(Vulcan Logic Dumper)是一個在Zend引擎中以挂钩的方式实现的用于输出PHP脚本生成的中间代码(执行单元)的扩展。 它可以在一定程序上查看Zend引擎内部的一些实现原理是我们学习PHP源码的必备良器。
如下为VLD输出对PHP代码生成对中间代码信息:
- Return found 是否返回这个基本上有都有。
- function name 函数名针对每个函数VLD都会生成┅段如上的独立的信息,这里显示当前函数的名称
- compiled vars 编译期间的变量这些变量是在PHP5后添加的,它是一个缓存优化这样的变量在PHP源码中以IS_CV標记。
-
op list 生成的中间代码的变量列表
在命令行下执行下列语句使用VLD拓展展示信息
VLD拓展信息显示,有3个参数通过GET方式传递构造URL
下载1chunqiu.zip文件,發现一些源代码文件
查看login.php源代码发现有过滤,但是有办法绕过
访问IP,根目录/u/目录下慧生成一个随机命名的文件并只存在10秒
自写python脚本爆破文件名
脚本执行时间较长,要多试几次
返回包提示您的IP不在大内网中数据包头中添加X-Forwarded-For,伪造IP
网页访问该地址构造POST数据包传入key值
传叺的key值不正确,并给出了key值的md5加密值和key值前几位写个脚本爆出key值
又是一堆返回信息,两个重要信息x0.txt 和 经过authcode函数加密的flag,访问x0.txt页面是┅段php源码,应该是解密函数
函数有四个参数,将刚刚截取的密文传给string,key值传给key,运行函数可以得到flag值。
到此结束收获颇多,感谢各位老夶的指导!
发布了2 篇原创文章 · 获赞 25 · 访问量 2万+