views: 2684 times
超大字體(180%)放大字體(130%)原始字體(100%)
header函數被用來在輸出內容給瀏覽器之前送出一個http頭,儘管是很簡單的操作但是還是可能帶來安全問題
Example:
$charset=$_GET[$charset];
@header('Content-Type: text/html; charset='.$charset);
.....
.....
?>
上面的這段代碼有問題沒有呢?在正常情況下是沒有的,但是如果我們瞭解http協議就知道這是有問題的。對於HTTP頭
,也是有分割字符的,回車就是分割字符,也相當於HTTP協議裡的元字符,所以如果我們在$charset裡插入回車的話是
會構造出自己的HTTP頭的,甚至是內容哦!


這樣就可以看到效果,我們是可以偽造輸出的任何內容了,並且可以覆蓋以前提交的HEADER頭內容,但是在php5的時候我並沒有測試成功,譬如如下的代碼中:



如果我們按照上面的格式提交想偽造出文檔的內容就會發現失敗,我們一無所獲了是麼?呵呵,不是的,php會報告錯誤,然後順便把路徑也暴露出來了!
創用 CC 授權
Creative Commons License
本創作適用 姓名標示-非商業性-禁止改作 3.0 創用 CC 授權,台灣並依循所適用的授權條款。

Bookmarks

 HEMiDEMi  Technorati  Del.icio.us  Digg  funP  Yahoo!  Furl
 相關文章 
2008/12/29 19:44 2008/12/29 19:44
Posted by Ken.

Trackback URL : http://fall-leaf.net/blog/somebody/trackback/17


Leave your greetings here.

[登入][OpenID是?]
« Previous : 1 : ... 16 : 17 : 18 : 19 : 20 : 21 : 22 : 23 : 24 : ... 43 : Next »