[WUSTCTF2020]朴实无华1

提示

  1. 信息收集
  2. php在吗审计

如果没有dirsearch可以看我的这篇博文详细介绍了怎么安装以及简单使用方法

dirsearch安装及简单使用(###linux系统和windows系统)-CSDN博客

[WUSTCTF2020]朴实无华1_第1张图片

拿到题没有什么可用信息

访问robots.txt(存在一个误导信息)

[WUSTCTF2020]朴实无华1_第2张图片

这里有一个/fAke_f1agggg.php

访问以后出现这个不是flag

[WUSTCTF2020]朴实无华1_第3张图片

直接拿工具跑一编

还是老样子

跑buuctf的题需要限速显示,不然跑太快了会429报错

-s 每个几秒跑一次    -t  每秒跑多少个

[WUSTCTF2020]朴实无华1_第4张图片

这里跑出来没有什么东西

抓包一下这个页面

放重放器以后发出,能看到响应包里有一个提示

[WUSTCTF2020]朴实无华1_第5张图片

访问此页面/fl4g.php

[WUSTCTF2020]朴实无华1_第6张图片

这里很多编码明显是乱码,但是我们做题和这些也没什么关系

也可以改编码来好看些

edge浏览器自带ie浏览器兼容模式

[WUSTCTF2020]朴实无华1_第7张图片

打开以后,点击ie浏览器的图标

然后右键然后点击编码选择自动选择就变回来了

[WUSTCTF2020]朴实无华1_第8张图片

首先第一关

intval() 函数会把获取的值强制转化位整数

[WUSTCTF2020]朴实无华1_第9张图片

这里可用科学计数法

这里利用到intval的漏洞,传入科学计数法时只会要e之前的数字,如果传入1e10,intval(1e4)=1,但是intval(1e4+1)=10001,因为这里是科学计数法加算数,所以会先计算了,在取值,所以理论上来说只要e前面的数字小于2000,并且科学计算以后大于2001就能绕过

[WUSTCTF2020]朴实无华1_第10张图片

第二关

这里需要让他原本弱等于md5以后的自己

这里用0e215962017

[WUSTCTF2020]朴实无华1_第11张图片

第三关

首先strstr(1,2)会匹配1里2出现的地方以后的剩余的所有字符(空格用$IFS$9替换,这后面的数字随便都行)

str_ireplace("cat", "wctf2020", $get_flag)会把cat替换成wctf2020,所以这里用其他函数读取(cat用more替换)

[WUSTCTF2020]朴实无华1_第12张图片

最后的payload:

?num=1e4&md5=0e215962017&get_flag=ls

出现flag文件

[WUSTCTF2020]朴实无华1_第13张图片

fllllllllllllllllllllllllllllllllllllllllaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaag

然后读取它

?num=1e4&md5=0e215962017&get_flag=tac$IFS$9fllllllllllllllllllllllllllllllllllllllllaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaag

[WUSTCTF2020]朴实无华1_第14张图片

获得flag

你可能感兴趣的:(BUUCTF,web题,php,ctf)