攻防世界新手练习区9之simple_php
0x00
Tips:小宁听说php是最好的语言,于是她简单学习之后写了几行php代码。这道题只看描述,只能判断为php页面,具体我们进去看看~
0x01
打开环境,进入页面
可以看到,应该属于代码审计,分析下代码~看到包含了一个config.php,访问无果,接着往下看。
页面接收了两个参数,要满足:
第一个参数: 参数名为a,a的值要等于0,并且a要返回真才可以,大家应该知道,php中a的值为0的情况下默认返回的是false,这里就考验到"==“的漏洞了,我们这里可以使用0x00绕过~
ps:想要测试更多绕过双等号的兄弟可以参考下:https://www.cnblogs.com/Alight/p/4171492.html
上图可以看出成功进入第一个if分支,成功打出了flag的一半~
第二个参数: 参数名为b,b的值使用is_numeric()函数判断是否为数字,如果为数字则退出,而且b的值要大于1234才输出。总的来说就是b的值不能为数字的情况下还要大于数字1234,这里考验到了is_numeric()函数的漏洞,这个函数的参数在头部或尾部添加”%00"可以判断为非数字型;另外"%20"url编码的空格也可绕过,只不过%20只能添加到尾部,因为此函数判断时会自动跳过首部的空格~
成功构造a和b两个参数,打印出flag
0x02
新手练习区第一次接触php函数漏洞,各位骚年要多了解下php哦~