我接受用戶文本並在頁面上回顯(代碼也轉到數據庫,但這是準備查詢,所以不用擔心)。我想知道是否有可能引起的安全隱患?在服務器方面,我的意思是,我知道在客戶端你可以打破,但你可以達到服務器端?迴應用戶輸入的文本的安全問題
我需要知道,如果像eval這樣的東西可能可以用這種情況下完成。
我接受用戶文本並在頁面上回顯(代碼也轉到數據庫,但這是準備查詢,所以不用擔心)。我想知道是否有可能引起的安全隱患?在服務器方面,我的意思是,我知道在客戶端你可以打破,但你可以達到服務器端?迴應用戶輸入的文本的安全問題
我需要知道,如果像eval這樣的東西可能可以用這種情況下完成。
您解釋的情況稱爲XSS。藉助XSS漏洞可能會危及您的服務器,但它確實需要其他的東西才能實現。
假設您擁有管理員帳戶,該帳戶有權通過網絡對您的服務器進行配置更改。現在,如果攻擊者創建XSS鏈接並以某種方式讓管理員點擊它,他的帳戶就會受到攻擊。
一旦攻擊者有管理員權限,他就可以系統地控制整個系統。最近發生在Apache - read their article on it。這是我見過的安全事件中最好的寫法,你會從中學到很多東西。
如果您直接使用用戶輸入查詢SQL數據庫,則可能會受到SQL注入的影響。只是谷歌它的例子。
編輯:哦,我錯過了文字說,你只是回聲的文字。嗯,好吧,也許用戶可以在評估用戶輸入時發佈PHP命令。但我不知道爲什麼你應該這樣做,因爲那時用戶可以向服務器發出任何PHP命令(這是明確的安全風險)...
我不是做評估..所以這種情況下不存在.. – pinaki 2010-09-08 07:43:31
用途:
echo htmlentities($string);
無處不在。除非你想打開你的應用程序到幾十個可能的攻擊:
如果你需要一個呼應的HTML標記:將其保存到數據庫之前
1)使用HTMLPurifier上的HTML。
2)我推薦使用XHTML STRICT過濾。
3)禁止腳本,框架,像onclick這樣的屬性等標籤。輸入HTML的標籤和屬性用戶永遠不需要的列表非常長。只要限制他們可能需要的東西,例如:p,ol,ul,h1,h2,h3,dl,abbr,img(這些可能是危險的,很多可能通過img標籤攻擊,小心),(detto)表,也許更少。
+1。漂亮的文章..你錯過了整點雖然..我不擔心客戶端注入和它可以有什麼影響..我需要知道它是否可以有任何服務器端影響。感謝你的努力。 – pinaki 2010-09-08 07:41:54
@pinaki - 它也會影響服務器端,**如果**您正在根據用戶提供的內容做某種服務器包含/評估。例如,看到這個頁面 - http://www.owasp.org/index.php/File_System#Includes_and_Remote_files – 2010-09-08 08:35:41
@pinaki ..但除此之外,XSS不能直接對服務器造成傷害;它是一個客戶端的事情。 – 2010-09-08 08:36:31