2016-04-30 45 views
0

我希望有人能在這個關閉之前提供建議或提示,因爲我被告知這是一個主觀問題。你可以通過保存由tinyMCE,QuillJS等文本編輯器生成的HTML代碼來入侵嗎?

我有我自己的PHP + SQL框架做出了苗條和雄辯,並計劃在其中集成一個論壇,並使其更加用戶友好,我打算在論壇發佈添加免費文本編輯器。

顯然,這些文本編輯器通過POST發送HTML代碼,並且我計劃將它們保存在MySQL數據庫中。而且由於其雄辯,我很理解它已經處理了準備好的聲明以避免注入。但是我不確定是否足夠安全,我瀏覽phpBB,直到今天還沒有任何漂亮的文本編輯器(或者尚未開發爲3.2版本),並且我瀏覽了他們對安全性的擔憂,而我因爲他們是老手,所以更加緊張。

你能通過這些簡單的HTML代碼注入嗎?還有哪些其他攻擊可以用於我的系統?

謝謝!

+1

大多數富文本編輯器應該爲您處理這個問題。但你應該閱讀你打算使用的特定文檔 – 2016-04-30 03:19:52

+1

@Dagon Umm,不是真的。即使他們這樣做,您也需要*來清理輸入服務器端。接受和消毒用戶提供的HTML是非常棘手的業務。許多網絡應用程序不這樣做,而是使用諸如減價之類的東西。 –

+1

他說他已經使用了準備好的陳述..所以它不是在這一點上它的問題 - 以及我讀這個問題的方式。 – 2016-04-30 03:39:11

回答

1

只要你escape插入SQL查詢之前的一切,數據庫將是安全的......從最簡單的SQL注入形式。

爲了防止JavaScript注入,在刪除<script>標記之前,必須先清除服務器端的標記,然後再插入數據庫。您可能還想要刪除iframelink和表單標籤。

您還必須在客戶端配置內容過濾。例如,TinyMCE有invalid_elements option,您可以在其中列出要刪除的標籤。

系統支持的功能越多,顯然風險就越大。例如,黑客可以上傳一個名稱包含shell表達式的文件,如$(rm -rf /www/).png。因此,如果服務器上的某個人意外地在這種類型的文件名上運行eval,服務器將被黑客入侵。另一個例子是上傳一個看起來像和圖像的腳本。

我想,列出更多可能的方式來破解系統沒有意義。您的問題的答案是:是的,系統可以通過使用流行的Web編輯器進行黑客攻擊。所以我建議儘量減少暴露給用戶的功能數量,並徹底清理用戶輸入,,特別是在服務器端

+0

非常感謝,這會給我動力。 –

相關問題