重要說明:本文作為學習筆記,僅用于學習交流,請勿用于其它用途,侵删。
目标靶場:http://120.203.13.75:8001/shownews.asp?id=171,此靶場是騰訊課堂免費課程中的演習靶場,此筆記較為基礎,請大牛勿噴
第二課是基于第一課所學的知識上進一步學習滲透,是以如果哪裡我一筆帶過沒有詳細說明,那就意味着該知識點為之前筆記的知識。
這次的筆記講的是如果目标站點有WAF防火牆,我們如何繞過。什麼是WAF?
簡單來說WAF就是一個防火牆,可以有效防止惡意SQL注入,可以對送出的指令進行敏感詞過濾。比如我們第一課筆記中在URL後面拼接了一段SQL,其中關鍵詞有 and select from 等,有了WAF之後,我們上一節課中的方法就不能産生效果。
但是滲透之路,思路要靈活,一般來講很多WAF隻是過濾Get、post方式送出的傳參,那麼我們就可以試試使用cookie進行送出
廢話不多是,開始幹活。
通路目标站,并測試是否存在注入(既然是靶場,肯定存在的啦,注入測試過程就不重新示範了,第一課講的方法在這裡夠用啦)
經過測試,我發現 order by 10 頁面反應正常,order by 11 即不正常,由此可判斷該頁面确實存在注入,并且order by 10頁面傳回正常是告訴我們,這個表的字段有10個。
通路目标站點:http://120.203.13.75:8001/shownews.asp?id=171 order by 10

在上一課中,我們利用
order by
子句進行快速猜解表中的列數,再配合
union select
語句進行回顯。可以通過修改
order
參數值,再依據回顯情況來判斷具體表中包含的列數。
那麼這一課我們繼續嘗試此方式是否可行
http://120.203.13.75:8001/shownews.asp?id=171 union select 1,2,3,4,5,6,7,8,9,10
這時候我們發現,目标站點存在WAF,也就是防火牆,把我們給攔截了,那怎麼辦?
用cookie進行傳遞參數! 什麼是cookie,大家自行百度。
那怎麼僞造cookie呢?可以用抓包工具和一些浏覽器插件來實作,我們這次的筆記就先隻講插件。
浏覽器插件ModHeader,就是這個小球球
我們點選+号新增一個Request頭。
我們添加一個Cookie頭,并寫值為id=171,并確定已開啟(打勾)
然後我們把浏覽地位址中的?id=171 删掉,用cookie的參數代替測試是否正常傳回頁面
傳回頁面正常!說明此方法有可行的幾率,那我們繼續,在id=171後面構造SQL語句來回顯資料
在進行目标站滲透測試的時候,一般來講都是對表進行批量猜解或者爆破或盲注。由于新聞中我們看到敏感詞,釋出者是admin
那說明開發者可能習慣使用admin,我們就可以猜一下使用者表是不是也叫admin,我這個叫手動猜解。試試admin
我們在cookie的值後面加上
union+select+
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
+from+admin
哇,大家看你看到了什麼,
沒有出現資料庫錯誤,這證明admin表是存在的。且第2、3、7、8、9字段,可以用來猜測字段名,同時,可以直接回顯在頁面上。
我們接着嘗試猜測最常見的管理表字段名Username和Password,我們在2、3、7、8、9中任選兩個,分别填入Username和Password,做滲透測試你手裡一定會有一些字典表,字典表裡面是開發者慣用的一些字段,比如賬号的字段還可能是user或者name,密碼字段還可能是pass或者pwd。字典表是什麼就不多解釋,自己去搜集去生成
id=171+union+select+1,username,password,4,5,6,7,8,9,10 我選擇用2和3來回顯資料。
很明顯,我猜對了,已經爆出來了使用者名為:admin,可是密碼确加了密:b9a2a2b5dffb918c
但是如果了解過MD5的同學應該一眼就看出來,這個密碼很想被MD5加密過的,是不是我們試試就知道了
首先我們将加密過的密碼複制下來,去一個MD5的網站進行密文的明文查詢,呐一下子就出來了,密碼明文為:welcome
到這裡的時候,新同學可能就問了,我知道這個密碼有什麼用呢,這是個新聞網站我沒發現登入的地方在哪啊,有賬号也登入不上呀。
這時候字典表的用處又出來了,一般來說很多網站的背景都是在後面加上/admin或者/logon、/login等等,基于這個網站的開發者好像對admin情有獨鐘,那我就再猜一下admin是不是他們的根目錄。在這裡我強調一點,我的過程是提供自己的了解和想法,大多數還是需要用字典去爆破,像我筆記中這種運氣基本上是一半一半的幾率,有時候利用CMS指紋能更快捷的識别目标,去有針性的滲透,CMS我的了解是一種身份,包含了這個網站的開發語言,背景服務類型和版本,資料庫種類和版本等等資訊,什麼是CMS自己去百度了解,這裡不多解釋。
好了,我在網址後面加上/admin試一下
120.203.13.75:8001/admin,我就隻在後面加了/admin
為什麼給我傳回的頁面卻是120.203.13.75:8001/admin/Login.asp
那是因為admin确是是這個網站的根目錄,另外根據CMS識别,這是個南方的站,南方是一家公司,專門接做網站的,很多門戶網站都是他們做的,其實就是同樣的代碼套用,就是換了内容和樣式。既然知道是南方的站,其實我們就直接知道了根目錄就是admin,那剛才我為啥還多此一舉給大家說我是猜的呢,因為CMS不是萬能的,網際網路上有太多的網站了,并不是每個網站你都能識别出CMS。是以有一個偉大的字典表是幫助很大的。
好了說正題,我們加上/admin後發現,跳了一個企業網站管理系統,哇!這可就是管理者背景哦
我們嘗試用剛才得到的賬号密碼登入試一下。
哈哈哈,賬号密碼都對,直接進去背景了,并且拿到了通關的FLAG!