[WUSTCTF2020]朴實無華
復現了武科大的一道題///
進入界面
一個hack me

好吧,直接看看有沒有robot.txt
哦豁,還真有

好吧
fAke_f1agggg.php
看了里面,然后在響應頭里面有個fl4g.php
哦豁,進去玩玩
然后里面一堆亂碼.....
告辭
然后網上有完整的圖

下面是亂碼圖,直接對照着看唄

黑人問號!居然叫我去非洲???
我又不是十佳員工,憑啥??
不可以!
直接進行第一個函數的繞過
intval函數繞過

get傳值,num<2020,然后+1后,要大於2021...
emm,為了不去非洲,不過好像考過這道題的樣子哦

然后就會發現intval函數參數會把e前的數字返回,那么就是說,如果是2e5,返回的值是2,而且2e5+1,則返回200001
直接繞過!搞定!
md5弱類型
這個就直接秒咯~
百度一堆
php具有弱類型,== 在進行比較的時候,會先將字符串類型轉化成相同,再比較
終於到最后一關了!
空格與系統命令執行
本層的意思就是:參入的get_flag的參數不能有空格,如果里面有cat,則轉換為wctf202
然后傳入的參數作為系統命令執行
先傳ls進去查看里面有啥文件,然后看到了一串長的不像flag的flag文件
好吧,做到這里,發現不能用cat,於是百度了....
用tac這個東西,但是也要空格呀
< 符號
%09 符號需要php環境,這里就不搭建啦,見諒)
$IFS$9 符號${IFS} 符號
利用$IFS$9替代空
接着就拿到flag了
payload=num=2e5&md5=0e215962017&get_flag=tac$IFS$9fllllllllllllllllllllllllllllllllllllllllaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaag