欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

[深入學(xué)習(xí)Web安全] 深入利用XSS漏洞

  發(fā)布時(shí)間:2016-09-12 11:25:14   作者:佚名   我要評(píng)論
從這節(jié)課開始,小宅再次更改排版,希望能給大家更好的閱讀體驗(yàn)。我們上節(jié)課就講了XSS的基本原理其實(shí)就是HTML代碼注入。這節(jié)課,我們將深入一點(diǎn),學(xué)習(xí)一下How To Exploit XSS

JS操作Cookie

接下來,我們還得學(xué)習(xí)一個(gè)小知識(shí),用JS操作Cookie,嘿嘿。首先,我們得知道一個(gè)document的屬性cookie,我們先創(chuàng)建一個(gè)HTML文件,寫入如下代碼:

 

然后用瀏覽器打開這個(gè)頁面:

 

可以看到,當(dāng)前Cookie為空,我們修改剛才的代碼如下:

 

我們?cè)賮碓L問頁面:

 

可以看到設(shè)置成功了,但是這樣的Cookie并不標(biāo)準(zhǔn),后端也不能直接操作,還得專門編寫處理這種特殊“Cookie”的函數(shù),所以,我們來看一個(gè)JS設(shè)置Cookie的函數(shù):

 

我們可以看到,這個(gè)setCookie()函數(shù)并不復(fù)雜,首先傳入一個(gè)c_name,其實(shí)就是CookieName,和對(duì)應(yīng)值,最后是過期天數(shù)(每個(gè)Cookie都是存在生命周期的,在生命周期之內(nèi)的Cookie才可用)。

利用HTML代碼發(fā)起HTTP請(qǐng)求(重點(diǎn))

接下來,我們就要來說這篇paper的重點(diǎn)部分了,如何利用HTML代碼來發(fā)起HTTP請(qǐng)求,請(qǐng)大家準(zhǔn)備好,我們即刻開始,首先我們創(chuàng)建一個(gè)HTML文件,就叫“htmlRequest.html”吧,代碼如下:

 

我們?cè)L問該頁面,并且打卡審查元素的Network,然后刷新,如下圖:

 

我們可以看到,我們利用src屬性發(fā)起了兩個(gè)GET請(qǐng)求,分別是www.xxx.com和[url=www.yyy.com]www.yyy.com[/url]。那么POST請(qǐng)求呢?(這個(gè)可能XSS用不到,但是CSRF一定會(huì)用到,而且是CSRF的重點(diǎn)),我們修改HTML代碼為:

 

我們還是一樣的,訪問頁面,Network,刷新頁面,如下:

 

我們可以看到,是成功的提交了test-1&test=2到www.xxx.com/test的,這個(gè)POST請(qǐng)求也是成功的。

盜取Cookie的XSS-ShellCode的編寫與利用

我們,接著來學(xué)習(xí)XSS-ShellCode的編寫與利用,首先,例如我們有一個(gè)VPS,在Web跟目錄創(chuàng)建一個(gè)stealCookie.php和一個(gè)showData.php,我們來構(gòu)思一下,首先,我們對(duì)這兩個(gè)程序做一下需求分析:

stealCookie.php:我們的目的是程序可以接收GET參數(shù)location和cookie,并將其保存到數(shù)據(jù)庫中。showData.php:我們的目的是輸出數(shù)據(jù)庫中存儲(chǔ)的location和cookie。

所以,我們寫這個(gè)程序之前最重要的就是先把存儲(chǔ)數(shù)據(jù)的表搞好,于是我在mysql里創(chuàng)建了一個(gè)xss數(shù)據(jù)庫,在該庫中創(chuàng)建了一個(gè)data表,data表里有l(wèi)ocation和cookie列。

接著,我們來編寫stealCookie程序,首先,要獲取GET參數(shù),我們就得使用超全數(shù)組GET[參數(shù)名],如下:

 

然后,我們鏈接數(shù)據(jù)庫,并存儲(chǔ)數(shù)據(jù):

 

我們來測(cè)試一下,傳入location=ichunqiu.com&cookie=abcdefg,嘗試如下:

 

我們到數(shù)據(jù)庫去查看,如下:

 

可以看到,已經(jīng)成功的插入了,接著就是編寫showData程序了,首先呢,肯定要鏈接數(shù)據(jù)庫,選擇xss庫(對(duì)了大家有沒注意到一個(gè)細(xì)節(jié),我們編寫的stealCookie是存在SQL注射漏洞的,嘿嘿)。

 

接著我們進(jìn)行查詢數(shù)據(jù),然后使用mysql_fetch_array()函數(shù)將查詢結(jié)果轉(zhuǎn)換成數(shù)組,然后輸出就行了:

 

我們?cè)L問來看下效果:

 

接著,我們來說構(gòu)造Exploit來盜取Cookie。首先,我們先來專門寫個(gè)測(cè)試Demo,就叫demo.php,代碼如下:

 

我們用Firefox來測(cè)試,如下

 

接著,我們得寫成script標(biāo)簽的src屬性加載一個(gè)js,然后實(shí)現(xiàn)讀取cookie和location,然后發(fā)給stealCookie,嘿嘿(當(dāng)然,現(xiàn)實(shí)生活中還有一道墻,同源策略,阿西吧,這里使用反射型XSS演示,完全是因?yàn)楹醚菔拘∥靼桑?/p>

然后,由于我們要測(cè)試盜取Cookie,那沒有Cookie怎么行,所以修改demo.php代碼為:

 

我們?cè)赬SS目錄下在建一個(gè)app.js,代碼的話,如下:

我們?cè)L問如下URL:”http://localhost/xss/demo.php?xss=%3Cscript%20src=%22app.js%22%3E%3C/script%3E“:

 

可以看到,只是加載了一張圖片,但是,我們回?cái)?shù)據(jù)庫一看:

 

可以看到,我們成功的盜取了用戶的Cookie。好了,這篇paper就到這里了,希望大家繼續(xù)支持深入學(xué)習(xí)Web安全系列文章!

本文轉(zhuǎn)自:i春秋社區(qū)

本文地址:http://bbs.ichunqiu.com/thread-10648-1-1.html?from=jbzj

相關(guān)文章

最新評(píng)論