摘要:防范措施轉義驗證用戶輸入攻擊指跨域請求偽造,這是一種近年來才逐漸被大眾了解的攻擊方式。防范措施正確使用方法令牌效驗其中令牌是比較常用的方法,具體做法是在表單提交中添加一些偽隨機數,即令牌,這里我們就不詳細展開。
簡單總結一下日常web開發中會出現的一些安全問題,以Flask框架為例
注入攻擊(Injection)注入攻擊主要包括系統命令注入,SQL注入,NoSQL注入,和ORM注入等,這里我們簡單介紹一下SQL注入
攻擊原理在編寫SQL語句時,如果直接將用戶傳入的輸入作為參數使用字符串拼接的方式插入到SQL查詢中的話,攻擊者則可以利用SQL語句篡改,竊取數據庫的信息。
攻擊實例@app.route("/student") def get_table(): password = request.args.get("password") cur = db.execute("SELECT * FROM students WHERE password="%s;" % password) results = cur.fetchall() return results
如果攻擊者輸入的值為"or 1=1--",這意味著會返回students表中的所有數據;或者輸入"; drop table users; --",會刪除students表中的所有數據。
主要防范方法使用ORM
驗證輸入類型
轉義特殊字符
XSS攻擊XSS(Cross-Site Scripting)即跨站腳本攻擊,為了避免與CSS層疊樣式表產生命名沖突,用X來表示Cross(交叉)
攻擊原理XSS其實是注入攻擊的一種,通過將代碼注入被攻擊者的網站中,用戶一旦訪問便會執行被注入的惡意腳本。其中,XSS攻擊主要分為反射型XSS攻擊和存儲型XSS攻擊兩種。
攻擊示例反射型XSS又稱為非持久型XSS,當某個站點存在XSS漏洞時,可以通過URL注入惡意腳本,當用戶訪問這個URL時,就會執行攻擊腳本。
@app.route("hello") def hello(): name = request.args.get("name") response = "Hello, %s
" % name return response
如果用戶輸入一段javascript代碼,如訪問http://example.com/hello/,客戶端介紹到響應后,瀏覽器就會執行這段代碼,當然這個示例代碼不會構成任何威脅,但這意味著可以執行任意的js代碼,鬼知道攻擊者會做些什么!
存儲型XSS也被稱為持久型XSS,它和反射型XSS的行為類似,不過會把植入的惡意代碼存儲到數據庫中,如在留言區寫入一段重定向代碼,這會導致用戶在訪問留言區頁面時被重定向到一些惡意站點。
防范措施HTML轉義
驗證用戶輸入
CSRF攻擊CSRF(Cross Site Request Forgery)指跨域請求偽造,這是一種近年來才逐漸被大眾了解的攻擊方式。
攻擊原理攻擊者利用用戶在瀏覽器中保存的認證信息,向對應的站點發送偽造請求。如用戶登錄了A網站,認證信息保存在cookie中,當用戶訪問惡意網站B時,攻擊者通過B網站發送一個偽造的請求提交到A網站服務器上,這會讓A網站誤以為請求來自于自己的網站,從而可以讓攻擊者成功篡改某些信息。
攻擊示例假設服務器端刪除用戶賬戶的視圖操作為
@app.route("/account/delete") def delete_account(): if not current_user.authenticated: abort(401) current_user.delete() return "deleted!"
當用戶登錄后,只要訪問https://example.com/account/delete就會刪除賬戶,那么在攻擊者的網站上,只要創建一個顯示圖片的img,其中的src的屬性加入刪除賬戶的URL,當用戶訪問B網站時,瀏覽器解析網頁會自動向該鏈接發送請求,此時你的登錄信息就保存在瀏覽器的cookie中,因此,僅僅是訪問B網站就會導致刪除賬戶。
防范措施正確使用HTTP方法
CSRF令牌效驗
其中CSRF令牌是比較常用的方法,具體做法是在表單提交中添加一些偽隨機數,即CSRF令牌(token),這里我們就不詳細展開。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/43495.html
摘要:今天,我們就離大廠更近一點,共同學習阿里這份阿里巴巴集團安全測試規范阿里巴巴集團安全測試規范阿里巴巴集團安全測試規范背景簡介為了規避安全風險規范代碼的安全開發,以及如何系統的進行安全性測試,目前缺少相應的理論和方法支撐。 很多人都知道,在學校學的技術,初創公司的技術,外包公司的技術,自研公司...
摘要:黑體本系列講解安全所需要的和黑體安全基礎我的第一個網頁黑體安全基礎初識黑體安全基礎初識標簽黑體安全基礎文件夾管理網站黑體安全基礎模塊化黑體安全基礎嵌套列表黑體安全基礎標簽拓展和屬性的使用黑體安全基礎嵌套本系列講解WEB安全所需要的HTML和CSS #WEB安全基礎 : HTML/CSS | 0x0 我的第一個網頁 #WEB安全基礎 : HTML/CSS | 0x1初識CSS #WEB安全基...
摘要:為使用七層負載均衡的用戶,提供安全高效的應用防護能力。基于負載均衡集群的運維能力,可快速進行擴容容災遷移的部署。伴隨著互聯網+時代的到來,Web系統作為企業IT業務的基本負載平臺,承載著各種不同種類的信息業務。但近年來針對Web應用的攻擊事件頻發,也讓Web應用的安全防御面臨著諸多挑戰。國家互聯網應急中心報告就曾顯示,僅2020上半年國家信息安全漏洞共享平臺(CNVD)收錄通用型安全漏洞11...
摘要:的安全比你想象的還要差大會結束了,發表了題為的演說。宣稱,根據可供選擇的類庫來倒騰你自己的棧,這種思想方法導致了系統級的安全問題。對于而言,安全的會話管理只有非常少量的被證明過的最佳實踐。安全頭在應用程序,沒有集中的類庫來居中管理安全頭。 Clojure的web安全比你想象的還要差 ClojureWest大會結束了,Aaron Bedra發表了題為 Clojure.web/with-...
閱讀 999·2021-11-15 18:06
閱讀 2367·2021-10-08 10:04
閱讀 2652·2019-08-28 18:03
閱讀 898·2019-08-26 13:42
閱讀 1920·2019-08-26 11:31
閱讀 2423·2019-08-23 17:13
閱讀 926·2019-08-23 16:45
閱讀 2055·2019-08-23 14:11