前言
沒實(shí)例,純粹拋磚引玉康愤,大牛請飄過~
這個(gè)系列很久沒更新了儡循,慚愧。
自動挖掘
自動挖掘主要是基于工具的一種方式征冷,原理即在于批量采集網(wǎng)站中參數(shù)傳遞的地址择膝,插入注入語句判斷是否與數(shù)據(jù)庫產(chǎn)生了交互。最原始的工具检激,是啊D注入工具肴捉,早期我們經(jīng)常將啊D與URL采集工具結(jié)合起來,批量挖掘注入點(diǎn)呵扛,但是目前這種方法利用價(jià)值不大每庆。所以我這里提到的自動挖掘,是基于指定站點(diǎn)的探測今穿。我一般去挖掘注入漏洞缤灵,會在一開始就自動掛載WVS掃描,WVS是一款非常優(yōu)秀的自動化掃描工具蓝晒,不僅能夠探測出SQL注入漏洞腮出,對于XSS漏洞的挖掘也是非常厲害的,當(dāng)然芝薇,這是題外話胚嘲。
當(dāng)然了,專門的SQL注入挖掘工具有沒有呢洛二?也是有的馋劈,但是我很少去用,這里給大家提供一篇文章晾嘶,供大家研究妓雾。
[http://www.php.cn/mysql-tutorials-362433.html](http://www.php.cn/mysql-tutorials-362433.html)
本文我主要想介紹一下我關(guān)于手動挖掘的一些經(jīng)驗(yàn)總結(jié),當(dāng)然了垒迂,這里的手動挖掘械姻,不代表純手工注入,我們現(xiàn)在擁有了sqlmap這樣優(yōu)秀的工具机断,手工注入是繁瑣且沒有必要的(不否認(rèn)學(xué)習(xí)手工注入的重要性)楷拳,所以我們現(xiàn)在去挖SQL注入绣夺,一般就是半自動挖掘,手動去尋找注入點(diǎn)欢揖,然后用工具配合著利用陶耍。
半自動挖掘
這是本篇的重點(diǎn),我們都知道去測注入測注入浸颓,那么在url后面加個(gè)單引號物臂,不存在就不存在了嗎?顯然不是产上。我們對一個(gè)網(wǎng)站做測試棵磷,首先要對網(wǎng)站的架構(gòu)做一個(gè)整體的判斷,那么點(diǎn)開鏈接晋涣,最直觀的是asp仪媒,jsp,php或者h(yuǎn)tml谢鹊,htm算吩,這對我們注入并沒有太大的用處,我們這里說的注入佃扼,是針對數(shù)據(jù)庫的注入偎巢,我們首先需要根據(jù)常見的腳本語言和數(shù)據(jù)庫的搭配,判斷出屬于哪個(gè)數(shù)據(jù)庫兼耀,具體的注入流程我這里就不說了压昼,這篇主要是整合一下挖掘的點(diǎn)。
偽靜態(tài)
我之所以提到直觀判斷瘤运,是想說說關(guān)于偽靜態(tài)的挖掘窍霞,現(xiàn)在許多站點(diǎn)都是偽靜態(tài),大家想想也可以理解拯坟,不用數(shù)據(jù)庫但金?自己手寫每個(gè)頁面?還都是大型站點(diǎn)郁季?不可能的冷溃。最直接的一種利用是自己構(gòu)造注入點(diǎn),比如xxx/sid/123.html梦裂,我們完全可以判斷是xxx.php?sid=123似枕,可以先把html去掉,看看行不行塞琼,當(dāng)然,更多的情況是去掉html就訪問不到了禁舷,我一般就會放棄對這種站點(diǎn)用這種方式注入了彪杉,那怎么辦毅往?就不搞了嗎?不存在的派近。下面就是去找交互攀唯,搜索框是最容易察覺到的地方,比如渴丸,
我在搜索框中加了個(gè)單引號侯嘀,直接禁止訪問了,這時(shí)候再看url谱轨,是不是變成了我們喜聞樂見的形式了呢戒幔?
那想想,還有哪些地方是需要數(shù)據(jù)交互的呢土童?登陸诗茎,注冊,留言献汗,上傳敢订,提交。這是我目前對于偽靜態(tài)挖掘的最好的思路罢吃,歡迎分享其他思路楚午。
常規(guī)的動態(tài)網(wǎng)站挖掘思路
第一、肯定是get型注入(訪問頁面使用get方式)
這種是很常規(guī)的一個(gè)點(diǎn)了尿招,但是不應(yīng)該僅僅只對于一個(gè)頁面矾柜,一個(gè)參數(shù),加個(gè)單引號泊业,不報(bào)錯(cuò)就算了把沼,這樣太暴力了。如果不是針對整站的防注入程序和軟waf吁伺,我們應(yīng)該對每個(gè)頁面都測試饮睬,防止程序員某些頁面過濾不嚴(yán)謹(jǐn)。其次篮奄,每個(gè)參數(shù)捆愁,都要去嘗試注入,例如:
http://www.xxx.cn/module/sitesearch/index.jsp?columnid=0&webid=100&modalunitid=55963
http://www.xxx.cn/module/sitesearch/index.jsp?columnid=0&webid=100&modalunitid=55963
有三個(gè)參數(shù)窟却,columnid webid modalunitid昼丑,都可以加個(gè)單引號去注入。有時(shí)候夸赫,對于php的站點(diǎn)菩帝,還可以加個(gè)%bf,防止服務(wù)器開啟了魔術(shù)引號,加單引號不報(bào)錯(cuò)呼奢。如果能測出來宜雀,可以在參數(shù)后面在*,用sqlmap去跑握础。
第二辐董、post注入(留言,搜索禀综,登錄(包括后臺登錄框)简烘,注冊)
搜索框很多都是字符型注入,這里要注意語句的閉合定枷,當(dāng)然了孤澎,報(bào)錯(cuò)的時(shí)候會把語句都爆出來,比如依鸥,query = “select * from admin where id=(‘”$_GET[‘id’]”’)亥至,如果我們直接寫id=1 and 1=1,那么組合起來是” query = “select * from admin where id=(‘”1 and 1=1”’)贱迟,這樣是不可能執(zhí)行的姐扮,我們要構(gòu)造閉合語句”’) and 1=1 (‘”1=1,sqlmap里面也給我們提供了對于閉合的用法衣吠,--prefix和--suffix茶敏,寫法大致如下--prefix="')" --suffix"('"。留言缚俏,登錄惊搏,注冊里面,不僅要測每個(gè)參數(shù)值忧换,有時(shí)候還要注意參數(shù)名恬惯,細(xì)心和耐心很重要。
第三亚茬、HTTP頭注入
這種可能出現(xiàn)的漏洞的參數(shù)酪耳,主要是client-ip,referer刹缝,x-forward-for等碗暗,如果網(wǎng)站把ip記錄到數(shù)據(jù)庫里面,很有可能會出現(xiàn)注入梢夯,那哪些點(diǎn)可能會記錄呢言疗?主要是登錄,注冊颂砸,留言的地方噪奄。這里我們可以用Modify工具死姚,在HTTP請求頭里面添加上client-ip:1.1.1.1‘帶著這個(gè)去訪問一些頁面,可能會報(bào)錯(cuò)勤篮,那我們就可能挖到注入點(diǎn)知允。那我們的神奇,sqlmap叙谨,也提供了利用方式,就是我們的header參數(shù)保屯,-headers=HEADERS手负。其實(shí)HTTP注入現(xiàn)在也很多,可以嘗試去挖一挖姑尺,或許會用發(fā)現(xiàn)竟终。
第四、app挖掘
現(xiàn)在許多網(wǎng)站都有自己的APP切蟋,而這些APP统捶,安全性普遍比較差,我們可以配置代理柄粹,使用burpsuite去挖一挖喘鸟,或許會有意外發(fā)現(xiàn)。