urldecode二次編碼

2022-08-23 14:12:09 字數 567 閱讀 4958

<?php 

if(eregi("hackerdj",$_get[id]))

$_get[id] = urldecode($_get[id]);

if($_get[id] == "hackerdj")

?>

定義:

語法:eregi(pattern,string)

傳入的id值,不能等於hackerdj

傳入的id值再經過urldecode解碼

如果此時,id值等於hackerdj

輸出flag

對傳入的id值進行url兩次編碼,一次是用於瀏覽器正常解碼,另一次用於**中解碼。

payload

%2568ackerdj解碼為%68ackerdj

繞過第乙個判斷

%68ackerdj解碼為hackerdj

繞過第二個判斷

得到flag

二次編碼注入

一般情況下,通過web瀏覽器提交的資料,php 會自動將其編碼回來,如admin 3d會變為admin 不同的指令碼語言對編碼的處理方式不同 php urldecode 3d 寬位元組注入和二次編碼注入 都是在面對php 或配置,對輸入的單引號進行轉義的時候,在處理使用者輸入資料時存在問題,可以繞過...

二次編碼注入

原理 php 中使用了urldecode 等編譯碼函式,放在了乙個尷尬的使用位置,與php自身編碼配合失誤 自己編寫乙個二次編碼注入的 mysql real escape string在urlencode之前,所以不能解決由於urlencode帶來的編碼問題 25 23是被自身編碼解決了的,編碼成 ...

Bugku urldecode二次編碼繞過

今日份ctf。2018年10月25日 這是一道 審計的題目。所以先來看看 eregi hackerdj get id get id urldecode get id if get id hackerdj 來整理一下說明緣由。種類的eregi就是在字串中進行匹配 然後urldecode這個,因為最近就...