提示
- 信息收集
- php在吗审计
如果没有dirsearch可以看我的这篇博文详细介绍了怎么安装以及简单使用方法
拿到题没有什么可用信息
访问robots.txt(存在一个误导信息)
这里有一个/fAke_f1agggg.php
访问以后出现这个不是flag
直接拿工具跑一编
还是老样子
跑buuctf的题需要限速显示,不然跑太快了会429报错
-s 每个几秒跑一次? ? -t? 每秒跑多少个
这里跑出来没有什么东西
抓包一下这个页面
放重放器以后发出,能看到响应包里有一个提示
访问此页面/fl4g.php
这里很多编码明显是乱码,但是我们做题和这些也没什么关系
也可以改编码来好看些
edge浏览器自带ie浏览器兼容模式
打开以后,点击ie浏览器的图标
然后右键然后点击编码选择自动选择就变回来了
首先第一关
intval() 函数会把获取的值强制转化位整数
这里可用科学计数法
这里利用到intval的漏洞,传入科学计数法时只会要e之前的数字,如果传入1e10,intval(1e4)=1,但是intval(1e4+1)=10001,因为这里是科学计数法加算数,所以会先计算了,在取值,所以理论上来说只要e前面的数字小于2000,并且科学计算以后大于2001就能绕过
第二关
这里需要让他原本弱等于md5以后的自己
这里用0e215962017
第三关
首先strstr(1,2)会匹配1里2出现的地方以后的剩余的所有字符(空格用$IFS$9替换,这后面的数字随便都行)
str_ireplace("cat",?"wctf2020",?$get_flag)
会把cat替换成wctf2020,所以这里用其他函数读取(cat用more替换)
最后的payload:
?num=1e4&md5=0e215962017&get_flag=ls
出现flag文件
fllllllllllllllllllllllllllllllllllllllllaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaag
然后读取它
?num=1e4&md5=0e215962017&get_flag=tac$IFS$9fllllllllllllllllllllllllllllllllllllllllaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaag
获得flag