SQL注入專題(三)

一寨辩、WAF及繞過WAF原理介紹

WAF的定義:

waf禁舷,即web應(yīng)用防火墻违霞,是通過執(zhí)行一系列針對http/https的安全策略來專門位web應(yīng)用提供保護(hù)的一款產(chǎn)品亩码。

waf主要是通過內(nèi)置的很多安全規(guī)則來進(jìn)行放域震蒋,會對每個請求的內(nèi)容根據(jù)安全規(guī)則進(jìn)行檢測并對不符合安全規(guī)則的做出響應(yīng)的防御處理茸塞,從未保證web應(yīng)用的安全性和合法性。

WAF是如何工作的查剖?

規(guī)則庫:使用一組規(guī)則來區(qū)分正常的請求和惡意的請求钾虐。

自學(xué)習(xí):有些WAF會使用學(xué)習(xí)模式通過了解用戶行為自動添加規(guī)則。

WAF的分類:

硬件waf笋庄,軟件waf效扫,云waf倔监,網(wǎng)站內(nèi)置waf類。

WAF繞過的原理:

1菌仁、一個何個的waf必須做好業(yè)務(wù)和安全的平衡浩习,這個平衡不好就有可能被繞過或者是影響網(wǎng)站的業(yè)務(wù)。

2济丘、waf為了考慮通用性的問題谱秽,無法100%覆蓋某些語言、中間件摹迷、數(shù)據(jù)庫的特性疟赊;

3、硬件waf自身存在漏洞泪掀;

WAF繞過的幾個維度:

1听绳、架構(gòu)層面

2、協(xié)議异赫、中間件椅挣、系統(tǒng)/數(shù)據(jù)庫/編程語言

3、規(guī)則層面

二塔拳、手工及攻擊識別WAF

1鼠证、手工識別的方式通常是通過訪問不存在的頁面或帶入惡意的字符,觸發(fā)WAF的防護(hù)規(guī)則靠抑;

2量九、查看服務(wù)端攔截后返回的信息,也可以通過網(wǎng)頁的頭部(header)信息進(jìn)行判斷颂碧;

方法:

1荠列、構(gòu)造惡意請求字符分析網(wǎng)站響應(yīng)或敏感頁面

2、發(fā)起http請求包载城,分析響應(yīng)數(shù)據(jù)肌似;

3、通過訪問不存在的頁面來分析頁面提示

識別是什么waf

python3 sqlmap.py -u "http://www.chaitin.com"

三诉瓦、繞過WAF的常見方式

1川队、pipline繞過。

pipline繞過是利用了http的管道化技術(shù)睬澡,當(dāng)發(fā)起http請求固额,目標(biāo)返回該請求的響應(yīng)。WAF也同樣如此煞聪,我們使用管道化連接可以在發(fā)起請求的同時發(fā)送多個HTTP的請求 斗躏,一旦WAF僅判斷第一個請求那么就可以成功繞過WAF。

pipline繞過首先要進(jìn)行兩點(diǎn)設(shè)置:

(1)burpsuite中去掉“update content-length”昔脯。

(2)將http請求包的連接狀態(tài)改為持節(jié)連接的狀態(tài)瑟捣,即Connection:keep-alive

(3)進(jìn)行完前兩點(diǎn)設(shè)置后馋艺,開始下一步操作栅干,將請求包復(fù)制到uid=1后面的位置迈套,中間不需要空格。測試過程中服務(wù)端驗(yàn)證只需要帶----cookie即可碱鳞,也就是第一個請求報(bào)帶即可桑李。發(fā)送修改后的雙請求,返回響應(yīng)也是兩次窿给,大多數(shù)waf只檢測第一個請求贵白,忽略第二個請求,從而繞過WAF的檢測崩泡。

2禁荒、寬字節(jié)注入

款自己注入主要是源于程序員設(shè)置數(shù)據(jù)庫編碼與php編碼設(shè)置為不同的兩個編碼,這樣就可能會產(chǎn)生寬字節(jié)注入角撞。程序員設(shè)置mysql連接時錯誤配置為:set character_set_client=gbk

php代碼:mysql_query("SET NAMES 'gbk' ");如果數(shù)據(jù)庫編碼與PHP編碼設(shè)置為不同的兩個編碼那么就有可能產(chǎn)生寬字節(jié)注入呛伴。

(1)正常情況下當(dāng)GPV開啟或使用用addslashes函數(shù)過濾get或post提交的參數(shù)時,黑客使用的單引號‘就會被轉(zhuǎn)義為:\’

(2)但如果存在款自己注入谒所,我們輸入%df%27時首先經(jīng)過上面提到的單引號轉(zhuǎn)義變成了%df%5c%27热康,之后在數(shù)據(jù)庫查詢前由于使用了GBK多字節(jié)編碼,即在漢字編碼范圍內(nèi)兩個字節(jié)會被編碼為一個漢字劣领。然后mysql服務(wù)器會對查詢語句進(jìn)行GBK編碼姐军,從而導(dǎo)致了注入漏洞。

3尖淘、HTTP協(xié)議覆蓋繞過

WAF在對content-type進(jìn)行檢查時奕锌,對multipart/from-data類型的檢測比較少,或者把它當(dāng)作文件上傳進(jìn)行檢查村生,我們可以利用這一特性對WAF進(jìn)行繞過惊暴。

方法:

通過狗仔multipart/from-data類型的方式繞過檢測。構(gòu)造內(nèi)容實(shí)例:8765255278935梆造,最后一--分隔符--結(jié)尾缴守,表示請求體結(jié)束。

4镇辉、分塊傳輸繞過

介紹:

分塊傳輸編碼是超文本傳輸協(xié)議(HTTP)中的一種數(shù)據(jù)傳輸機(jī)制屡穗,允許HTTP由內(nèi)網(wǎng)服務(wù)器發(fā)送給客戶端應(yīng)用(通常是網(wǎng)頁瀏覽器)的數(shù)據(jù)可以分成多個部分。分塊傳輸編碼旨在HTTP協(xié)議1.1版本(HTTP/1.1)中提供忽肛。

原理:

(1)利用了HTTP分塊傳輸編碼的特性村砂,將傳輸查詢語句分塊,從而繞過WAF的檢查屹逛。

(2)首先础废,根據(jù)分塊傳輸?shù)母袷窖绰睿謮K傳輸需要在請求頭添加“Transfer-Encoding”,其值設(shè)為“chunked”评腺,表示將用chunked編碼傳輸內(nèi)容帘瞭。設(shè)置成功后就可以進(jìn)行多個分塊數(shù)據(jù)的傳輸,消息體由數(shù)量未定的塊組成蒿讥,并以最后一個大小為0的塊為結(jié)束蝶念,最后用長度為的塊表示終止塊。

(3)最重要的是配置分塊的數(shù)據(jù)芋绸,長度值必須為16進(jìn)制媒殉,長度值為一行,數(shù)據(jù)值為一行摔敛。


代碼審計(jì)-SQL注入

RuoYi4.2版本代碼審計(jì)? ? ??

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末廷蓉,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子马昙,更是在濱河造成了極大的恐慌桃犬,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件给猾,死亡現(xiàn)場離奇詭異疫萤,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)敢伸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進(jìn)店門扯饶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人池颈,你說我怎么就攤上這事尾序。” “怎么了躯砰?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵每币,是天一觀的道長。 經(jīng)常有香客問我琢歇,道長兰怠,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任李茫,我火速辦了婚禮揭保,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘魄宏。我一直安慰自己秸侣,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著味榛,像睡著了一般椭坚。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上搏色,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天善茎,我揣著相機(jī)與錄音,去河邊找鬼继榆。 笑死巾表,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的略吨。 我是一名探鬼主播,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼考阱,長吁一口氣:“原來是場噩夢啊……” “哼翠忠!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起乞榨,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤秽之,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后吃既,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體考榨,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年河质,在試婚紗的時候發(fā)現(xiàn)自己被綠了掀鹅。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖痢缎,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情势告,我是刑警寧澤咱台,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布春贸,位于F島的核電站萍恕,受9級特大地震影響允粤,放射性物質(zhì)發(fā)生泄漏类垫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧揩局,春花似錦凌盯、人聲如沸驰怎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至精肃,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間状植,已是汗流浹背振定。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留膏执,地道東北人。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓消请,卻偏偏與公主長得像臊泰,于是被迫代替她去往敵國和親针饥。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 前言: Android App安全測試先告一段落莽鸭,雖然感覺還有很多需要學(xué)習(xí)的地方吗伤,畢竟我主要還是對Web方向感興趣...
    book4yi閱讀 3,513評論 0 1
  • 一、WAF介紹 傳統(tǒng)防火墻只是在第三層(網(wǎng)絡(luò)層)有效的阻斷一些數(shù)據(jù)包硫眨;而隨著web應(yīng)用的功能越來越豐富的時候足淆,We...
    卿酌南燭_b805閱讀 1,024評論 0 0
  • 繞過waf的方法:1.白名單、2改變請求方法礁阁、3.大小寫繞過 巧号、4.url編碼繞過、5.組合繞過姥闭、6.復(fù)參數(shù)繞過7...
    皮蛋是個臭蛋閱讀 1,313評論 0 0
  • 這是個筆記丹鸿,沒自己試過,就是漲姿勢的棚品。很好的資料:隨筆分類 - sqli-labs通關(guān)詳解[%5Bhttps://...
    yumiii_閱讀 2,497評論 2 10
  • 3.1.1 注入分類 ??SQL注入是一種代碼注入技術(shù)靠欢,用于攻擊數(shù)據(jù)驅(qū)動的應(yīng)用程序。 在應(yīng)用程序中铜跑,如果沒有做恰當(dāng)...
    最酷的崽_ec69閱讀 450評論 0 0