pikachu靶場的搭建及部分測試
文
章
目
錄
| 01 |
前言 |
| 02 |
環(huán)境準備 |
| 03 |
安裝與配置 |
| 04 |
Burt Force(暴力破解)的測試 |
01
前言
Hello,小伙伴們,大家好!今天我?guī)淼氖荘ikachu靶場的搭建與測試,Pikachu是一個帶有漏洞的web應用系統(tǒng),在這里包括了常見的web安全漏洞。如果你是一個web剛?cè)腴Tweb安全的小白且正發(fā)愁沒有合適的靶場進行練習,那么Pikachu就可能非常適合你心意了。
02
環(huán)境準備
接下來我們進入主題吧,首先我們需要有phpstudy這個集成開發(fā)環(huán)境,然后就是Pikachu靶機了。
上面都沒有的小伙伴我這里附上下載鏈接:
Pikachu靶機下載地址:
https://github.com/zhuifengshaonianhanlu/pikachu
phpstudy集成開發(fā)環(huán)境:
https://www.xp.cn/
03
安裝與配置
一、phpstudy的下載與安裝
1、下載跟自己電腦版本對應的安裝包
2、下載完成后跟其它軟件一樣正常安裝即可,如下:
3、點擊安裝完成后打開小皮軟件,如圖:
4、搭建PHP+MySQL的話點擊啟用Apache2.4.39和MySQL5.7.26:
5、Mysql管理工具安裝,點擊軟件管理-網(wǎng)站程序-安裝
6、 勾選確認即可等待安裝
7、 訪問主頁,點擊網(wǎng)站-管理-打開網(wǎng)站即可
8、瀏覽器訪問自己的ip地址,顯示如下則成功安裝
二、Pikachu靶場配置
1、去官網(wǎng)這里下載zip壓縮包:
https://github.com/zhuifengshaonianhanlu/pikachu
2、下載并解壓縮
3、修改配置文件(mysql 用戶名:root 密碼:root,保存)
這里用Notepad++打開config.inc.php后如下圖:
用Notepad++打開config.inc.php修改完MySQL的用戶和密碼后按快捷鍵Ctrl+S 保存文件即可。
4、修改完保存,安裝初始化界面
瀏覽器訪問:這里用自己的電腦IP地址加/pikachu/訪問
安裝初始化頁面
點擊安裝/初始化,顯示如下界面則安裝完成
至此所有安裝步驟已結束,可以開始搞了。
04
Burt Force(暴力破解)的測試
一、基于表單的暴力破解
-
進入靶場
2.賬號密碼隨便輸入,登錄抓包,右鍵發(fā)送到intruder模塊
3.在這里我們使用Cluster bomb模式進行破解,在Payloads中配置第一個變量和第二個變量的字典,這里僅測試就手動輸入添加,也可以在系統(tǒng)中添加已經(jīng)寫好的字典或者去百度找大佬公布的字典。
添加字典進行爆破
4.添加字典后進行攻擊,根據(jù)返回數(shù)據(jù)包的長度進行判斷是否成功。為了方便觀察也可以在grep-match中刪除原有字符串,添加username or password is not exists,burp就會將所有含有此字符串的數(shù)據(jù)包flag出來。沒有被flag出的數(shù)據(jù)包則是我們破解成功的數(shù)據(jù)包。點擊username or password is not exists進行排序,沒有勾選的則表明破解成功,有勾選的則表明破解失敗。
二、繞過驗證碼(on server)
有些服務器后臺是不刷新驗證碼的,所以抓到包后不要放包,這樣驗證碼就一直有效,把包發(fā)到攻擊模塊直接爆破隨機輸入賬號密碼和相應的驗證碼,利用burp抓包。
進入靶場
登錄失敗了,驗證碼發(fā)生了變化
把數(shù)據(jù)包發(fā)送到Repeater,進行判斷,將驗證碼設置為空,點擊發(fā)送,出現(xiàn)錯誤提示,驗證碼不能為空
隨機輸入一個驗證碼,點擊發(fā)送,出現(xiàn)錯誤提示驗證碼不正確。
所以我們可以知道后臺對驗證碼有進行校驗,那是不是這樣就沒問題了呢?顯然不是這樣,從表面上看沒有問題,但是我們還需要對驗證碼是否在后臺過期進行進一步驗證。首先先點擊驗證碼,獲取一個新的驗證碼,并將其記錄下來,然后返回數(shù)據(jù)包,將正確的驗證碼輸入。點擊發(fā)送,提示用戶名和密碼錯誤,為了驗證驗證碼是否一直有效,我們修改用戶名和密碼,驗證碼不變,點擊發(fā)送,結果一樣。說明驗證碼可以重復利用。這樣我們就可以將數(shù)據(jù)包發(fā)送到Intruder,設置變量用戶名和密碼,驗證碼則輸入正確的驗證碼,不設置變。輸入字典進行破解。
根據(jù)長度判斷爆破是否成功,長度不同的就是爆破成功的。
三、驗證碼繞過(on client)
隨機輸入賬號密碼和相應的驗證碼,利用burp抓包。
查看源碼,我們可以發(fā)現(xiàn)驗證碼是JavaScript隨機生成,點擊一次函數(shù)運行一次生成一個相應的驗證碼
將數(shù)據(jù)包發(fā)送到repeater中,對驗證碼進行判定,判定后臺是否對驗證碼進行校驗。修改驗證碼點擊go,多次嘗試發(fā)現(xiàn)返回的信息都是username or password is not exists,但是沒有提示驗證碼錯誤。
則可以判斷雖然驗證碼被提交,但是后臺并沒有驗證。這個驗證碼框是通過JavaScript實現(xiàn)的,對于不懂安全的人來說,可以起到一定的防范作用。但對于知道這個原理的人來說形同虛設。
接下來,就與基于表單的流程一樣,發(fā)送數(shù)據(jù)包到Intruder中,選用Cluster bomb模式修改變量,因為驗證碼后臺并不校驗沒有用,所以只用選擇用戶名與密碼。跟上面的表單一樣爆破就行。
四、token防爆破?
token的作用:簡單來說就是服務器給前端發(fā)的身份證,前端向服務器發(fā)送請求時都要帶上這個身份證,服務器通過這個身份證來判斷是否是合法請求。
抓包發(fā)送給暴力破解模塊,攻擊類型選擇pitchfork(音叉),需爆破的內(nèi)容為密碼和token。
修改密碼的payload,添加密碼的爆破字典
修改token的payload,點擊選項里的Grep—Extract的添加,然后點擊獲取回復,選中token的值復制,然后點擊OK
將token的payload類型設置成遞歸搜索,在遞歸搜索選項中的第一個請求的初始有效負載設置為之前復制的token
攻擊后,通過響應的長度和內(nèi)容判斷是否爆破成功
至此pikachu靶場的Burt Force(暴力破解漏洞)我就測試到這里啦希望對大家有幫助。
