第一步,要使得"admin"===$_get[id]
不成立
第二步,經過$_get[id] = urldecode($_get[id]);
,使得$_get[id] == "admin"
成立。
當傳入引數id時,瀏覽器在後面會對非ascii碼的字元進行一次urlencode
然後在這段**中執行時,會自動進行一次urldecode
在urldecode()函式中,再一次進行一次解碼
urldecode(%2561)
=%61
urldecode(%61)
=a
即,當第一次比較時,實際是
if(
"admin"===
"%61dmin"
)
而經過
$_get
[id]
= urldecode(
$_get
[id]
);
第二次是
if(
"admin"
=="admin"
);
也不是只可以構造a,也可以構造d
urldecode(%2564)
=%64
urldecode(%64)
=d
即,當第一次比較時,實際是
if(
"admin"===
"a%61min"
)
而經過
$_get
[id]
= urldecode(
$_get
[id]
);
第二次是
if(
"admin"
=="admin"
);
所以?id=a%2564min
攻防世界php2 攻防世界高手高階web上
baby web 提示初始介面,嘗試index.php,則回跳轉到1.php,bp 抓包,可以看到flag在響應頭部的flag欄位 warmup 原始碼中有source.php highlight file file class emmm public static function checkfi...
攻防世界web高階題 unfinish
攻防世界web高階題 unfinish 1 看一下題目提示sql 2 開啟題目看一下原始碼,沒有問題 4 掃一下目錄,掃到乙個註冊頁面 register.php 註冊乙個賬號登入,登陸後的介面為 沒有可利用的地方,返回上一步,註冊,既然是sql注入,那就嘗試著繞過 登入後發現使用者名為2 猜測此處的...
攻防世界 web 高手高階區 PHP2
題目 首先發現原始碼洩露 檢視源 即 if admin get id get id urldecode get id if get id admin can you anthenticate to this website?分析 第一步,要使得 admin get id 不成立 第二步,經過 get...