BUGKU代碼審計回溯 夜車星繁的博客

感謝學姐給我們這些小白推薦CSDN這個博客分享網站,更感謝她對我們說可以把自己的問題,想法都可以寫上去,不一定非要是技術博客。雖然前兩天把她取關了。

寂寥閃爍,時而晦暗。

已有許久沒有寫博客,而今再提筆已是一個從混沌意識走出但還未完全恢復朝氣的頹廢青年,做點小題感覺小有成就,回想前段時間的比賽自己做出了幾道題暫時能給我一些鼓勵。自己的代碼審計一直是弱項,所以找了些時間專攻審計,在此寫上在bugku上代碼審計模塊做題的心得,題解。

extract變量覆蓋:

這道題上網查了查函數:

在使用extract之後可以直接使用變量,構造payload:?shiyan=&flag即可得到flag。

strcmp比較字符串

eregi函數遇到數組會報錯,藉此繞過此函數即可得到flag,

直接構造payload:?a[]=1

即可得到flag。

urldecode二次編碼繞過

前幾道題都很基礎,這道題通過題目與代碼可知需要對:hackDJ這串字符進行二次URL編碼,

因爲這道題本小白髮現一個站:http://web.chacuo.net/charseturlencode

二次編碼後構造payload:?id=%2568%2561%2563%256b%2565%2572%2544%254a

剛開始用的其他工具站,沒有複雜類型URL編碼,此題因爲對字母加密,因此應用複雜類型編碼。

md5()函數

整理下代碼:

分析代碼,又md5()函數無法處理數組,可直接構造payload:?username[]=1&password[]=2

數組返回NULL繞過

事實上這個我們之前已經用過兩次了

遇到了ereg函數,此函數可用%00截斷。

構造payload:?password[]=%00

弱類型整數大小比較繞過

審計代碼可知,需要傳入一個 password 的值 不是數字 又得大於 1336,==爲弱類型比較。

當場構造payload:?password=1337!

sha()函數比較繞過

sha1()函數無法處理數組,直接構造如下payload:

?name[]=1&password[]=2

數組payload在bugku這幾道題可真是通用。

md5加密相等繞過

審計代碼:

兩個md5加密相等的值爲240610708和QNKCDZO,

這裏需要將a賦值爲240610708直接得到flag,

payload:?a=240610708

十六進制與數字比較

需要number==temp是纔可以輸出flag ,然後我們可以對password賦值,

根據題目提示,直接將password賦值爲number的十六進制,(0x表示16進制)

payload:?password=0xdeadc0de

變量覆蓋

???登不上去

ereg正則%00截斷

這道題很有意思,思路我寫在代碼備註上:

代碼如下:
<?php
$flag = "xxx";
if (isset ($_GET['password']))
{
if (ereg ("^[a-zA-Z0-9]+$", $_GET['password']) === FALSE)//此處可看出%00截斷漏洞
{
echo '

You password must be alphanumeric
';
}
else if (strlen($_GET['password']) < 8 && $_GET['password'] > 9999999)//此處可用數組繞過,在PHP中數組永遠比整數大
{
if (strpos ($_GET['password'], '-') !== FALSE) //strpos — 查找字符串首次出現的位置//strpos可用數組繞過,下一題會講到。
{
die('Flag: ' . $flag);
}
else
{
echo('

- have not been found
');
}
}
else
{
echo '

Invalid password
';
}
}
?>

至此,我們分析代碼構造payload:?password[]=1%00

strpos數組繞過

百度一下,strpos函數可用數組繞過,

此題中,ereg函數用%00截斷,strpos數組繞過,

可得payload:?ctf[]=1%00

 

數字驗證正則繞過

改天再看

簡單的waf

???登不上去

 

 

做了這些題後,算是對代碼審計的基礎鞏固了下,翻了翻自己寫的wp,很潦草。

bugku許久不登錄現在這個站已經卡的不得了了,但沒辦法,裏面的題真的很不錯。

以此姑且做一篇博客,已是黃昏,渴望一場雪。雖然現在不過是中原的十一月中旬。

接下來可能會較多的做題寫一些wp,積累經驗,真心真意帶好下一屆學弟學妹。

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章