淺析Wker_Xsser使用
前段時間一直對Xss十分感興趣,但感覺手動檢測十分麻煩,我就百度了一下自動化的掃描工具,然而百度反饋給我的第一感覺就是那些工具都是傻瓜似的爆破,根本不能實現智能化的掃描,連最基本的閉合標籤都沒有,感覺好氣,所以好吃懶做的我就寫了一款Xss的自動化掃描,知道大家怕病毒,我一寫出來立馬放進了壓縮包,看一下哈勃反饋的信息。
不知道為什麼安全指數不是滿的,可能因為有GET,POST的函數吧,不管那麼多了,進入到我們的主題。
一.工具的原理
1.智能構造法:
我不是非常的明白其他傻瓜式爆破的方法,所以我就寫了一個關鍵字掃描方法的一個工具。
只能構造法具體操作原理:獲取網站的源碼之後,自動尋找輸出點,然後閉合標籤檢測,再進行用戶提供的方法進行檢測。
2.傻瓜通殺法
就是通過我們提供的payload往上撞,知道對了未知,個人感覺沒啥用處。
3.文件配置
看一下我們需要配置的文件內容
有三個txt文件
先說base_payload.txt這個文件
|
"oninput=alert`1` "|" oninput=alert`1` "
111|111
javascript:alert(1)|javascript:alert(1)
javascript:alert(1)//http://www.baidu.com|javascript:alert(1)//http://www.baidu.com
裡面是一些基礎的xss代碼
這一些是我一般用到的基礎的還沒有進行修飾過的,這裡有個分割符|,分隔符前面的是要進行修飾的payload,後面的是檢測的payload,不懂意思的話呢,就不要動就好,基本上這個文件是不需要改動的。
通normal.txt
這裡面就是傻瓜式掃描的payload
我就稍微採集了一些,因為工具的主要功能不是在於這種傻瓜式的掃描,分隔符前面是注入的,後面是檢測的。
way.txt(重點這一個比較關鍵,前兩個知不知道無所謂的。)
|alert("xss")|
這裡我提供給大家兩個方法,大家仔細看。
這裡分隔符分開了三個文本,
格式是這個樣子的:
被修改的內容|修改後的內容|檢測的內容
解釋一下,
第一條方法,我們將script修改為ScRipt,這樣我們就可以繞過大小寫然後檢測大寫的。
第二條方法,我們將script外面包含一層script,這樣即使他過濾了一層,我們也不怕,但是我們檢測的payload肯定就要刪去外面那層了,因為返回來的數據肯定是過濾好了的,外面的那層script肯定是沒有了的。
文件內容講完了,那我們就講一下具體的操作方法。
4.php代碼分隔符,這裡我們就默認>這個就可以,有一些時候;也是可以的。
二.使用方法
1.GET方法
我們先來講解智能構造法的使用方法
這個是一個xss挑戰賽的平台。
我們先來從第一關開始
因之前配置好了(其實你直接用就好,我都給大家配置好了的),我們就直接放進工具中進行檢測。
選擇智能構造法,GET方式。
之後我們點擊開始檢測。
結果出來了:
這裡來說一下,右邊是一些嘗試過的payload,加深的就是成功了的payload
這裡分為三層,第一層是你的URL,第二層是輸出點,第三層是嘗試的payload。
左邊紅字則是成功的。
看似非常的多,其實,很大一些是進行URL編碼了的,我們隨便那一個嘗試一下,
使用這一條試一下。
很好,我們成功了,看一下這一條語句的構造方法。
發現,我們是將前面的
標籤給閉合了,所以進行了彈窗。
這一關很簡單,之後的關卡用工具都可以跑出來,是一些時間的xss用到oninput,對大家的理解不會帶來提升,我們直接進入第六關。
發現存在輸出點,我們將其放入工具。
同樣我們構造了出來,我們來分析一下原因。
">
返回這一條語句,我們一看,大小寫,這是我們提供的方法之一啊,說明這個頁面沒有過濾大小寫。
確實,大小寫,沒有過濾,我們來看下一關。
一樣,也是存在輸出點。
我們放進工具。
返回了payload,我們再來分析一下原因。
">alert("xss")
這是我們提供的方法之一,外層增加一個payload,我們來試一下。
成功,我們回過頭來看一下,如果正常輸入一個基礎payload的結果。
確實,他將我們的script給過濾了,這就是我們提供的方法,方法越多,你成功的可能越大。
我們再來說一下傻瓜爆破法,這個我就草草說一下就OK了,因為這種方法,個人感覺用處不大。
像這個樣子,我們選中傻瓜通殺法,進行檢測。
可以看出,它所提供的payload很多,但有一些是不可以用的,只能給大家一個借鑒的一個payload。
2.POST
POST其實和GET大同小異,只不過我們要先抓包,在這裡我沒有一個案例,但是我給大家做一個簡單的演示吧。
首先我們來抓包
打開抓包軟體,沒有burp的話就用我做的那款暴力破解工具,也是可以抓包的,我們來到搜索頁面,隨便搜索一個內容,來抓一下包。
選中POST
POST /search.aspHTTP/1.1
Accept:image/jpeg, application/x-ms-application, image/gif, application/xaml+xml,image/pjpeg, application/x-ms-xbap, application/x-mfe-ipt, */*
Referer:http://www.XXX.cn/search.asp
Accept-Language:zh-CN
Content-Type:application/x-www-form-urlencoded
Accept-Encoding:gzip, deflate
User-Agent:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.2; WOW64; Trident/7.0;.NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729;McAfee; LCJB)
Host: www.XXX.cn
Content-Length:44
Connection:Keep-Alive
Cache-Control:no-cache
Cookie:ASPSESSIONIDSCCTABSQ=JOGADOKBLGOFCOAKPDJFCLAA; AJSTAT_ok_times=2;AJSTAT_ok_pages=1
Keyword=test&Submit=%CB%D1%CB%F7&Field=Title
包的內容:Keyword=test&Submit=%CB%D1%CB%F7&Field=Title
非常明顯,keyword就是我們要的參數,和GET一樣我們將後面的內容改為我們的【變數】,即構造出了這樣子的一個封包:Keyword=變數&Submit=%CB%D1%CB%F7&Field=Title
這樣我們來測試一下。
這個樣子,我們點擊開始檢測。
要求我們填寫內容,將剛才的POST封包內容填寫進去。
其他的參數不用管,我們就點擊確定。
這樣就會開始檢測,但是這個站點不存在Xss,我們就不管了,POST的傻瓜式操作,我也就不演示了,道理一樣。
下面介紹一下返回代碼和平均相似的的用處:
三.相關屬性
例如這個網站,它存在安全狗,也就是safedog,我們就可以檢測出來。
返回代碼還有一個用處。
像這個樣子,和平均相似度搭配。
發現我們智能化構造的payload,與真實返回有一些差別,那麼他肯定有一些區別,也就是說他被進行了修飾,那樣我們就把它取出來,看看錯誤的原因打的是什麼,並且平均相似度也可以給我們提供一個方案。
好了,今天Ws就給大家提供這一款工具,感謝大家的觀看,謝謝。
軟體MD5:6806d61a4eff38f95dabbac5dcd1cd8a
鏈接:http://pan.baidu.com/s/1miggiBA密碼:tuga
如MD5變了,請不要使用了。
提供給大家一個關鍵字,大家其實可以自己構造的
像這個樣子的
inURL:search.asp
Inurl:search.asp?Keyword=