1. 程式人生 > >實驗吧WEBWP(二)

實驗吧WEBWP(二)

1.Once More(http://www.shiyanbar.com/ctf/1805
點選—view the source code
關鍵碼
else if (strlen(_GET['password']) < 8 &&_GET[‘password’] > 9999999)
{
if (strpos ($_GET[‘password’], ‘-‘) !== FALSE)
{
die(‘Flag: ’ . $flag);
}
看了程式碼後,大意就是讓我們滿足以下條件才會出來flag
1.password的字串長度小於8而password的數值卻要大於9999999
2.並且該數中要包含“-”

第一點,只有科學計數法能滿足
如1e7,1e8,1e9
第二點,如果我們直接加-,答案為1e9-的話實際上兩個條件都不滿足了

2.Guess Next Session(http://www.shiyanbar.com/ctf/1788)
點選—view the source code
if (GET[password]==_SESSION[‘password’])
die (‘Flag: ‘.$flag);
要求get獲取的值必須和session的值相等
這肯定涉及到burpsuite抓包改包
先隨便填個數進去,抓包進行修改
在抓到的header裡,只需修改password=後的值等於PHPSESSID=後的值即可
但是程式碼中我們發現mt_srand((microtime() ^ rand(1, 10000)) % rand(1, 10000) + rand(1, 10000));
?>

要挑戰rand是不可能的
於是我們嘗試將兩者都修改為0
得到答案
這裡寫圖片描述