300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > SQL注入技术和跨站脚本攻击的检测(2)【MySQL】

SQL注入技术和跨站脚本攻击的检测(2)【MySQL】

时间:2021-05-10 18:18:59

相关推荐

SQL注入技术和跨站脚本攻击的检测(2)【MySQL】

数据库|mysql教程

,r,表达式,单引号,下划线

数据库-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标签如(粗体),

下列正则表达式将检测任何文本中包含的HTML的。它将捉住试图使用、、或。这正则表达式应该忽略大小写。我们需要同时检测角括号和它的hex等值(% 3C|<)。检测hex进制转化的整个字符串,我们必须检测用户输入的数字和%号,即使用[a-z0-9%] 。这可能会导致一些错误出现,不是大部分会检测到真实攻击的。

3.1 一般 CSS 攻击的正则表达式

/((/%3C)|)/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)|)/i”; classtype:Web-application-attack; sid:9000; rev:5;)

跨站脚本同样可以使用技术。现行默认的snort规则可以被轻易避开。

3.2章节提供了防止这种技术的方法。

3.2 “<img src" CSS 攻击正则表达式

/((/%3C)|)/I

解释:

(/%3 C)|<) -<或它的hex等值

(/%69)|i|(/%49))((/%6D)|m|(/%4D))((/%67)|g|(/%47) -’img’字母或它的大小写hex等值的变化组合

[^/n]+ -除了换行符以外的任何跟随<img的字符

(/%3E)|>) ->或它的hex等值

3.3 CSS 攻击的极端的正则表达式

/((/%3C)|)/I

解释:

这个规则简单寻找。由于你的web服务器和web应用程序的构架,这个规则可能产生一些错误。但它能保证捉住任何CCS或者类似CSS的攻击。

总结:

在 这篇文章中,我们提出了不同种类的正则表达式规则来检测SQL注入和跨站脚本攻击。有些规则简单而极端,一个潜在的攻击都将提高警惕。但这些极端的规则可 能导致一些主动的错误。考虑到这点,我们修改了这些简单的规则,利用了另外的样式,他们可以检查的更准确些。在这些网络应用成的攻击检测中,我们推荐将这 些作为调试你IDS或日志分析方法的起点。再经过几次修改后,在你对正常网交易部分的非恶意应答进行评估以后,你应该可以准备的检测那些攻击了。

参考

1. SQL Injection

/papers/SQLInjectionWhitePaper.pdf

2. Cross Site Scripting FAQ /articles/xss-

faq.sHTML

3. The Snort IDS

4. Perl-compatible regular expressions (pcre)

5. Web application proxy, Achilles

3. Advanced SQL Injection

/papers/advanced_sql_injection.pdf

7. Secure Programming HOWTO, David Wheeler

8. Threats and Countermeasures, MSDN, Microsoft

在线播放视频插件源码,ubuntu 16蓝屏,如何配置Tomcat8.5,爬虫 人肉搜索,Php危险函数是什么,搜索引擎seo营销案例lzw

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。