抓包檢視 什麼也沒有 那就掃一下目錄吧 御劍開啟
發現了index.phps 可能你沒掃到 那說明你該把它新增到你的字典裡了
訪問
感覺好像少了點什麼,檢視一下源**
讓我們傳入乙個id 不能直接傳入admin 但是對id使用urldecode以後的值還必須是admin 這個時候就要使用url二次編碼了
說一下我對url二次編碼的理解
當我們在url輸入資料的時候,url會對其進行url編碼 比如輸入空格的時候會自動編碼為%20 而當伺服器在接收這些資料的時候會自動進行url解碼
可以看到當我使用hackbar的load時,url中的'變成了%27,當伺服器接到資料後 %27又會被解碼為'
二次編碼就是在%27的基礎上再進行一次編碼 就會變成%2527 因為%進行url編碼以後為%25
這道題就利用了這個原理,當看到php裡有urldecode的時候就要想到二次編碼
我們對admin進行url編碼,使用御劍1.5的內建編碼工具
對其再次進行url編碼 就是%2561%2564%256d%2569%256e
當我們以這種形式輸入到url中時,伺服器端會解碼為%61%64%6d%69%6e而不是admin,而php urldecode會再次解碼為admin 這樣就繞過了上面的限制並且滿足了下面的條件
最後拿到flag
二次編碼注入
一般情況下,通過web瀏覽器提交的資料,php 會自動將其編碼回來,如admin 3d會變為admin 不同的指令碼語言對編碼的處理方式不同 php urldecode 3d 寬位元組注入和二次編碼注入 都是在面對php 或配置,對輸入的單引號進行轉義的時候,在處理使用者輸入資料時存在問題,可以繞過...
urldecode二次編碼
if eregi hackerdj get id get id urldecode get id if get id hackerdj 定義 語法 eregi pattern,string 傳入的id值,不能等於hackerdj 傳入的id值再經過urldecode解碼 如果此時,id值等於hack...
二次編碼注入
原理 php 中使用了urldecode 等編譯碼函式,放在了乙個尷尬的使用位置,與php自身編碼配合失誤 自己編寫乙個二次編碼注入的 mysql real escape string在urlencode之前,所以不能解決由於urlencode帶來的編碼問題 25 23是被自身編碼解決了的,編碼成 ...