本篇文章為大家展示了怎樣理解XSS,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
創(chuàng)新互聯(lián)是一家專業(yè)提供張灣企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、H5建站、小程序制作等業(yè)務(wù)。10年已為張灣眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進行中。
XSS跨站腳本攻擊(Cross Site Scripting),是將Java script代碼插入web頁面中,之后當用戶瀏覽頁面時, 會執(zhí)行嵌套在web頁面里面的Java script代碼,從而達到攻擊用戶的目的。為了跟HTML里面的層疊樣式表(CSS ,Cascading Style Sheets)作區(qū)分,所以叫作XSS.
攻擊者將含有惡意JavaScript代碼的URL發(fā)給用戶==>用戶打開URL==>web應(yīng)用程序?qū)粽叩腏avaScript做出回應(yīng)==>用戶瀏覽器向攻擊者發(fā)送會話信息==>攻擊者使用會話信息跟web服務(wù)器進行交互。
攻擊步驟:
(1)用戶正常登錄web應(yīng)用程序,登錄之后獲得一個cookie
(2)攻擊者將含有攻擊代碼的URL發(fā)送給用戶
(3)用戶打開URL
(4)Web服務(wù)器執(zhí)行該URL中用戶的請求,同時執(zhí)行該URL中所包含的的JavaScript代碼
(5)攻擊者可以使用的攻擊代碼的的可以將用戶的cookie信息發(fā)送到cookie_save.php
(6)攻擊者獲得用戶的cookie之后可以將這些信息進行登錄.
危害:可以給對方瀏覽器構(gòu)造一個惡意彈窗,可以在XSS里面加入惡意代碼或者惡意鏈接等
打個比喻alert(“XSS”),如果換成inframescr=http://127.0.0.1.exe),如果http://127.0.0.1.exe是一個木馬之后瀏覽這個頁面的網(wǎng)站管理員跟用戶都會感染木馬
web執(zhí)行惡意代碼構(gòu)造URL==>用戶訪問這個網(wǎng)站==>在這瀏覽器中執(zhí)行惡意JavaScript代碼==>將cookie等重要參數(shù)返回到攻擊者
危害:可以獲取用戶的信息,cookie等。
在本文XSS實驗中,我們用彈窗作為現(xiàn)象。為什么我們在這里用彈窗呢,因為彈窗最明顯
我們打開DVWA中的XSS(Reflection)
之后我們在what’s your name?里面任意輸入一個東西就會返回hello,下面我們以1為例。
我們也可以在這輸入XSS腳本我們這拿alert(2)舉例子
我們可以構(gòu)造一個彈窗,我們用burp抓一下包丟到掃描器里面掃一下得到了以下結(jié)果。
下面,我們來看一下這個結(jié)果的報告
漏洞詳情(Issue detail):
name請求參數(shù)的值作為標簽之間的純文本復(fù)制到HTML文檔中.它的payload(arz4valert(1)pxrmb)中已經(jīng)將name參數(shù)中提交.由于該參數(shù)在瀏覽器中未被過濾,所以可以將Java script注入到這個應(yīng)用響應(yīng)中
DVWA中級別的方法是利用嵌套進繞過
。在中級別xss會過濾標簽,但是不會進行反復(fù)過濾。
我們看一下中級的代碼:
', '', $_GET[ 'name' ] ); $name = str_replace( '。在beef里面出現(xiàn)如下界面。這個之后我們雙擊127.0.0.1之后進入這個頁面
之后我們點擊Commands(命令)之后在這里面輸入cookie
之后我們回車,并點擊get cookie
之后點擊Execute(執(zhí)行)。之后就會彈回來cookie去掉輸入中的引號
問題背景(Issue background):
當一個數(shù)據(jù)請求以不安全的方式返回到應(yīng)用程序響應(yīng)中的時候,我們就可以判斷這是個發(fā)射去掉輸入中的引號
型XSS.我們可以構(gòu)建一個請求,如果由另外一個用戶觸發(fā),我們寫的惡意Java script代碼就可以在對方瀏覽器運行.我們寫的Java script代碼可以進行各種操作,例如竊取cookie用受害人的身份登錄,進行操作.
XSS的傳播方式
1.可以通過郵件或者某些其他的通訊方式,給受害者發(fā)送一個含有惡意URL的鏈接
2.在一些熱門網(wǎng)站的評論區(qū)進行惡意Javascript代碼插入
3.可以創(chuàng)建一個網(wǎng)站之后讓所有人都可見,以便于對用戶發(fā)起XSS攻擊(GET或者POST請求)進行跨域
XSS的影響:
XSS受影響程度取決于受攻擊的人,其包含的數(shù)據(jù)和功能會不會影響同一個域內(nèi)的其他人或者其他應(yīng)用程序.如果是在某一個不重要的位置,例如某個不敏感而且沒有身份驗證或者控制訪問的地方,XSS幾乎沒有什么用.如果是在關(guān)鍵的地方,例如cookie里面,這樣就會威脅到其他的應(yīng)用程序所以被判定為危險.同樣如果XSS被用到釣魚上面,那么XSS就會增加用戶的信任,同時安全軟件也不會警告.從而使用木馬進行進一步攻擊。
防御策略:
1.在輸入的地方進行嚴格的驗證,例如個人信息的長度,電子郵箱的正則表達式的匹配.也就是我們俗稱的白名單.
2.把用戶輸入任何位置的信息進行HTML編碼,將用戶輸入所有<>和””進行替換.在應(yīng)用程序中限制用戶使用HTML標簽跟熟悉.
4.限制輸入字符
5.去掉輸入中的引號
6.對輸入的URL進行解碼,之后進行編碼
7.將重要的cookie標記為http only
攻擊姿勢
竊取cookie的XSS代碼:
<% Thisfile=Server.MapPath(“cookie.txt”) Msg=Request(“msg”) Setfs=server.CreateObject(“scripting.filesystemobject”) Setthisfile=fs.OpenTextFile(thsfile,8True,0) thisfile.WriteLine(“======cookie:”&msg&”=====byXSS”) Thisfile.close Setfs=nothing %>上述內(nèi)容就是怎樣理解XSS,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
分享文章:怎樣理解XSS
標題來源:http://weahome.cn/article/gddpos.html