Win2003服務(wù)器防SQL注入神器--D盾_IIS防火墻
0X01 前言
D盾_IIS防火墻,目前只支持Win2003服務(wù)器,前陣子看見官方博客說D盾新版將近期推出,相信功能會(huì)更強(qiáng)大,這邊分享一下之前的SQL注入防御的測(cè)試情況。D盾_IIS防火墻注入防御策略,如下圖,主要防御GET/POST/COOKIE,文件允許白名單設(shè)置。構(gòu)造不同的測(cè)試環(huán)境,IIS+(ASP/ASPX/PHP)+(MSSQL/MYSQL),看到這邊的策略,主要的測(cè)試思路:
a、白名單 b、繞過union select或select from的檢測(cè)
0X02 IIS+PHP+MYSQL
搭建這個(gè)window2003+IIS+php+mysql,可花費(fèi)不少時(shí)間,測(cè)試過程還蠻順利的,先來一張攔截圖:
繞過姿勢(shì)一:白名單
PHP中的PATH_INFO問題,簡(jiǎn)單來說呢,就是
http:/x.x.x.x/3.php?id=1 等價(jià)于 http://x.x.x.x/3.php/xxxxxxxxxxxxx?id=1
從白名單中隨便挑個(gè)地址加在后面,可成功bypass,http://10.9.10.206/3.php/admin.php?id=1 union select 1,2,schema_name from information_schema.SCHEMATA
經(jīng)測(cè)試,GET、POST、COOKIE均有效,完全bypass
繞過姿勢(shì)二:空白字符
Mysql中可以利用的空白字符有:%09,%0a,%0b,%0c,%0d,%20,%a0;
測(cè)試了一下,基本上針對(duì)MSSQL的[0x01-0x20]都被處理了,唯獨(dú)在Mysql中還有一個(gè)%a0可以利用,可以看到%a0與select合體,無法識(shí)別,從而繞過。
id=1 union%a0select 1,2,3 from admin
繞過姿勢(shì)三:\N形式
主要思考問題,如何繞過union select以及select from?
如果說上一個(gè)姿勢(shì)是union和select之間的位置的探索,那么是否可以考慮在union前面進(jìn)行檢測(cè)呢?
為此在參數(shù)與union的位置,經(jīng)測(cè)試,發(fā)現(xiàn)\N可以繞過union select檢測(cè),同樣方式繞過select from的檢測(cè)。
id=\Nunion(select 1,schema_name,\Nfrom information_schema.schemata)
0X03 IIS+ASP/ASPX+MSSQL
搭建IIS+ASP/ASPX+MSSQL環(huán)境,思路一致,只是語(yǔ)言與數(shù)據(jù)庫(kù)特性有些許差異,繼續(xù)來張D盾攔截圖:
繞過姿勢(shì)一:白名單
ASP: 不支持,找不到路徑,而且D盾禁止執(zhí)行帶非法字符或特殊目錄的腳本(/1.asp/x),撤底沒戲了
/admin.php/../1.asp?id=1 and 1=1 攔截
/1.asp?b=admin.php&id=1 and 1=1 攔截,可見D盾會(huì)識(shí)別到文件的位置,并不是只檢測(cè)URL存在白名單那么簡(jiǎn)單了。。。
ASPX:與PHP類似 /1.aspx/admin.php?id=1 union select 1,'2',TABLE_NAME from INFORMATION_SCHEMA.TABLES 可成功bypass
繞過姿勢(shì)二:空白字符
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的漏網(wǎng)之魚是否可以利用一下?
ASP+MSSQL: 不支持%a0,已放棄。。。
ASPX+MSSQL: %a0+%0a配合,可成功繞過union select的檢測(cè)
id=1 union%a0%0aselect 1,'2',TABLE_NAME %a0from INFORMATION_SCHEMA.TABLES
繞過姿勢(shì)三:1E形式
MSSQL屬于強(qiáng)類型,這邊的繞過是有限制,from前一位顯示位為數(shù)字類型,這樣才能用1efrom繞過select from。
只與數(shù)據(jù)庫(kù)有關(guān),與語(yǔ)言無關(guān),故ASP與ASPX一樣,可bypass,id=1eunion select '1',TABLE_NAME,1efrom INFORMATION_SCHEMA.TABLES
0X04 END
不同語(yǔ)言,中間件,數(shù)據(jù)庫(kù),所對(duì)應(yīng)的特性有些差異,思路卻一致,實(shí)踐出真知,只要?jiǎng)邮秩ヌ剿?,還有更多姿勢(shì)等待被挖掘。
目前的測(cè)試成果,可成功bypass注入防御,如 安全狗、云鎖、360主機(jī)衛(wèi)士、D盾_IIS防火墻等主機(jī)防護(hù)軟件及各種云waf,有些姿勢(shì)都在用。
有對(duì)這方面研究的童鞋,歡迎加好友交流一下姿勢(shì)。
相關(guān)文章
IIS中查看W3P.exe進(jìn)程對(duì)應(yīng)的應(yīng)用程序池的方法
在進(jìn)程中發(fā)現(xiàn)個(gè)別的w3p.exe進(jìn)程占用資源較高,這個(gè)進(jìn)程每一個(gè)代表一個(gè)應(yīng)用程序池,我們就知道哪些網(wǎng)站可能導(dǎo)致了這個(gè)原因。2011-03-03IIS7.5中調(diào)試.Net 4.0網(wǎng)站出現(xiàn)無厘頭、500錯(cuò)誤的解決方法
這篇文章主要介紹了IIS7.5中調(diào)試.Net 4.0網(wǎng)站出現(xiàn)無厘頭、500錯(cuò)誤的解決方法,需要的朋友可以參考下2014-10-10rashost的windows VPS重裝系統(tǒng)的方法
原來的IIS好像有點(diǎn)問題,就下載了win2003的IIS6,卸了IIS重裝,結(jié)果asp怎么都配不起來。2011-06-06Windows 2003 iis FLV 視頻不能播放的原因與解決
在本地使用Flash媒體播放器可以播放的FLV視頻,傳到網(wǎng)上就不行了.2009-02-02Windows服務(wù)器系統(tǒng)服務(wù)端口對(duì)照表
這篇文章主要介紹了Windows服務(wù)器系統(tǒng)服務(wù)端口對(duì)照表,需要的朋友可以參考下2014-03-03中間件IIS監(jiān)控指標(biāo)、設(shè)置和Windbg|Mex調(diào)試分析
在IIS Web服務(wù)器中,worker processe處理Web請(qǐng)求并提供響應(yīng),一臺(tái)服務(wù)器同時(shí)運(yùn)行多個(gè)進(jìn)程,每個(gè)worker processe都屬于一個(gè)應(yīng)用程序池,且與不同池關(guān)聯(lián)的工作進(jìn)程不共享該池資源,IIS監(jiān)控主要針對(duì)會(huì)話、事務(wù)、緩存、內(nèi)存、線程池等進(jìn)行監(jiān)控2023-12-12IIS7.5顯示ASP的詳細(xì)錯(cuò)誤信息"500 – 內(nèi)部服務(wù)器錯(cuò)誤解決"
iis6.0的時(shí)候默認(rèn)是顯示 錯(cuò)誤的詳細(xì)內(nèi)容,這樣解決故障比較方便,但是也存在一定的安全問題,IIS7.5默認(rèn)全部不顯示詳細(xì)錯(cuò)誤內(nèi)容,需要手動(dòng)打開2013-06-06