1.信息挖掘——看源码和网页信息找线索
线索①
FLAG NEED YOUR 100000000 MONEY
You must be answer the correct password!!!
线索②
<!--
~~~post money and password~~~
if (isset($_POST['password'])) {
$password = $_POST['password'];
if (is_numeric($password)) {
echo "password can't be number</br>";
//password提交不能为数字,可以尝试用弱类型表示,后面随便加个符号或者字母
}elseif ($password == 404) {
//password输入为404则输出正确,但又不能为数字,所以就用弱类型表示
echo "Password Right!</br>";
}
}
-->
关于弱类型语言:php,javascript
详细请见 什么是弱类型语言、强类型语言? - 海纳百川_有容乃大 - 博客园
2.拿flag
发现是post提交,并且需要money和password两个参数,尝试post提交
观察网页是否发生变化,没有回显,那就只能上burp抓包
抓包后在cookie栏出现的 user=0,把0改成1,也不知啥原因我也是看了大佬们的博客才知道的,之后查看应答包,发现咱们的思路是对的,password参数通过了,而money参数不通过的原因是字符长度的原因,
在查阅一些资料后,得知我们可以把这个整型数字,用科学计数法来表示
最后拿到我们所需要的flag;flag{f6b28332-8b7a-415b-880c-897c93d505c6}
总结:
这只是我的一种解题思路,不一定就是最简便的,当然肯定也不止这一种方法的,在ctf中思维不要局限。
如有不足之处,请予指正!