新聞中心
查看源碼發(fā)現(xiàn)有個文件,然后打開。
然后打開得到三個提示。打開bp來分析。
他先說是要成為CUIT的學(xué)生,查看bp
發(fā)現(xiàn)這個cookie有點(diǎn)可疑,把它改成1看看。
變成了CUIT的學(xué)生。接下來就開始傳密碼了。
根據(jù)給的代碼來傳。這里就得了解php是咋樣解析代碼的了,這里有一篇別的師傅寫的博客,可以看看。
PHP 淺談 == 和=== 中,數(shù)字和字符串比較的問題。_Au.J的博客-博客
就是題目要求password得等于404,但又要求password不能是數(shù)字。
成功繞過。然后題目提示我沒付錢,然后就接著去POST一下money.
結(jié)果提示長度太長了,就可以用下科學(xué)計(jì)數(shù)法或者是數(shù)組,為什么是數(shù)組呢。
看到限制長度時,就會猜想到它是用strcmp()函數(shù)來檢測的。
int strcmp ( string $str1 , string $str2 ) 參數(shù) str1第一個字符串。str2第二個字符串。如果
str1 小于 str2 返回< 0; 如果 str1 大于 str2 返回 >0;如果兩者相等,返回 0。
如果我們傳入非字符串類型的數(shù)據(jù)的時候,會return 0。也就是雖然報(bào)了錯,但卻判定其相等了,strcmp傳入數(shù)組可直接返回0,所以可以傳入money[]=1。返回0的話就可以繞過strcmp檢測,直接讀取flag了,strcmp(0)不執(zhí)行。
password的另一種繞過方法。
is_numberic()函數(shù)漏洞:is_numeric函數(shù)對于空字符%00,無論是%00放在前后都可以判斷為非數(shù)值,而%20空格字符只能放在數(shù)值后。
最后拿到flag.
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
網(wǎng)站標(biāo)題:[極客大挑戰(zhàn)2019]BuyFlag-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://www.dlmjj.cn/article/cdscsi.html