[极客大挑战 2019]BuyFlag Writeup

拿到页面在menu中找到PAYFLAG的页面,来到pay.php,查看源码有提示:

<!--
    ~~~post money and password~~~
if (isset($_POST['password'])) {
    $password = $_POST['password'];
    if (is_numeric($password)) {
        echo "password can't be number</br>";
    }elseif ($password == 404) {
        echo "Password Right!</br>";
    }
}
-->

提示需要POST一个password,并且password不能为纯数字。注意到elseif里面的判断语句用的是==,是弱类型比较,所以password="404aa"的时候会返回true。

因此用POST方法传password=404aa,在hackbar执行。

 

 

 

发现页面源代码没有任何改变,注意到"you must be a student from CUIT"

因此可能在请求头中有参数说明是"Cuit's students".

来到burpsuite

发现了cookie里有user=0,改成user=1,得到不同返回。

  加上第一个提示中有"post money and password",因此还需要POST一个money,值为100000000

 

 

 

 

 

   可是返回Nember lenth is too long,有什么办法可以输入数字少表示的数值大呢?

  对了,马上想到科学计数法,于是:

 

 

   得到flag咯

 

 

 

flag{5993f0a3-a386-4af0-9694-99d1cb704abe}

 

posted @ 2020-10-14 11:15  M4ny1u  阅读(185)  评论(0编辑  收藏  举报

Email: imanyiu12@foxmail.com