摘要:簡介最近在逛碼云時候發現靶場系統感覺界面和業務場景設計的還不錯所以過來分享一下同時也是分享一下我平時挖掘漏洞的一些思路吧這篇文章里雖然只簡單介紹其中三種漏洞類型,但也是想是一個拋轉引玉吧給安全新手提供一些挖掘思路下載地址地址國內地址這篇文章
簡介
最近在逛碼云時候發現permeat靶場系統,感覺界面和業務場景設計的還不錯.所以過來分享一下.
同時也是分享一下我平時挖掘漏洞的一些思路吧,這篇文章里雖然只簡單介紹其中三種漏洞類型,但也是想是一個拋轉引玉吧,給web安全新手提供一些挖掘思路.
下載地址:
GitHub地址: https://github.com/78778443/permeate 國內地址: https://gitee.com/songboy/permeate
這篇文章里主要介紹其中的,SQL注入挖掘,xss跨站挖掘,以及csrf漏洞把
在挖掘一網站的漏洞時候,我們腦海里要知道什么漏洞在什么場景下容易出現,那些漏洞出現的比較頻繁,我腦海里的web安全漏洞有三種類型吧:
編碼型漏洞
業務邏輯漏洞
運行環境漏洞
筆者之前給別人做代碼審計有一個習慣,通常希望給的源碼能夠正常運行,還不是光從代碼來分析問題.
為什么這么做呢,因為覺得如果代碼不能運行其實很多漏洞是無法光從代碼層面發現問題的.
而代碼能運行起來,其實不僅能驗證問題,也可以從系統的業務功能來找出更多問題.
比如說很多網站提供站內搜索功能,在搜索的時候通常會把用戶搜索的關鍵詞返回在頁面當中,比如"你搜搜的關鍵詞"關鍵詞"結果如下",那在這里就很有可能存在反射型XSS漏洞.
另外很多網站都存在用戶體系,而在修改個人資料的時候很有可能存在越權問題,比如修改的個人資料的時候查看是否又提交uid參數,如果有,修改uid值,看是不是把別人的資料給修改了,這些其實都需要運行之后才能發現問題所在.
筆者在windows系統中是由wampser搭建還比較簡單,這里先簡單介紹安裝方法:
用git把代碼拉下來
配置多帶帶的虛擬主機目錄(不要放到二級目錄,貌似有問題)
新建了一個數據庫
導入sql文件,文件位置 /doc/bbs_cate.sql
修改一下/config/dbconfig.php文件中的數據庫賬號密碼信息
通過上面的安裝步驟之后,應該可以看到如下面的界面了.有一個默認板塊和一個默認分區,就說明連接數據庫成功了.
現在我們開始去挖掘里面的漏洞,在項目介紹中看到有SQL注入和XSS以及CSRF問題,但是沒有告知存在漏洞的位置,所以我們需要先分析每個漏洞的對應場景.
先來說說SQL注入挖掘吧.
一. SQL注入挖掘懂點SQL注入知識應該都可以想到sql注入是因為攻擊者可以控制sql語句中的參數所造成的,那么我們就先找一個需要傳參的地址,在剛才的首頁中可以看到有一個默認板塊,那么就點擊默認板塊好了,點擊之后上面的URL地址變成了
http://permeate.localhost/home/index.php?m=tiezi&a=index&bk=5
在URL中可以看到,有三個參數,但根據經驗來說,前面兩個參數m和a有點像是路由,所以這兩個先暫時用排除法排除,最后一個參數bk是一個數字,感覺應該是板塊的ID,所以可以重點關注一下,我們先記住未測試之前的頁面是什么樣子
現在先用手動測試快速測試一下,怎么測試呢? 可以在bk=5后面加一個單引號,或者加一個%27,得到URL地址如下
http://permeate.localhost/home/index.php?m=tiezi&a=index&bk=5"
這個時候看一下頁面的運行效果如何,發現帖子列表中帖子已經不存在了.
這個時候我們可以初步的得出結論,這個地方可能存在SQL注入問題,但是還不能肯定,要肯定這個地方是否存在注入問題,我們這樣深入去驗證一下,可以使用參數值 5" or "1"="1 來進行驗證,得到URL地址如下
http://permeate.localhost/home/index.php?m=tiezi&a=index&bk=5" or "1"="1
訪問之后,發現頁面又發生了一次變化,這個時候我們就可以肯定這個地方存在了SQL注入問題,如下圖
我們可以使用sqlmap來看看數據庫存在哪些數據庫信息,sqlmap命令如下:
sqlmap -u "http://permeate.localhost/home/index.php?m=tiezi&a=index&bk=5" --dbs
通過sqlmap的反饋結果可以看出,這個地方確實存在了注入問題.
下面我們接著找一下XSS漏洞漏洞
二. XSS跨站造成xss的主要成因我們知道是參數會被在頁面輸出,所以在找XSS漏洞的時候,我們先看看站點有什么功能;
在首頁的圖片和帖子列表頁中可以大致看出有搜索功能,和發帖,回復帖子等功能,這些地方都會把接收的參數作為內容展示出來,所以我們可以挨個去測試.
先來一個最簡單的搜索頁吧,在導航欄有一個搜索框,我首先在搜索框中輸入test吧,得到URL地址如下
http://permeate.localhost/home/search.php?keywords=test
從URL地址可以看出搜索的關鍵詞會通過keywords來傳遞,傳遞之后也會顯示在頁面內容當中,如下圖
現在分析顯示html元素,在關鍵詞test的父級節點,可以看到是div,div中寫入script標簽是會被執行的,所以可以直接使用下面的payload
http://permeate.localhost/home/search.php?keywords=test
進行測試,通過瀏覽器訪問此連接,可以看到已經彈出123確認框
不過xss不僅限于script標簽可以被執行,也可以用img標簽的onerror屬性來執行,可以構造如下的payload
http://permeate.localhost/home/search.php?keywords=test
依然訪問URL地址,可以看到456的確認框被彈出來了
上面的XSS都屬于反射型的,存儲型的項目也表明存在,這里我們先略過吧,先看看CSRF的漏洞好了.
三. CSRFCSRF漏洞主要成因是因為服務端接收表單請求時候沒有驗證是用戶發送的請求還是瀏覽器發送的請求,所以在挖掘此類表單的時候先去找表單的位置,在前面的截圖當中,可以看到有一個發帖的按鈕,可以進去點進去看看,點擊發帖,URL地址為
http://permeate.localhost/home/fatie.php?bk=5
在這個頁面中可以看到有一個發帖的表單,我們主要看一下表單有沒有token令牌,如果沒有的話,那就可能存在CSRF的漏洞問題,通過瀏覽器的審查元素截圖如下
在頁面中確實沒有存在token信息,因此我們可以初步得出結論,這個地方存在CSRF的可能,現在需要驗證一下,
在驗證的時候我們需要制定CSRF有GET型和POST型,get型利用起來相對簡單很多,而在這個地方表單提交雖然是通過POST,但并不排除GET提交也可以利用,所以我們先嘗試用GET型來提交數據,先通過抓包瀏覽器的網絡分析模塊來看,發帖會發送哪一些數據,如下圖
在圖中可以看到,post會傳遞三個參數過去,bk和title以及content三個參數,我們先用get表單構造出一個payload出來,得到URL地址如下:
http://permeate.localhost/home/_fatie.php?bk=5&zt=0&title=111&content=222
然后去瀏覽器打開這個地址,看看是否能提交表單成功,訪問后發現彈出了一個確認框,告訴我已經發帖成功了,如下圖
去列表確認一下,發現確實已經發帖成功,如下圖帖子列表
這個CSRF相對來說比較低級,很多情況下用get并不能提到post提交,因此我們再來嘗試用post方法構造一個payload出來,代碼如下
test
在上面代碼中可以看出,表單里面的值已經事先做好了定義,當受害者打開之后,變回自動提交表單.
前面提到了這個系統中存在存儲型XSS,又存在CSRF漏洞,那么我們是不是可以用來做一個XSS蠕蟲試驗呢?
四. 蠕蟲XSS滿足蠕蟲XSS需要兩個必要條件,存儲型XSS,和CSRF漏洞,這兩個這個系統都有,所以實現起來沒有問題,需要的是先找一下存儲型XSS
在前面發帖的位置會把參數存儲起來,并展示,因此這個地方是一個比較好的試驗點,我們在發帖位置先來試驗一下吧. 如下圖,表單中提交了xss驗證代碼,當成功觸發的時候會被彈框123,如下圖
點擊發布帖子按鈕,發布帖子成功,下來來到帖子列表頁面,發現alert(123)已經被觸發成功了,如下圖
現在CSRF有了,存儲型XSS也有了,那么接下來就是需要把它們結合起來使用了,但蠕蟲XSS利用代碼相對alert(123)來說代碼會比較長,所以我們需要先把利用代碼放到一個文件當中,然后再通過script引入進去,我們構造的代碼如下
var strrand = +new Date(); var str = "http://premeate.localhost/home/_fatie.php?bk=5&zt=0&title=1111&content=222"; var tag = document.createElement("img"); tag.src = str; document.body.append(tag.src);
在上面的代碼中,只要一被執行,頁面將會被插入一個img標簽,其中標簽的src屬性又會去請求表單,表單里面的內容又是一段xss代碼,這樣變回造成XSS蠕蟲攻擊者,每次請求都會是倍數增長.如下圖,瀏覽器刷新3次之后,已經有很多帖子了.
作者:湯青松
微信:songboy8888
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/29239.html
摘要:一背景筆者月份在慕課網錄制視頻教程跨站漏洞加強安全里面需要講到很多實戰案例,在漏洞挖掘案例中分為了手工挖掘工具挖掘代碼審計三部分內容手工挖掘篇參考地址為快速找出網站中可能存在的漏洞實踐一本文主要記錄利用安全工具進行漏洞挖掘部分,分為了設置代 一、背景 筆者6月份在慕課網錄制視頻教程XSS跨站漏洞 加強Web安全,里面需要講到很多實戰案例,在漏洞挖掘案例中分為了手工挖掘、工具挖掘、代碼審...
摘要:一背景筆者最近在慕課錄制了一套跨站漏洞加強安全視頻教程,課程當中有講到的挖掘方式,所以在錄制課程之前需要做大量實踐案例,最近視頻已經錄制完成,準備將這些漏洞的挖掘過程記錄下來,方便自己也方便他人。 一、背景 筆者最近在慕課錄制了一套XSS跨站漏洞 加強Web安全視頻教程,課程當中有講到XSS的挖掘方式,所以在錄制課程之前需要做大量實踐案例,最近視頻已經錄制完成,準備將這些XSS漏洞的挖...
摘要:一背景筆者最近在慕課錄制了一套跨站漏洞加強安全視頻教程,課程當中有講到的挖掘方式,所以在錄制課程之前需要做大量實踐案例,最近視頻已經錄制完成,準備將這些漏洞的挖掘過程記錄下來,方便自己也方便他人。 一、背景 筆者最近在慕課錄制了一套XSS跨站漏洞 加強Web安全視頻教程,課程當中有講到XSS的挖掘方式,所以在錄制課程之前需要做大量實踐案例,最近視頻已經錄制完成,準備將這些XSS漏洞的挖...
一、背景 不定時會做一些內訓,會經常用到實驗壞境;一開始搭建了一個docker容器,但考慮到不是所有學員都會使用docker,因此做了一個虛擬機版本,其實就是虛擬機里面安裝了docker,為了方便大家迅速搭建壞境,總結了此文檔給需要的學員; 二、操作步驟 安裝VMware 下載鏡像 啟動容器 驗證服務 三、安裝VMware 安裝VMware的過程只需要會點擊下一步下一步就行,這個過程不再過多敘...
摘要:一背景筆者此前錄制了一套的視頻教程,在漏洞案例一節中講解手工挖掘工具挖掘代碼審計三部分內容準備將內容用文章的形式再次寫一此前兩篇已經寫完,內容有一些關聯性,其中手工挖掘篇地址為快速找出網站中可能存在的漏洞實踐一本文主要記錄通過代碼審計的方式 一、背景 筆者此前錄制了一套XSS的視頻教程,在漏洞案例一節中講解手工挖掘、工具挖掘、代碼審計三部分內容,準備將內容用文章的形式再次寫一此,前兩篇...
閱讀 2225·2021-09-22 15:25
閱讀 3610·2019-08-30 12:48
閱讀 2197·2019-08-30 11:25
閱讀 2332·2019-08-30 11:05
閱讀 720·2019-08-29 17:28
閱讀 3278·2019-08-26 12:16
閱讀 2601·2019-08-26 11:31
閱讀 1681·2019-08-23 17:08