天天看點

二次urldecode注入

如果在網站中使用了urldecode或者rawurldecode函數,則會導緻二次解碼生成單引号而引發注入。

原理是我們送出參數到WebServer時,WebServer會自動解碼一次,假設目标程式開啟了GPC,我們送出/1.php?id=1%25%27,因為我們送出的參數裡面沒有單引号,是以第一次解碼後的結果為id=1%27,%25解碼的結果是%,如果程式裡面使用了urldecode或者rawurldecode函數來解碼id參數,則解碼後的結果是id=1'單引号成功出現引發注入。

tips:

可以通過搜尋urldecode和rawurldecode函數來挖掘二次urldecode注入漏洞。

%25編碼會成為%

%27編碼會成為'

浏覽器會把非字母數字進行編碼,而"%"+"字母的ascii碼的十六進制"解碼會成為對應的字母

例如%61就會被解碼為a