SQL注入技术和跨站脚本攻击的检测(2)_MySQL
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标签如(粗体),(斜体)或(下划线),或者他可能尝试简单的 script标签如<script>alert("OK")</script>. 因为大多数出版物和网络传播的检测网站是否有CSS漏洞都拿这个作为例子。这些尝试都可以很简单的被检测出来。 然而,高明点的攻击者可能用它的hex值替换整个字符串。这样<script>标签会以%3C%73%63%72%69%70%74%3E出 现。 另一方面,攻击者可能使用web代理服务器像Achilles会自动转换一些特殊字符如<换成%3C、>换成%3E.这样攻击发生时,URL 中通常以hex等值代替角括号。 </script>
下列正则表达式将检测任何文本中包含的HTML的。它将捉住试图使用、、或<script>。这正则表达式应该忽略大小写。我们需要同时检测角括号和它的hex等值(% 3C|<)。检测hex进制转化的整个字符串,我们必须检测用户输入的数字和%号,即使用[a-z0-9%] 。这可能会导致一些错误出现,不是大部分会检测到真实攻击的。 </script>
3.1 一般 CSS 攻击的正则表达式
/((/%3C)|)/ix
解释:
((/%3C)|((/%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)|)/i"; classtype:Web-application-attack; sid:9000; rev:5;)
跨站脚本同样可以使用技术。现行默认的snort规则可以被轻易避开。
3.2章节提供了防止这种技术的方法。
3.2 "
/((/%3C)|)/I
解释:
(/%3 C)|(/%69)|i|(/%49))((/%6D)|m|(/%4D))((/%67)|g|(/%47) -’img’字母或它的大小写hex等值的变化组合
[^/n]+ -除了换行符以外的任何跟随(/%3E)|>) ->或它的hex等值
3.3 CSS 攻击的极端的正则表达式
/((/%3C)|)/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

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

將輸入法調至英文後按住Shift鍵和減號鍵即可。教學適用型號:聯想AIO520C系統:Windows10專業版版本:MicrosoftOfficeWord2022解析1先檢查輸入法的中英文打字,調整至英文。 2然後同時按住鍵盤上的Shift鍵和減號鍵。 3檢查介面,即可查看已打出的底線。補充:Word文件如何快速輸入底線1如果需要在Word中輸入下劃線,用滑鼠選取空格後,選擇字體選單中選擇底線類型即可輸入。總結/注意事項一定要先將輸入法換至英文再進行操作,否則無法成功輸入底線。

在word上輸入文字時,有時候有些位置需要設定底線,用來說明或著重強調等作用,那麼wps文檔空白下劃線怎麼打不出來?該怎麼打下劃線呢?下面小編就為大家詳細介紹一下,來看看吧。 WPS文件中可以在空白處打下劃線,如圖中的樣式。如何做到呢?詳細操作請往下看。以圖中的文件為例示範如何在空白處打下劃線。遊標放在圖中「姓名」冒號右側,連按鍵盤的空格鍵,為了方便示範小編把字體調大,如下圖:2、然後,遊標到設定的位置後,點住不放手,往左邊拖動,拖到冒號側邊,如圖所示:3、再點「下劃線」圖標,如圖中的箭頭所

社會的進步,讓科技也取得了快速的發展,電子設備也成了現在辦公的標準配置,如今的辦公軟體種類多樣,excel依然是辦公軟體中常用到的操作,我們有時候在表格裡設置的數據,為了重點突出這些內容,我們會選擇不同顏色字體或是加深字體,有時還會在它下邊標註下劃線進行重點標註,字體很容易設置,但是下劃線不是大家都知道怎麼填加的,小編今天教新手朋友excel下劃線怎麼打。 1.打開Excel,打上幾個文字,如下圖。 2、選取文字,點選右鍵「設定儲存格格式」選項,如下圖所示。 3、找到“單下劃線”,並

css a取消底線的方法:1.建立一個HTML範例檔案;2、在body中新增a標籤;3、透過給指定a標籤新增「#none{text-decoration: none;}」實作取消底線即可。

今天不知道修改了什麼設置,我在vim裡面寫程式的時候,發現單引號和雙引號都打不出來。雙引號打出來的效果是¨¨,是導致程式出錯!造成這種問題的原因是鍵盤佈局與實際上不相符,要修改。單/雙引號打不出來的解決方法:(備註:如果你的桌面是英文版,請自己進行翻譯。)1、點擊系統-->選擇管理-->選擇鍵盤,將美國國際式改為美國英語式! 2、點選系統-->選擇首選項-->選擇鍵盤。檢查設定是否與下圖一致:然後重新開啟vim工具,問題應該就解決了!

關於 R 的一點背景R 是一種程式語言和分析工具,由 Ross Ihaka 和 Robert Gentleman 開發,並於 1993 年首次推出。同時,它也是免費的開源軟體,擁有豐富的 統計和圖形化技術庫。 R 是 分析師、統計學家 和 研究人員 用得最多的工具之一,用於 檢索、清理、分析、視覺化 和 呈現數據,許多行業如 IT、銀行、醫療、金融都使用 R。用途 資料科學家可以使用 R 程式語言來收集數據,進行統計分析,並產生視覺化結果。它可以用於圖形化表示。 R 既可用於機器學習,也可用於深

在Word中打下劃線可以用來強調或突出單字、片語或句子,增強語氣或著重點,使文字更具凝聚性和可讀性。透過使用下劃線,可以吸引讀者的注意力,使重要訊息更加突出。底線也可以用於表示列表中的項目,將一系列單字或句子組合成一個清晰的列表,提高文件的組織性和可讀性。在Word中打下劃線有多種方法,以下是一些常見的方法:word下劃線怎麼打?打word下劃線的方法方法一,使用鍵盤快捷鍵:在文檔中,按“Shift+下劃線鍵(即數字鍵盤上的減號鍵)”,即可在文本中創建一個下劃線。方法二,使用自動格式設定:在輸

Redstone (RED)空投活動為BNB持有者帶來豐厚收益! Redstone,一個支持70多個區塊鏈、覆蓋1250多個資產的創新型多鏈預言機項目,其代幣RED通過幣安Launchpool進行空投。參與活動,BNB持有者可將閒置資產投入RED獎勵池進行挖礦,獲得RED代幣,實現資產增值,提高資產利用效率,並豐富投資組合,降低風險。 但需注意加密貨幣市場波動性,理性投資,謹慎評估風險。 立即參與Redstone (RED)空投,抓住財富機遇!
