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