小組任務1 phpbug 69892

2021-09-20 00:07:37 字數 2002 閱讀 9902

參考文獻:

1.php的bug#69892

$users = array(

"0:9b5c3d2b64b8f74e56edec71462bd97a" ,

"1:4eb5fb1501102508a86971773849d266",

"2:facabd94d57fc9f1e655ef9ce891e86e",

"3:ce3924f011fe323df3a6a95222b0c909",

"4:7f6618422e6a7ca2e939bd83abde402c",

"5:06e2b745f3124f7d670f78eabaa94809", //hund

"6:8e39a6e40900bb0824a8e150c0d0d59f",

"7:d035e1a80bbb377ce1edce42728849f2",

"8:0927d64a71a9d0078c274fc5f4f10821",

"9:e2e23d64a642ee82c7a270c6c76df142",

"10:70298593dd7ada576aff61b6750b9118"

);$valid_user = false;

$input = $_cookie['user'];

$input[1] = md5($input[1]);

foreach ($users as $user)

}if (!$valid_user)

if ($uid == 0) else

題目其實很容易理解,就是輸入user[0]和user[1],其中user[0]==0user[1]=$users中的任意乙個

看見0~10這些內容第一反應就是md5解密,都試過一遍之後發現只有第五個能解出來,user[0]=5;user[1]=hund這個就可以得到你是普通使用者的歡迎資訊了,但是想要的是管理員的,所以得嘗試將$uid=0這個條件實現,這個時候就需用到php的bug#69892

[2015-06-20 14:29 utc] [email protected] 描述: ------------

var_dump([0 => 0] === [0x100000000 => 0]); //布林(true)

所有版本:

php執行在32位系統的會將陣列的鍵 0x100000000=2^32=4294967296 變換為字串,而在64位系統會直接 陣列中的鍵4294967296 為unsigned long 型別 且等同於0

cookie: user[4294967296]=5;user[1]=hund;
2.php 0819
<?php

// closure, because of namespace!

$challenge = function()

trycatch (exception $e)

return ($spaceone === '1337');

};?>

通過get的eval引數傳入並賦值到變數f,然後經過str_replace()的過濾,要求長度小於13,並且不包含字串return,接著執行eval,然後讓`spaceone === '1337'返回true。最後一行spaceone === '1337'`,要求型別和值都得相等。看一下str_replace(),過濾了單引號,雙引號,所以如果直接get傳參`index.php?eval='1337'`進去,在經過過濾後,到最後會變為spaceone=1337,不等。

可以用heredoc構造繞過單引號

《內容中不能包括特殊符號,以乙個變數起始,以相同的變數名+;結束(還要再加上乙個換行符!)

?eval=<<

小組python學習任務1

步驟1 安裝軟體 1 anaconda 2 vscode 3 vscode安裝的外掛程式 4 anaconda的使用 下面的命令需要在anaconda中的命令列中輸入 環境建立 conda create name yourenv python 2.7 name 也可以縮寫為 n yourenv 是新...

初級演算法學習小組 任務1 線性回歸演算法梳理

監督學習研究的是屬性x和輸出值y之間的關係。無監督研究的是屬性和屬性之間的關係,這時候沒有輸出值或者標籤值y。我們學得的模型,它作用於新樣本的表現能力,稱為泛化能力。模型對訓練集適配得很好,模擬得很好,在測試集上卻表現很差,叫作過擬合。這時候方差會比較大。過擬合是無法完全避免的,只能盡可能去減少過擬...

5 6 小組練筆1

背景 平面直角座標系 要求 定義乙個點類,資料成員至少包含 座標值x,y。函式成員至少包含 建構函式,move函式 可對點進行移動 定義乙個線類,資料成員至少包括 點類物件陣列指標 指向動態陣列的首位址 點的個數 n。函式成員至少包括 建構函式,複製建構函式,move函式 可對線進行平移 輸出該線各...