国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

理解什么是sql注入攻擊 + xss攻擊 + cors 攻擊

這篇具有很好參考價值的文章主要介紹了理解什么是sql注入攻擊 + xss攻擊 + cors 攻擊。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

SQL注入

SQL注入就是通過把SQL命令插入到Web表單提交或輸入域名或頁面請求的查詢字符串,最終達(dá)到欺騙服務(wù)器執(zhí)行惡意的SQL命令。
SQL注入攻擊的總體思路:

  • 尋找到SQL注入的位置
  • 判斷服務(wù)器類型和后臺數(shù)據(jù)庫類型
  • 針對不同的服務(wù)器和數(shù)據(jù)庫特點(diǎn)進(jìn)行SQL注入攻擊

SQL注入攻擊實(shí)例:
比如,在一個登錄界面,要求輸入用戶名和密碼,可以這樣輸入實(shí)現(xiàn)免帳號登錄:

用戶名: ‘or 1 = 1 --
密 碼:

用戶一旦點(diǎn)擊登錄,如若沒有做特殊處理,那么這個非法用戶就很得意的登陸進(jìn)去了。這是為什么呢?
下面我們分析一下:從理論上說,后臺認(rèn)證程序中會有如下的SQL語句:

String sql = “select * from user_table where username=’ “+userName+” ’ and password=’ “+password+” ‘”;

因此,當(dāng)輸入了上面的用戶名和密碼,上面的SQL語句變成:

SELECT * FROM user_table WHERE username=’’or 1 = 1- and password=’’

分析上述SQL語句我們知道,username=‘ or 1=1 這個語句一定會成功;然后后面加兩個 -,這意味著注釋,它將后面的語句注釋,讓他們不起作用。這樣,上述語句永遠(yuǎn)都能正確執(zhí)行,用戶輕易騙過系統(tǒng),獲取合法身份。

如何應(yīng)對:

  • 參數(shù)綁定
    使用預(yù)編譯手段,綁定參數(shù)是最好的防SQL注入的方法。目前許多的ORM框架及JDBC等都實(shí)現(xiàn)了SQL預(yù)編譯和參數(shù)綁定功能,攻擊者的惡意SQL會被當(dāng)做SQL的參數(shù)而不是SQL命令被執(zhí)行。在mybatis的mapper文件中,對于傳遞的參數(shù)我們一般是使用 # 和$來獲取參數(shù)值。
    當(dāng)使用#時,變量是占位符 ,就是一般我們使用javajdbc的PrepareStatement時的占位符,所有可以防止sql注入;當(dāng)使用 $ 時,變量就是直接追加在sql中,一般會有sql注入問題。
  • 使用正則表達(dá)式過濾傳入的參數(shù)

XSS攻擊

它指的是惡意攻擊者往Web頁面里插入惡意html代碼,當(dāng)用戶瀏覽該頁之時,嵌入其中Web里面的html代碼會被執(zhí)行,從而達(dá)到惡意攻擊用戶的特殊目的。
XSS的攻擊方式就是想辦法“教唆”用戶的瀏覽器去執(zhí)行一些這個網(wǎng)頁中原本不存在的前端代碼。
我們常用的留言板就可以產(chǎn)生XSS攻擊(持久性),我們知道留言板通常的任務(wù)就是把用戶留言的內(nèi)容展示出來。
正常情況下,用戶的留言都是正常的語言文字,留言板顯示的內(nèi)容也就沒毛病。然而這個時候如果有人不按套路出牌,在留言內(nèi)容中丟進(jìn)去一行:

<script>alert(“這是一個攻擊”)</script>

那么留言板界面的網(wǎng)頁代碼就會變成形如以下:

那么這個時候問題就來了,當(dāng)瀏覽器解析到用戶輸入的代碼那一行時會發(fā)生什么呢?答案很顯然,瀏覽器并不知道這些代碼改變了原本程序的意圖,會照做彈出一個信息框。就像這樣:

<html>
    <head>
       <title>留言板</title>
    </head>
<body>
<div id=”board” 
        <script>alert(“這是一個攻擊”)</script>
</div>     
    </body>
</html>

非持久 XSS攻擊:攻擊者注入的數(shù)據(jù)反映在響應(yīng)中,一個典型的非持久性XSS攻擊包含一個帶XSS攻擊向量的鏈接(每次攻擊需要用戶點(diǎn)擊),比如:
正常發(fā)送消息:

http://www.test.com/message.php?send=Hello,World!

非正常發(fā)送消息:
接收者接收消息顯示的時候?qū)棾鼍娲翱?/p>

http://www.test.com/message.php?send=<script>alert(‘foolish!)</script>!

XSS攻擊的主要原因就是過于信任客戶端提交的數(shù)據(jù)。
解決方法是不信任任何客戶端提交的數(shù)據(jù),只要是客戶端提交的數(shù)據(jù)就應(yīng)該先進(jìn)行相應(yīng)的過濾處理然后方可進(jìn)行下一步的操作。
解決的具體方案:

  • 將重要的cookie標(biāo)記為http only, 這樣的話Javascript 中的document.cookie語句就不能獲取到cookie了(如果在cookie中設(shè)置了HttpOnly屬性,那么通過js腳本將無法讀取到cookie信息,這樣能有效的防止XSS攻擊);
  • 表單數(shù)據(jù)規(guī)定值的類型,例如:年齡應(yīng)為只能為int、name只能為字母數(shù)字組合
  • 對數(shù)據(jù)進(jìn)行Html Encode 處理(對HTML轉(zhuǎn)義)
  • 過濾或移除特殊的Html標(biāo)簽,例如: < script >, < iframe > , < for <, > for>, ” for
  • 過濾JavaScript 事件的標(biāo)簽,例如 “οnclick=”, “onfocus” 等等
    **需要注意的是:**在有些應(yīng)用中是允許html標(biāo)簽出現(xiàn)的,甚至是javascript代碼出現(xiàn)。因此,我們在過濾數(shù)據(jù)的時候需要仔細(xì)分析哪些數(shù)據(jù)是有特殊要求(例如輸出需要html代碼、javascript代碼拼接、或者此表單直接允許使用等等),然后區(qū)別處理!

CORS攻擊

CORS是一個W3C標(biāo)準(zhǔn),全稱是”跨域資源共享”(Cross-origin resource sharing)。它允許瀏覽器向跨源服務(wù)器,發(fā)出XMLHttpRequest請求,從而克服了AJAX只能同源使用的限制。
Cors漏洞就是攻擊者利用Cors技術(shù)來獲取用戶的敏感數(shù)據(jù),從而導(dǎo)致用戶敏感信息泄露。
CORS請求可分為兩類:

  • 簡單請求:請求方式為GET,POST,HEAD這三種之一,并且HTTP頭不超出(Accept,Accept-Language,Content-Language,Lat-Event-ID,Content-Type)這幾種字段。
    Origin字段用來說明,本次請求來自哪個源(協(xié)議 + 域名 + 端口)
GET /cors HTTP/1.1
Origin: http://api.bob.com
Host: api.alice.com
Accept-Language: en-US
Connection: keep-alive
User-Agent: Mozilla/5.0

當(dāng)瀏覽器發(fā)現(xiàn)服務(wù)器的請求為簡單請求時,會在頭信息里加入Origin字段。Origin字段代表此次請求來自哪個域服務(wù)器就可以檢驗(yàn)是否來自該域。如果匹配,服務(wù)器就會在響應(yīng)里增添三個字段:
1.Access-Control-Allow-Origin
2.Access-Control-Allow-Credentials
3.Access-Control-Expose-Headers
其中 Access-Control-Allow-Origin是必須有的,而剩下兩個可有可無。Access-Control-Allow-Origin字段代表允許哪個域訪問。當(dāng)字段值為‘*’時,就代表任意域都可以訪問,這樣,就導(dǎo)致了Cors漏洞的產(chǎn)生(可被截取到用戶信息)。
理解什么是sql注入攻擊 + xss攻擊 + cors 攻擊文章來源地址http://www.zghlxwxcb.cn/news/detail-417222.html

  • 非簡單請求:非簡單請求是那種對服務(wù)器有特殊要求的請求,比如請求方法是PUT或DELETE,或者Content-Type字段的類型是application/json。
    非簡單請求的CORS請求,會在正式通信之前,增加一次HTTP查詢請求,稱為"預(yù)檢"請求(preflight)
    瀏覽器先詢問服務(wù)器,當(dāng)前網(wǎng)頁所在的域名是否在服務(wù)器的許可名單之中,以及可以使用哪些HTTP動詞和頭信息字段。只有得到肯定答復(fù),瀏覽器才會發(fā)出正式的XMLHttpRequest請求,否則就報錯。
    解決:
    1.不要將Access-Control-Allow-Origin字段設(shè)置為*
    2.嚴(yán)格校驗(yàn)Origin字段的值
    3.HTTPS 網(wǎng)站不要信任HTTP 域
    4.不要信任全部自身子域,減少攻擊面

到了這里,關(guān)于理解什么是sql注入攻擊 + xss攻擊 + cors 攻擊的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 萬字講解9種Web應(yīng)用攻擊與防護(hù)安全。XSS、CSRF、SQL注入等是如何實(shí)現(xiàn)的

    萬字講解9種Web應(yīng)用攻擊與防護(hù)安全。XSS、CSRF、SQL注入等是如何實(shí)現(xiàn)的

    OWASP(開放Web軟體安全項(xiàng)目- Open Web Application Security Project) 是一個開源的、非盈利的全球性安全組織,致力于應(yīng)用軟件的安全研究。使命 是使應(yīng)用軟件更加安全,使企業(yè)和組織能夠?qū)?yīng)用安全風(fēng)險做出更清晰的決策。 http://www.owasp.org.cn/ OWASP在業(yè)界影響力: OWASP被視為web應(yīng)用

    2023年04月15日
    瀏覽(20)
  • 什么是SQL注入攻擊,解釋如何防范SQL注入攻擊?

    SQL注入攻擊是一種常見的網(wǎng)絡(luò)攻擊方式,攻擊者通過在Web應(yīng)用程序的查詢語句中插入惡意代碼,從而獲取數(shù)據(jù)庫中的敏感信息或者執(zhí)行其他惡意操作。 為了防范SQL注入攻擊,可以采取以下措施: 使用參數(shù)化查詢:使用參數(shù)化查詢可以避免攻擊者通過查詢語句中的參數(shù)注入惡

    2024年02月10日
    瀏覽(22)
  • 【Node.js實(shí)戰(zhàn)】一文帶你開發(fā)博客項(xiàng)目之安全(sql注入、xss攻擊、md5加密算法)

    【Node.js實(shí)戰(zhàn)】一文帶你開發(fā)博客項(xiàng)目之安全(sql注入、xss攻擊、md5加密算法)

    個人簡介 ?? 個人主頁: 前端雜貨鋪 ???♂? 學(xué)習(xí)方向: 主攻前端方向,也會涉及到服務(wù)端 ?? 個人狀態(tài): 在校大學(xué)生一枚,已拿多個前端 offer(秋招) ?? 未來打算: 為中國的工業(yè)軟件事業(yè)效力n年 ?? 推薦學(xué)習(xí):??前端面試寶典 ??Vue2 ??Vue3 ??Vue2Vue3項(xiàng)目實(shí)戰(zhàn) ??

    2024年02月03日
    瀏覽(26)
  • 深入理解 SQL 注入攻擊原理與防御措施

    SQL 注入是一種常見的網(wǎng)絡(luò)攻擊方式,攻擊者通過在輸入框等用戶交互界面中插入惡意 SQL 語句,從而獲取、篡改或刪除數(shù)據(jù)庫中的數(shù)據(jù)。本文將詳細(xì)解釋 SQL 注入的原理,并介紹如何通過編碼規(guī)范和防御措施來預(yù)防這種攻擊。 SQL 注入攻擊的核心原理是將惡意構(gòu)造的 SQL 語句注

    2024年02月11日
    瀏覽(19)
  • SpringCloud微服務(wù)實(shí)戰(zhàn)——搭建企業(yè)級開發(fā)框架:微服務(wù)安全加固—自定義Gateway攔截器實(shí)現(xiàn)防止SQL注入/XSS攻擊

    ?SQL注入是常見的系統(tǒng)安全問題之一,用戶通過特定方式向系統(tǒng)發(fā)送SQL腳本,可直接自定義操作系統(tǒng)數(shù)據(jù)庫,如果系統(tǒng)沒有對SQL注入進(jìn)行攔截,那么用戶甚至可以直接對數(shù)據(jù)庫進(jìn)行增刪改查等操作。 ??XSS全稱為Cross Site Script跨站點(diǎn)腳本攻擊,和SQL注入類似,都是通過特定方

    2024年02月03日
    瀏覽(25)
  • 1分鐘講清楚:什么是SQL注入攻擊?

    SQL注入是一種利用惡意應(yīng)用程序?qū)?shù)據(jù)庫進(jìn)行攻擊的方式。以前經(jīng)常在 狗血偶像劇 里面看到的,男主通過 攻擊學(xué)校應(yīng)用系統(tǒng) 修改自己成績的事情,一般就是利用 SQL注入漏洞 進(jìn)行的。 在 OWASP 發(fā)布的十大常見漏洞排行榜中, SQL注入漏洞 一直都是 危害排名極高 的漏洞。一個

    2024年02月11日
    瀏覽(15)
  • Spring Boot 中的 SQL 注入攻擊是什么,原理,如何預(yù)防

    Spring Boot 中的 SQL 注入攻擊是什么,原理,如何預(yù)防

    隨著互聯(lián)網(wǎng)的發(fā)展,Web 應(yīng)用程序的數(shù)量不斷增加,而 SQL 注入攻擊也成為了常見的網(wǎng)絡(luò)安全問題之一。SQL 注入攻擊是通過在 Web 應(yīng)用程序中注入惡意的 SQL 代碼,從而獲取或篡改數(shù)據(jù)庫中的數(shù)據(jù)。在 Spring Boot 中,由于使用了 ORM 框架(如 MyBatis、Hibernate 等),開發(fā)人員往往會

    2024年02月12日
    瀏覽(26)
  • XSS注入(跨站腳本攻擊)

    XSS注入(跨站腳本攻擊)

    今天學(xué)習(xí)一下xss注入 XSS注入漏洞又稱為\\\"跨站腳本攻擊(Cross Site Scripting)\\\",為了不和層疊樣式表(Cascading Style Sheets,CSS)混淆,所以將跨站腳本攻擊縮寫為XSS。xss本質(zhì)上是黑客通過對網(wǎng)頁的HTML注入,篡改了原本服務(wù)器發(fā)給客戶端的數(shù)據(jù)包,在其中插入了惡意的Script代碼插入到網(wǎng)頁

    2024年02月09日
    瀏覽(28)
  • 什么是 XSS 攻擊,攻擊原理是什么

    什么是 XSS 攻擊,攻擊原理是什么

    XSS(Cross-Site Scripting)攻擊是一種常見的 Web 安全漏洞,其攻擊目標(biāo)是 Web 應(yīng)用程序中的用戶,攻擊者通過在 Web 頁面中植入惡意腳本,從而實(shí)現(xiàn)竊取用戶敏感信息、篡改用戶數(shù)據(jù)等目的。 XSS 攻擊分為兩種類型:存儲型 XSS 和反射型 XSS。存儲型 XSS 攻擊是將惡意腳本存儲到服務(wù)

    2024年02月16日
    瀏覽(20)
  • XSS 攻擊是什么?怎么驗(yàn)證是否有XSS攻擊漏洞?

    XSS(跨站腳本,Cross-Site Scripting)攻擊是一種網(wǎng)絡(luò)攻擊,攻擊者利用網(wǎng)站漏洞將惡意腳本注入用戶的瀏覽器,從而在用戶瀏覽網(wǎng)頁時執(zhí)行惡意代碼。這種攻擊可能造成用戶敏感信息泄露、釣魚、欺詐等安全問題。 驗(yàn)證是否有 XSS 攻擊漏洞的方法: 手動測試:通過對輸入框、

    2024年02月11日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包