webug靶場滲透基礎攻略
文章目錄
安裝
下載解壓後,開啟虛擬機器
修改網路為橋接模式
虛擬機器cmd中輸入ipconfig檢視區域網ip地址
我這邊是192.168.0.101
瀏覽器訪問一下
沒毛病,第一步完成了,現在開始練習
第一關
這題目…一開始我就沒明白要幹什麼
看了二三關的題目後,才明白過來是要找出id為1的值的flag
接下來我們使用sqlmap
查詢當前的資料庫名
sqlmap -u "http://192.168.0.101/pentest/test/sqli/sqltamp.php?gid=1" --current-db
查表
sqlmap -u "http://192.168.0.101/pentest/test/sqli/sqltamp.php?gid=1" -D pentesterlab --tables
查欄位
sqlmap -u "http://192.168.0.101/pentest/test/sqli/sqltamp.php?gid=1" -D pentesterlab -T flag --columns
現在就可以查flag值了
sqlmap -u "http://192.168.0.101/pentest/test/sqli/sqltamp.php?gid=1" -D pentesterlab -T flag -C flag,id --dump
答案就出來了,但是不用將這個值提交,因為看了原始碼後發現提交頁面並沒有校驗flag的功能,估計還沒開發好
第二關
下載圖片,用notepad開啟一下
有個txt檔案,解壓後開啟看看
貌似沒更多資訊
把’123’填入提交後,發現錯了,再試’密碼123’,‘123txt’都是錯的,無奈下又看了下原始碼,發現答案是’flang{fa136c7c341a6e26}’。中括號裡面估計是md5值,那把fa136c7c341a6e26進行一下MD5解密,結果是‘chinayuanyaun’,然而,這又是個啥?不知道怎麼得來的。本關題目是妹子的照片,出來一條狗的照片,答案又和chinayuanyaun有關,誰能解釋一下…
第三關
第三關說“滲透網站的時候目錄也很重要”,那我們掃描一下這個目錄
掃出來一個http://192.168.0.101/pentest/test/san/test/目錄
開啟看看
那就把test加密一下,得到連結
http://192.168.0.101/pentest/test/san/4621d373cade4e83/
開啟
答案就是:/flag{人人都知道站長是個大帥比}/
但是填入後提交會發現404錯誤,檢視原始碼後發現是因為…寫程式碼的人把驗證flag的diskshuaibi.php檔案的路徑給寫錯了
這裡應該要把 …/key/level3/diskshuaibi.php 改為 …/…/…/key/level3/diskshuaibi.php
修改程式碼後重新提交
錯誤???怎麼可能,去diskshuaibi.php裡面看看答案是什麼
flang{人人都知道站長是個大帥比}
。。。。。
不用懷疑了,又是這個靶場的一個小bug
第四關
本關的提示:告訴你了flang是5位數;當遇到五位驗證碼的時候可以爆破
即使沒看到登入介面有驗證碼,但是就是告訴你要爆破了,那就用burp的intruder來爆破
上面可以很明白的看出,使用者名稱是admin,密碼是admin123
填入點選登入
???除了一個login success,怎麼其他什麼也沒有啊
沒法子,檢視一下原始碼
我擦嘞,flag的值居然被註釋掉了,怪不得不顯示啊,真是坑,把這串數字去md5解密一下看看
這。。。。說好的flang是5位數呢?
第五關
這關提示說是頭部注入
我們先burp抓包看看
既然是頭部注入,那我們就在request head裡面都加一個單引號看看
點選Forward
嗯…沒反應,這時候我們就該考慮XFF注入了
重新抓包,在head裡面新增一行:X-Forwaded-For:’
點選Forward
存在注入
建立一個2.txt檔案,填入下面內容
開始使用sqlmap進行注入
sqlmap -r 2.txt --dbs
接下來的步驟就和第一關一樣了,不再贅述
第六關
沒有使用者名稱密碼,先用弱密碼爆破之
未成功
嘗試用sqlmap注入
未成功
後來才知道,原來第六關的賬號密碼在第七關的題目裡
。。。。。。。。。。
本關提示是:支付問題:用最少的錢去購買到一本書
那就肯定是提交支付的時候後端沒有去校驗餘額導致的,所以還是burp抓包改包
把購買數量修改為1000後提交
把 bill1=10&bill2=20&num1=1000&num2=1000&uid=1 這行改成 bill1=0&bill2=0&num1=1000&num2=1000&uid=1 後點擊Forward
成功
第七關
用tom和123456登入看看
裡面只有一個更改密碼的按鈕,結合本關的題目是越權,我們可以想到,這是讓tom這個普通使用者,可以越權修改其他賬號的密碼
點選更改密碼,修改密碼後抓包看看
修改密碼的操作居然不帶cookie的,這說明任何人都有機會去嘗試修改其他人的密碼,那我們先看看修改密碼的時候,後臺有沒有去校驗舊密碼是否正確,將password1=123456改為password1=111111
可以修改,說明後端即沒有校驗修改密碼者的身份,也沒有校驗舊密碼,存在越權漏洞
第八關
本關提示是csrf
注意,要是第七關修改了密碼,那這關要用改後的密碼來登入
修改密碼,burp抓包
和上關一樣的套路,但是這關是要求用csrf攻擊的,因為修改密碼的操作中沒有一個隨機的token引數,而且本關題目告訴你管理員會在10點的時候上線,所以10點的時候他會具有當前會話cookie
利用burp生成一個csrf的檔案,上傳到伺服器,發給管理員,誘使其點選後既可修改密碼
但是burp的這個csrf檔案太顯眼了,最好自己修改一下
第九關
題目是:URL跳轉,能不能從我到百度那邊去?
這題…得看看原始碼了…
原來這題不需要登入,只需要在連結上多新增一個名為url的引數就可以了,但是沒看原始碼的話,誰會知道…而且也不明白這道題的考點在哪
第十關
本關提示為:檔案下載,根據提示下載需要的檔案
要是我沒猜錯,又是作者原始碼裡面出問題了
找了一下資料夾,發現本關的路徑應該是/pentest/test/6/1/download.php
標題上還寫著 幫管理員找回mysql帳號密碼
點選下載看看
看url地址後會明白,後臺程式應該會是取出fname引數的值,然後根據這個值在C:/phpStudy/WWW/topsec/any_file_download_V1.2/data/ 這個資料夾下面查詢檔案
這種下載檔案的方式就很危險了,因為要是我們把fname引數的值改為index.php,apache就不會將php傳遞給php去解析,而是直接變成下載了。
我們掃描一下http://192.168.0.101/pentest/test/6/1/這個目錄
掃出了一個叫db的目錄
繼續往下掃
掃到了config.php這個配置檔案,我們不能直接下載這個檔案,而是要使用上面那個frame引數
現在開始構造引數下載檔案
http://192.168.0.101/pentest/test/6/1/download.php?fname=../../../pentest/test/6/1/db/config.php
mysql的賬號密碼都出來了
第十一關
本關提示是:我和上一題有點像,看看你怎麼獲取嘍
還是一樣,要找到mysql的賬號和密碼
嗯,學精了,不是上面那關
那抓包看看
喲,改為post傳輸引數了,那我們根據上一關的邏輯,把dog_cat.jpg改為…/…/…/pentest/test/7/1/db/config.php試試
嗯…就是把引數提交方式從get變成post,其它都一樣
第十二關
本關提示:我係統密碼忘記了!請幫我找回在D盤下。登入框post_注入和萬能密碼
未完待續