PHP 雙字節(jié)、寬字節(jié)編碼漏洞
還是用一個demo.php顯示效果,代碼如下:
<?php
header("Content-Type:text/html;Charset=gb2312");
echo $_GET["str"]; //受污染的,但還有gpc
echi "<br/>";
echo addslashes($_GET["str"]); //調用addslashes函數過濾有害字符
?>
此時gpc=on。先看結果
1) http://127.0.0.1/demo.php?str=php

2) http://127.0.0.1/demo.php?str=php'

3) http://127.0.0.1/demo.php?str=%d5'

實例2中,php被gpc和addslashes過濾了,但3卻沒有。
這個%d5'也可以寫出%d5%27。當提交%d5'時 ' 會被轉義,整個字符為 %d5\',\的編碼為5c。
而%d5%5c高8位合并編碼為漢字誠,\被我們非法利用,最終%d5'經轉義合并編碼為“誠' ”進入sql不做過濾。
要了解這些先要百度一下所謂的“雙字節(jié)”,也可以參考 http://bbs.7747.net/simple/?t105469.html
一篇老文,因為臨時要用到,就拉過來學習一下。
另附文章《雙字節(jié)編碼 php的隱形殺手》的下載地址,《黑客防線2009精華奉獻本》上下冊
版權聲明:本站文章來源標注為YINGSOO的內容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網站,禁止在非maisonbaluchon.cn所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內容來源于網友推薦、互聯網收集整理而來,僅供學習參考,不代表本站立場,如有內容涉嫌侵權,請聯系alex-e#qq.com處理。
關注官方微信