本實踐的目標理解經常使用網絡攻擊技術的基本原理。Webgoat實踐下相關實驗。html
(1)SQL注入攻擊原理,如何防護git
原理:SQL注入便是指web應用程序對用戶輸入數據的合法性沒有判斷,攻擊者能夠在web應用程序中事先定義好的查詢語句的結尾上添加額外的SQL語句,以此來實現欺騙數據庫服務器執行非受權的任意查詢,從而進一步獲得相應的數據信息。github
防護:有一些軟件,好比安全狗。對輸入進行過濾,對數據庫增長保護。web
參考連接:
SQL注入攻擊原理以及基本方法sql
(2)XSS攻擊的原理,如何防護數據庫
詳見 實踐過程記錄-》something different
(3)CSRF攻擊原理,如何防護瀏覽器
原理安全
防護服務器
經過 referer、token 或者 驗證碼 來檢測用戶提交。cookie
儘可能不要在頁面的連接中暴露用戶隱私信息。
對於用戶修改刪除等操做最好都使用post 操做 。
避免全站通用的cookie,嚴格設置cookie的域。
參考連接:
CSRF攻擊原理及防護
這學期的實驗令我收穫頗多,知道了,哦,原來這樣攻擊就能夠達到什麼樣的效果。也深深地體會到了「沒有絕對的安全」,是該慶幸一下在我尚未那麼值錢的時候認識到了這一點哈哈哈。
感謝老師設置了分批實驗的實驗方式,讓我可以完成實驗,並有所得,不至於把不少精力浪費在「好難好崩潰好懷疑人生」的情緒上面。
感謝各位大佬寫得很是詳細的博客,救我汪命,哈哈哈。
XSS
1.Phishing with XSS 跨站腳本釣魚攻擊
2.Reflected XSS Attacks 反射型XSS攻擊
3.Reflected XSS Attacks 反射型XSS攻擊
CSRF
4.CSRF Prompt By-Pass
5.Cross Site Request Forgery(CSRF)
6.CSRF Token By-Pass
SQL
7.Blind String SQL Injection
8.LAB:SQL Injection(Stage 1:String SQL Injection)
9.LAB:SQL Injection(Stage 3:Numeric SQL Injection)
10.Database Backdoors
11.Command Injection
something different
原理
當存在「提取用戶提交的輸入並將其插入到服務器響應的HTML代碼中」這樣的功能時,就有可能有XSS漏洞。
XSS漏洞分爲如下三種:反射型XSS漏洞、存儲型XSS漏洞、基於DOM的XSS漏洞。
反射型
存儲型
基於DOM
圖片來自文檔:《Web安全滲透測試研究_蒲石》
舉例
1.釣魚攻擊:顯示相似的登陸界面,欺騙用戶輸入登陸信息
2.根據同源策略,瀏覽器不容許一個網站傳送的腳本訪問另外一個站點的Cookie,不然,會話就很容易被劫持。並且,只有發佈 Cookie 的站點可以訪問這些 Cookie,僅能在返回發佈站點的 HTTP 請求中提交 Cookie;只有經過該站點返回的頁面所包含或加載的 Java Script 才能訪問 Cookie。
因此另外一種攻擊方式爲:發帖誘導查看,帖界面包含獲取cookie的js代碼跳轉。獲取新cookie文件,將內容項替換新cookie,獲取新cookie權限。
3.餘弦新提出的一種利用方法爲:經過瀏覽器保存密碼和表單自動填充這兩種機制來獲取密碼。讓瀏覽器誤覺得是原來的登陸界面,從而將密碼和表單自動填入。
代碼
源碼下載:https://github.com/ezyang/htmlpurifier
http://htmlpurifier.org/
工具使用:
https://blog.csdn.net/hanzengyi/article/details/43019479
https://www.jianshu.com/p/bf8a816fde47
有關XSS的代碼:
http://www.javashuo.com/article/p-tadteosw-et.html
防範
1.養成良好的上網習慣:不隨意打開連接
2.開發者採起相應的防護措施:完善過濾策略、使用安全編碼、謹慎使用DOM操做、靜態分析、動態分析(詳見《XSS漏洞綜述》)