一次挖掘SRC漏洞 - 从0到有
對一次SRC平臺漏洞挖掘,全程文字描述多一點。
測試范圍:
XXXXX平臺: www.A.com
Xxxxxxx平臺: www.B.com
本人信息搜集不是很6,我這里直接測他的某個站的主站。所以我決定一個一個測,防止漏過,很多人一般都是先搜集子域名,因為子域名的防護相對薄弱一點。而且獎金也一樣的高。
我就先打開了A.com的主站,先用layer先跑他的子域。在信息搜集中,我先測測A.com。
看看能不能撿個漏。
第一眼就相中了這個搜索框,習慣性先測高危測起,先測SQL注入。在參數 輸入1' 發現只返回了1
發現只返回了1,沒有返回1'
那這里SQL注入就不存在, 但是我們可以聯想到:
1.這個站可能全局過濾單引號?
? ? 1.1 如果真是這樣,我只能找int類型注入;
? ? 1.2 如果真是這樣,這個可以幫我過Waf,利用全局特性過濾。
? ? se'l'e'c't=select
2.如果不是全局,那我們換個點來測。
然后我就這個搜索框來繼續測XSS,發現失敗了。他過濾了。
然后從其他點發現,他不是全局過濾單引號的,那我們實行plan B。
測試的時候發現有waf
畢竟是主站,我們可以看看他是什么樣的waf,
1.代碼waf(對有效參數的參數值進行攔截);
2.硬waf(攔截流量).
我輸入一個不存在的參數,?x=1 union select
直接給我攔了。
說明存在Waf攔截的是流量。
那我就先來繞waf,
最后發現這是智能型WAF,他不會管注釋里的內容。
那我的思路就來了,直接給他安排兩個虛假的參數a和b
程序只接收的到id參數。
發現頁面顯示正常!起送bypass可以用來測試注入,也能用來測XSS,毫無阻攔。
一段操作下來,一個漏洞都沒測到。
然后我們開始目錄掃描,選擇掃描302、403、200這些,我用的BURP,因為怕其他軟件的特征被封ip。
一分鐘過去后,我們看到了結果。
發現掃什么都是302 但是發現了tz這個目錄不一樣
返回的是這個,那這個tz目錄絕對有貓膩呀!!
然后我們觀察他的url結構,后面都是跟方法名,那我們不掃文件,直接掃方法。
Fuzz一波。
啊哈 掃到另一個add
字典呢 這里用的是?https://github.com/TheKingOfDuck/fuzzDicts?下載的
返回結果是用戶名不能為空,那我們就構造用戶名的參數
Fuzz一波 比如username=1
啊哈?有不同的的返回結果了,讓我們真實姓名不能為空 繼續用&來構造參數
當我輸入name=1 它還是提示這個,說明我們參數名不對,那我們百度一下真實姓名的英文 發現是realname 這個參數
OK 有了新的返回結果,感覺就像是在猜謎語一樣哈哈。
當我們把身份證的英文字母都填進去的時候 發現答案都不對
這時候我有點喪氣了 躺了一會想想 想起以前日站的時候 身份證號參數基本上都是idcard呀 這些
,突然想起來 會不會用的是拼音呢?
然后索性我就用sfz=1 發信還是提示的這個
我們注意到 是4個字 那我改為sfzh=1
然后就返回了這個 說明參數全部猜對了。
返回用戶名1 已存在,我腦海中飛速運轉。
它為什么知道 用戶名已經存在?
答案一個:他和數據庫交互了。
那這里就可能存在SQL注入。
一個單引號過去了 果然報錯了 然后試著用and 來閉合
發現
忘記了 有waf 但是我們不是已經過waf了嗎
指哪打哪
a=/*&username=1' and 1='1&realname=1&sfzh=111'&b=*/
構造payload
1=2 的時候 返回這個
這不就百分百存在SQL注入嗎,然后我絞經腦汁 測不出數據來 不知道他是啥數據庫
用sqlmap跑直接給我IP給封了
最后 and 1=‘dddd
剛開始我看到這個 搜索了一波 剛開始以為是mssql 但是沒測出來 用了waitfor delay 還報錯了
還以為是HQL注入 最后測了 老半天. 去下了個hqlmap但是開始就卡死了
當時我還堅認為是HQL注入 哈哈哈 因為當時我是這么測的
and user=’1 (這是錯誤的規范哦 因為這里的1 也是字符串 只有int類型 才會出數據)
當時用substring 加上盲猜用戶名函數是user 破解出user是dbo
我靠?是dbo 那還不是mssql數據庫嗎
繼續測 看到原因了 修改payload
可以看到是報錯mssql報錯注入 可以歡快的出數據啦
后續
一個SQL注入到手,后續測了很多東西,一頓手工操作定位到賬號密碼
拿到了賬號密碼去其他平臺撞庫了。
是一個PHP的站點
進了后臺 然后有一處任意文件上傳 是有WAF 檢測后綴
首先上傳個jpg 然后直接抓包改后綴 (是前端認證的話 抓包可以直接繞過)
換行直接繞過 發現能上傳繞過。
可開心死我了。心想著一處Getshell到手了呀 然后再圖片內容后面加上一句話木馬
啊哈?go 一直是沒反應 說明了他還檢測內容. 那我直接把代碼內容刪了 從<?php 開始測
首先想上傳個phpinfo 都被攔截了 那我用短標簽試試<?=?>
<?=phpinfo()?>發現上傳成功了 解釋一下 這是php的短標簽風格 “=”號 這里相當于echo
之后發現是php5.6
那可好繞了 php7.0下面的php都能用assert拼接 他是攔截關鍵字的
直接$a='a'.'s'.'sert';
最后發現$_GET['a'],$_PSOT['b'].... 這種傳參方式被攔截了,
繼續 FUZZ 刪到 他不攔截為止 刪到了$_GET 他不攔截了 思路來了,那我可以用foreach。
foreach ($_GET as $key=>$value) {$$key=$value; }偽全局,最后$key 相當于 $_GET['key']
最后直接 $a($key); 原生代碼就等于assert($_GET['key'])
然后久違的SHELL 就到手了~
總結
以上是生活随笔為你收集整理的一次挖掘SRC漏洞 - 从0到有的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实战渗透 | 向吃鸡外挂站开炮
- 下一篇: 关于站库分离渗透思路总结