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