對於xss和sql注入這樣的漏洞有很多工具是可以檢測的。
也是最常見的web安全問題。
其實這樣的問題是很好避免的 只要在應用架構上 統一數據的吞吐,在吞吐的過程中做好數據的校驗就ok了
最簡單的php的 htmlspecialchars 就可以把一些危險字符進行轉譯
就可以大大減低xss和sql注入的可能性
也可以結合其他的函數進行更全面的過濾
http://blog.csdn.net/u014017080/article/details/53064300
其實最主要的是要做到數據的統一管理
在應用架構上保持統一的數據出口和入口是很必要的。對於GET POST的數據統一過濾之後在渲染進應用
總結:
1.入口過濾危險字符 2.出口控制危險輸出
eg: 就像<script>決定的危險字符在插入數據的時候 直接替換成空。其餘的像 “ ‘ / 等等 統一轉譯 \" \' \/ 吐出數據的時候統一轉換成 “ ‘ / 或者 直接轉換成html源碼 < :< >:>
=================下面是一個美團的例子==================
首先在評論的地方我輸入了一個<script>alert(1)</script>,發現在展示的時候<> 是會被轉移成html編碼來展示的 這樣的話就沒有辦法了,囧。。。。
不過通過查看源碼 我發現當點擊編輯的時候 在txtarea中 文字是會被轉譯會原始字符展示的。所以我自己構造一個txtarea的閉合標籤然後在<script>alert(1)</script>
這樣就可以構造一段js注入</txtarea><script>alert(1)</script>
這樣alert(1)就成功的注入進去了。but,這是個selfxss 所以不能幹什麼壞事。。。。。這是寫一個簡單的例子。 大家也可以自己試試哈 評價的時候輸入</txtarea><script>alert(1)</script>然後刷新頁面就可以了。