新銀報(bào)到鲤竹,多多指教浪读,如有錯(cuò)誤,多謝指出
extract變量覆蓋
第一次遇到extract()函數(shù),百度一波含義(回到家后google被ban了):
這樣就簡單了碘橘,直接構(gòu)造payload:?shiyan=&flag互订,得到flag.
strcmp比較字符串
做的時(shí)候這道題目崩了仰禽,不過既然提到了strcmp,那么一定會用到數(shù)組繞過错负,隨便丟了一個(gè)a[]進(jìn)去坟瓢,flag出來了?犹撒??
urldecode二次編碼繞過
百度一波相關(guān)函數(shù):
????????eregi()函數(shù)在一個(gè)字符串搜索指定的模式的字符串粒褒。搜索不區(qū)分大小寫识颊。
? ? 這樣題目就簡單了:
? ? ? ? 第一關(guān):id不能等于hackerDJ
????????第二關(guān):$_GET[id] = urldecode($_GET[id]);
? ? ? ? 第三關(guān) :if($_GET[id] == "hackerDJ")
? ? 這道題很豐富了我的見識,讓我感覺到一直以來我對GET函數(shù)了解的還不是很深刻奕坟。
? ? 剛開始我做這道題的時(shí)候祥款,直接將id賦值為hackerDJ的一次url編碼,然后撲街了好久月杉,最后多虧了題目的提示二次編碼繞過將id賦值為hackerDJ的二次url編碼刃跛,才得到flag,之后我又對題目進(jìn)行了分析:
好題苛萎,好題桨昙。
md5()函數(shù)
這道題就是使username!=password? ? &&? ? md5(username)===md5(password)
這樣就很簡單了,直接將240610708和QNKCDZO分別對上述賦值即可腌歉。
另外一種比較簡單的方法就是md5()方法無法處理數(shù)組蛙酪,直接構(gòu)造payload:? ?
? ? username[]=1&password[]=2即可
數(shù)組返回NULL繞過
遇到 了熟悉的ereg函數(shù),直接用%00截?cái)唷?/p>
還有熟悉的strpos函數(shù)翘盖,直接用數(shù)組截?cái)唷?/p>
構(gòu)造如下payload:http://120.24.86.145:9009/19.php?password[]=%00
sha()函數(shù)比較繞過
比較長的一道題目,emmmmm桂塞。
需要對name和password進(jìn)行賦值,而且需要他們的值不等馍驯,但是sha1的值相等阁危。
sha1()函數(shù)無法處理數(shù)組,直接構(gòu)造如下payload:
? ??????http://120.24.86.145:9009/7.php?name[]=1&password[]=2
md5加密相等繞過
這道題上面已經(jīng)說過了汰瘫,兩個(gè)md5加密相等的值為240610708和QNKCDZO狂打,這里需要將a賦值為240610708直接得到flag,payload:
? ??http://120.24.86.145:9009/13.php?a=240610708
十六進(jìn)制與數(shù)字比較
又是一道老長老長的題目吟吝,瀏覽一遍程序菱父,最后需要number==temp是才可以輸出flag ,然后我們可以對password賦值,根據(jù)題目提示浙宜,直接將password賦值為number的十六進(jìn)制官辽,然后flag出來了?粟瞬?(0x表示16進(jìn)制)
payload:http://120.24.86.145:9009/20.php?password=0xdeadc0de
ereg正則%00截?cái)?/h2>
http://120.24.86.145:9009/5.php
題目需要對password賦值
? ? 關(guān)卡1:if (ereg ("^[a-zA-Z0-9]+$", $_GET['password']) === FALSE)? ? ?? ? %00截?cái)?/p>
? ? 關(guān)卡2:strlen($_GET['password']) < 8 && $_GET['password'] > 9999999
? ? ? ? ? ? ?可以用數(shù)組繞過同仆,并且這里為&&,前面可以用數(shù)組截?cái)啵═rue)裙品,后面數(shù)組中有字母以及%俗批,無法解析(true)。
? ? 關(guān)卡3:strpos ($_GET['password'], '-') !== FALSE)? ? ?也可以用數(shù)組繞過
? ? 最終我的payload:
? ??????????????http://120.24.86.145:9009/5.php?password[]=1%00
strpos數(shù)組繞過
對ctf進(jìn)行賦值
? ? 關(guān)卡1:if (@ereg ("^[1-9]+$", $_GET['ctf']) === FALSE)? ? 用%00截?cái)?/p>
? ? 關(guān)卡2:else if (strpos ($_GET['ctf'], '#biubiubiu') !== FALSE) 用數(shù)組截?cái)?/p>
? ? 最終我的payload:
? ??????????????http://120.24.86.145:9009/15.php?ctf[]=1%00