亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

SQL注入技術和跨站腳本攻擊的檢測

2019-11-18 19:04:09
字體:
來源:轉載
供稿:網友

  1、概述  

  在這兩年中,安全專家應該對網絡應用層的攻擊更加重視。因為無論你有多強壯的防火墻規則設置或者非常勤于補漏的修補機制,如果你的網絡應用程序開發者沒有遵循安全代碼進行開發,攻擊者將通過80端口進入你的系統。廣泛被使用的兩個主要攻擊技術是SQL注入[ref1]和CSS[ref2]攻擊。SQL注入是指:通過互聯網的輸入區域,插入SQL meta-characters(特殊字符 代表一些數據)和指令,操縱執行后端的SQL查詢的技術。這些攻擊主要針對其他組織的WEB服務器。CSS攻擊通過在URL里插入script標簽,然后 誘導信任它們的用戶點擊它們,確保惡意javascript代碼在受害人的機器上運行。這些攻擊利用了用戶和服務器之間的信任關系,事實上服務器沒有對輸入、輸出進行檢測,從而未拒絕Javascript代碼。

  這篇文章討論SQL注入和CSS攻擊漏洞的檢測技術。網上已經有很多關于這兩種基于WEB攻擊的討論,比如如何實施攻擊,他們的影響,怎樣更好的編制和設計程序防止這些攻擊。 然而, 對如何檢測這些攻擊并沒有足夠的討論。我們采用流行的開源的IDS Snort[ref 3],組建根據檢測這些攻擊的規則的正則表達式。附帶,Snort默認規則設定包含檢測CSS的方法,但是這些容易被避開檢測。比如大多通過hex進制編碼,如%3C%73%63%72%69%70% 74%3E代替<script>避開檢測。

  依賴level of paranoia組織的能力,我們已經編寫了多種檢測相同攻擊的規則。如果你希望檢測各種可能的SQL注入攻擊,那么你需要簡單的留意任何現行的SQL meta-characters,如單引號,分號和雙重破折號。同樣的一個極端檢測CSS攻擊的方法,只要簡單地提防HTML標記的角括號。但這樣會檢測 出很多錯誤。為了避免這些,這些規則需要修改使它檢測更精確些, 當仍然不能避免錯誤。

  在Snort規則中使用pcre(Perl Compatible Regular ExPRessions)[ref4]關鍵字,每個規則可以帶或不帶其他規則動作。這些規則也可以被公用軟件如grep(文檔搜索工具)使用,來審閱網絡服務器日志。 但是,需要警惕的是,用戶的輸入只有當以GET提交請求時,WEB服務器才會記錄日記,如果是以POST提交的請求在日記中是不會記錄的。 

  2. SQL注入的正則表示式

  當 你為SQL注入攻擊選擇正則表示式的時候,重點要記住攻擊者可以通過提交表單進行SQL注入,也可以通過Cookie區域。你的輸入檢測邏輯應該考慮用戶 組織的各類型輸入(比如表單或Cookie信息)。并且如果你發現許多警告來自一個規則,請留意單引號或者是分號,也許些字符是你的Web應用程序創造的 合法的在CookieS中的輸入。因此, 您需要根據你的特殊的WEB應用程序評估每個規則。

  依照前面提到,一個瑣細的檢測SQL射入攻擊的正則表達式要留意SQL特殊的meta-characters 譬如單引號(’)雙重擴則號(--),為了查出這些字符和他們hex等值數, 以下正則表達式適用: 

  2.1 檢測SQL meta-characters的正則表達式
/(/%27)|(/’)|(/-/-)|(/%23)|(#)/ix

  解釋:

  我 們首先檢查單引號等值的hex,單引號本身或者雙重擴折號。這些是MS SQL Server或Oracle的字符, 表示后邊的為評論, 隨后的都將被忽略。 另外,如果你使用MySQL,你需要留意 ’#’和它等值的hex的出現。注意我們不需要檢查雙重破折號等值的hex, 因為這不是HTML meta-character, 瀏覽器不會進行編碼。 并且, 如果攻擊者設法手工修改雙重破折號為它的hex值%2D(使用代理像Achilles[ref 5]), SQL注入將失敗。 
加入上述正則表達式的新的Snort規則如下: 

alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:"SQL Injection - Paranoid"; flow:to_server,established;uricontent:".pl";pcre:"/(/%27)|(/’)|(/-/-)|(%23)|(#)/i"; classtype:Web-application-attack; sid:9099; rev:5;)

  在本篇討論中, uricontent關鍵字的值為".pl ", 因為在我們的測試環境里, CGI 程序是用Perl寫的。uricontent關鍵字的值取決于您的特殊應用, 這個值也許是".php ", 或" .asp ", 或" .jsp ", 等。 從這點考慮, 我們不顯示對應的Snort 規則, 但是我們會給出創造這些規則的正則表達式。 通過這些正則表達式你可以很簡單的創造很多的Snort規則.在前面的正則表達式里, 我們檢測雙重破折號是因為:即便沒有單引號的存在那里也可能是SQL射入點[ref 6]。 例如, SQL查詢條目只包含數值,如下: 

select value1, value2, num_value3 from database 
where num_value3=some_user_supplied_number 

  這種情況,攻擊者可以執行額外的SQL查詢, 示范提交如下輸入: 

  3; insert values into some_other_table 

  最后, pcre的修飾符’ i’ 和’ x ’ 是用于分別匹配大小寫和忽略空白處的。 上面的規則也可以另外擴展來檢查分號的存在。然而,分號很可以是正常HTTP應答的一部分。為了減少這種錯誤,也是為了任何正常的單引號和雙重擴折號的出現,上面的規則應該被修改成先檢測=號的存。用戶輸入會響應一個GET或POST請求,一般輸入提交如下:

  username=some_user_supplied_value&passWord=some_user_supplied_value 

  因此, SQL 注入嘗試將導致用戶的輸入出現在a = 號或它等效的hex值之后。

  2.2 修正檢測SQL meta-characters的正則表達式 

  /((/%3D)|(=))[^/n]*((/%27)|(/’)|(/-/-)|(/%3B)|(:))/i

  解釋:

  這個規則首先留意 = 號或它的hex值(%3D),然后考慮零個或多個除換行符以外的任意字符,最后檢測單引號,雙重破折號或分號。

  典型的SQL注入會嘗試圍繞單引號的用途操作原來的查詢,以便得到有用的價值。討論這個攻擊一般使用1’or’1’=’1字符串. 但是, 這個串的偵查很容易被逃避,譬如用1’or2>1 --. 然而唯一恒定的部分是最初的字符的值,跟隨一單引號,再加’or’。隨后的布爾邏輯可能在一定范圍上變化,可以是普通樣式也可能是非常復雜的。這些攻擊可 以相當精確被偵測,通過以下的正則表達式。2.3章節講解。

  2.3 典型的 SQL 注入攻擊的正則表達式

//w*((/%27)|(/’))((/%6F)|o|(/%4F))((/%72)|r|(/%52))/ix 

解釋:
/w* - 零個或多個字符或者下劃線。
(/%27)|/’ - 單引號或它的hex等值。
(/%6 F)|o|(/%4 F))((/%72)|r|-(/%52) -‘or’的大小寫以及它的hex等值。

  union’SQL 查詢在SQL注入各種數據庫中攻擊中同樣是很常見的。如果前面的正則表達式僅僅檢測單引號或則其他的SQL meta characters ,會造成很多的錯誤存在。你應該進一步修改查詢,檢測單引號和關鍵字‘union’。這同樣可以進一步擴展其他的SQL關鍵字,像’select’, ’insert’, ’update’, ’delete’, 等等。

  2.4 檢測SQL注入,UNION查詢關鍵字的正則表達式

/((/%27)|(/’))union/ix

(/%27)|(/’) - 單引號和它的hex等值
union - union關鍵字

  可以同樣為其他SQL查詢定制表達式,如 >select, insert, update, delete, drop, 等等. 

  如果,到這個階段,攻擊者已經發現web應用程序存在SQL注入漏洞,他將嘗試利用它。如果他認識到后端服務器式MS SQL server,他一般會嘗試運行一些危險的儲存和擴展儲存過程。這些過程一般以‘sp’或‘xp’字母開頭。典型的,他可能嘗試運行 ‘xp_cmdshell’擴展儲存過程(通過SQL Server執行Windows 命令)。SQL服務器的SA權限有執行這些命令的權限。同樣他們可以通過xp_regread, xp_regwrite等儲存過程修改注冊表。

  2.5 檢測MS SQL Server SQL注入攻擊的正則表達式

  /exec(/s|/+)+(s|x)p/w+/ix

解釋:
exec - 請求執行儲存或擴展儲存過程的關鍵字
(/s|/+)+ - 一個或多個的空白或它們的http等值編碼
(s|x) p- ‘sp’或‘xp’字母用來辨認儲存或擴展儲存過程
/w+ - 一個或多個字符或下劃線來匹配過程的名稱

  3. 跨站腳本(CSS)的正則表達式

  當發動CSS攻擊或檢測一個網站漏洞的時候, 攻擊者可能首先使簡單的HTML標簽如<b>(粗體),<i>(斜體)或<u>(下劃線),或者他可能嘗試簡單的 script標簽如<script>alert("OK")</script>. 因為大多數出版物和網絡傳播的檢測網站是否有css漏洞都拿這個作為例子。這些嘗試都可以很簡單的被檢測出來。 然而,高明點的攻擊者可能用它的hex值替換整個字符串。這樣<script>標簽會以%3C%73%63%72%69%70%74%3E出 現。 另一方面,攻擊者可能使用web代理服務器像Achilles會自動轉換一些特殊字符如<換成%3C、>換成%3E.這樣攻擊發生時,URL 中通常以hex等值代替角括號。

  下列正則表達式將檢測任何文本中包含的html的<、>。它將捉住試圖使用< b>、<u>、或<script>。這正則表達式應該忽略大小寫。我們需要同時檢測角括號和它的hex等值(% 3C|<)。檢測hex進制轉化的整個字符串,我們必須檢測用戶輸入的數字和%號,即使用[a-z0-9%] 。這可能會導致一些錯誤出現,不是大部分會檢測到真實攻擊的。 

  3.1 一般 CSS 攻擊的正則表達式

/((/%3C)|<)((/%2F)|//)*[a-z0-9/%]+((/%3E)|>)/ix 

解釋:
((/%3C)|<) -檢查<和它hex等值
((/%2F)|//)*-結束標簽/或它的 hex等值
[a-z0-9/%]+ -檢查標簽里的字母或它hex等值
((/%3E)|>) -檢查>或它的hex等值

Snort 規則: 
alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:"NII Cross-site scripting attempt"; flow:to_server,established; pcre:"/((/%3C)|<)((/%2F)|//)*[a-z0-9/%]+((/%3E)|>)/i"; classtype:Web-application-attack; sid:9000; rev:5;) 

  跨站腳本同樣可以使用<img src=>技術。現行默認的snort規則可以被輕易避開。

  3.2章節提供了防止這種技術的方法。

  3.2 "<img src" CSS 攻擊正則表達式

/((/%3C)|<)((/%69)|i|(/%49))((/%6D)|m|(/%4D))((/%67)|g|(/%47))[^/n]+((/%3E)|>)/I 

解釋:
(/%3 C)|<) -<或它的hex等值
(/%69)|i|(/%49))((/%6D)|m|(/%4D))((/%67)|g|(/%47) -’img’字母或它的大小寫hex等值的變化組合
[^/n]+ -除了換行符以外的任何跟隨<img的字符
(/%3E)|>) ->或它的hex等值

  3.3 CSS 攻擊的極端的正則表達式

  /((/%3C)|<)[^/n]+((/%3E)|>)/I 

  解釋:

  這個規則簡單尋找<+除換行符外的任何字符+>。由于你的web服務器和web應用程序的構架,這個規則可能產生一些錯誤。但它能保證捉住任何CCS或者類似CSS的攻擊。

  總結:

  在 這篇文章中,我們提出了不同種類的正則表達式規則來檢測SQL注入和跨站腳本攻擊。有些規則簡單而極端,一個潛在的攻擊都將提高警惕。但這些極端的規則可 能導致一些主動的錯誤??紤]到這點,我們修改了這些簡單的規則,利用了另外的樣式,他們可以檢查的更準確些。在這些網絡應用成的攻擊檢測中,我們推薦將這 些作為調試你IDS或日志分析方法的起點。再經過幾次修改后,在你對正常網交易部分的非惡意應答進行評估以后,你應該可以準備的檢測那些攻擊了。

  參考

1. SQL Injection 

http://www.spidynamics.com/papers/SQLInjectionWhitePaper.pdf 
2. Cross Site Scripting FAQ http://www.cgisecurity.com/articles/xss-

faq.shtml
3. The Snort IDS http://www.snort.org 
4. Perl-compatible regular expressions (pcre) http://www.pcre.org
5. Web application proxy, Achilles http://achilles.mavensecurity.com 
3. Advanced SQL Injection 

http://www.nextgenss.com/papers/advanced_sql_injection.pdf
7. Secure Programming HOWTO, David Wheeler www.dwheeler.com
8. Threats and Countermeasures, MSDN, Microsoft


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲一区二区三区视频播放| 亚洲国产成人在线播放| 亚洲精品白浆高清久久久久久| 欧美精品久久久久久久| 欧美综合第一页| 亚洲国产天堂久久综合网| 欧美性生交大片免网| 日韩精品久久久久久久玫瑰园| 日韩精品极品在线观看播放免费视频| 日韩暖暖在线视频| 亚洲人午夜精品免费| 国产成人精品免高潮费视频| 亚洲国产成人久久综合一区| 欧美黑人狂野猛交老妇| 精品国内产的精品视频在线观看| 欧美视频免费在线| 亚洲福利在线视频| 91性高湖久久久久久久久_久久99| 91在线免费网站| 国产不卡av在线| 亚洲天堂第一页| 亚洲娇小xxxx欧美娇小| 国产精品扒开腿做爽爽爽视频| 91tv亚洲精品香蕉国产一区7ujn| 95av在线视频| 色综久久综合桃花网| 欧美资源在线观看| 午夜精品久久久久久久99黑人| 久久久久久久久久久网站| 91久久在线播放| 色综合亚洲精品激情狠狠| 91欧美精品午夜性色福利在线| 日韩在线免费视频| 亚洲国产成人一区| 亚洲欧洲日本专区| 欧美区在线播放| 欧美亚洲另类制服自拍| 亚洲韩国日本中文字幕| 欧美亚洲国产精品| 亚洲国产高清福利视频| 欧美裸体xxxx极品少妇软件| 国产精品久久久久aaaa九色| 日韩在线播放视频| 在线看国产精品| 69久久夜色精品国产7777| 国产成人精彩在线视频九色| 国产精品成人一区| 亚洲电影免费观看高清完整版在线| 国产精品一区二区性色av| 亚洲无av在线中文字幕| 日韩av免费一区| 欧美午夜精品伦理| 国产性色av一区二区| 韩国v欧美v日本v亚洲| 国产精品成人v| 国产成人一区三区| 欧美性色视频在线| 欧美精品一本久久男人的天堂| 亚洲国产私拍精品国模在线观看| 91黑丝在线观看| 国产精品白嫩美女在线观看| 久久精品国产成人精品| 亚洲一区二区三区四区在线播放| www.久久久久久.com| 欧美日韩午夜视频在线观看| 97视频在线观看成人| 国内揄拍国内精品| 亚洲天天在线日亚洲洲精| 国产精品尤物福利片在线观看| 欧美精品生活片| 亚洲大胆人体在线| 操人视频在线观看欧美| 国产成人在线播放| 久久露脸国产精品| 亚洲视频在线观看| 久久在线免费观看视频| 一区二区三区回区在观看免费视频| 57pao成人永久免费视频| 欧美激情欧美激情在线五月| 日韩av在线电影网| 欧美日韩精品在线观看| 2023亚洲男人天堂| 欧美做受高潮电影o| 亚洲激情在线视频| 国产视频久久网| 日本国产欧美一区二区三区| 亚洲mm色国产网站| 国产成人av在线播放| 亚洲一区二区黄| 2019中文字幕全在线观看| 欧美另类在线播放| 久久精品99久久久香蕉| 亚洲国产精品一区二区久| 国产精品久久久久久一区二区| 欧美性猛交xxxx| 亚洲精品美女在线| 2019亚洲日韩新视频| 欧美理论电影在线观看| 97成人超碰免| 久色乳综合思思在线视频| 久久综合五月天| 热99精品只有里视频精品| 97婷婷大伊香蕉精品视频| 精品视频在线播放色网色视频| 在线视频亚洲欧美| 亚洲综合国产精品| 国产精品成人国产乱一区| 亚洲性xxxx| 91免费在线视频| 亚洲精品日产aⅴ| 久久成人综合视频| 久久国产精品首页| 久久精品一区中文字幕| 欧美激情视频一区二区| 国产精品久久久久久久久借妻| 日韩欧美有码在线| 最近2019中文字幕一页二页| 欧美风情在线观看| 中文字幕欧美日韩在线| 日本久久亚洲电影| 亚洲第一网站男人都懂| 日韩欧美高清在线视频| 中文字幕亚洲精品| 亲爱的老师9免费观看全集电视剧| 亚洲第一在线视频| 久久久久亚洲精品成人网小说| 97碰在线观看| 成人精品一区二区三区电影黑人| 国产综合久久久久久| 亚洲新声在线观看| 91干在线观看| 欧美大片大片在线播放| 欧美另类暴力丝袜| 91系列在线播放| 亚洲第一中文字幕在线观看| 欧美裸体xxxxx| 久久精品国产91精品亚洲| 亚洲欧美精品伊人久久| 亚洲性生活视频在线观看| 日本久久中文字幕| 欧美—级a级欧美特级ar全黄| 欧美裸身视频免费观看| 亚洲欧美综合区自拍另类| 亚洲国模精品一区| 亚洲深夜福利网站| 国产视频精品xxxx| 97av在线视频| 欧美专区中文字幕| 国产欧美日韩精品专区| 欧美亚洲另类制服自拍| 国产精品成人国产乱一区| 中文字幕日韩精品有码视频| 国内精品久久久久伊人av| 成人免费看吃奶视频网站| 中文字幕在线观看亚洲| 亚洲综合成人婷婷小说| 亚洲片在线观看| 亚洲国产欧美一区二区三区久久| 久久久久久亚洲| 国产精品福利在线观看| 亚洲天堂网站在线观看视频| 岛国精品视频在线播放| 日韩欧美在线观看| 最近2019年中文视频免费在线观看|