찾다
데이터 베이스MySQL 튜토리얼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;) 

跨站脚本同样可以使用SQL注入技术和跨站脚本攻击的检测(2)_MySQL技术。现行默认的snort规则可以被轻易避开。

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

3.2 "SQL注入技术和跨站脚本攻击的检测(2)_MySQL

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

解释:
(/%3 C)|(/%69)|i|(/%49))((/%6D)|m|(/%4D))((/%67)|g|(/%47) -’img’字母或它的大小写hex等值的变化组合
[^/n]+ -除了换行符以外的任何跟随SQL注入技术和跨站脚本攻击的检测(2)_MySQL(/%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

 

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
下划线在键盘上怎么打 如何不打字只打下划线下划线在键盘上怎么打 如何不打字只打下划线Feb 22, 2024 pm 07:46 PM

将输入法调至英文后按住Shift键和减号键即可。教程适用型号:联想AIO520C系统:Windows10专业版版本:MicrosoftOfficeWord2022解析1首先检查输入法的中英文打字,调整至英文。2然后同时按住键盘上的Shift键和减号键。3检查界面,即可查看已打出的下划线。补充:Word文档如何快捷输入下划线1如果需要在Word中输入下划线,用鼠标选中空格后,选择字体菜单中选择下划线类型即可输入。总结/注意事项一定要先将输入法换至英文再进行操作,否则无法成功输入下划线。

wps文档空白下划线怎么打不出来应该怎么打下划线wps文档空白下划线怎么打不出来应该怎么打下划线Mar 20, 2024 am 09:40 AM

在word上输入文字时,有时候有些位置需要设置下划线,用来说明或者着重强调等作用,那么wps文档空白下划线怎么打不出来?应该怎么打下划线呢?下面小编就为大家详细介绍一下,来看看吧。WPS文档中可以在空白处打下划线,如图中的样式。如何做到呢?详细操作请往下看。以图中的文档为例演示如何在空白处打下划线。光标放在图中“姓名”冒号右侧,连按键盘的空格键,为了方便演示小编把字体调大,如下图:2、然后,光标到设定的位置后,点住不放手,往左边拖动,拖到冒号侧边,如图所示:3、再点“下划线”图标,如图中的箭头所

css a怎么取消下划线css a怎么取消下划线Jan 28, 2023 pm 03:07 PM

css a取消下划线的方法:1、创建一个HTML示例文件;2、在body中添加a标签;3、通过给指定a标签添加“#none{text-decoration: none;}”实现取消下划线即可。

excel下划线怎么打出来excel下划线怎么打出来Mar 20, 2024 am 08:37 AM

社会的进步,让科技也取得了飞速的发展,电子设备也成了现在办公的标准配置,如今的办公软件种类多样,excel依然是办公软件中经常用到的操作,我们有时候在表格里设置的数据,为了重点突出这些内容,我们会选择不同颜色字体或是加深字体,有时还会在它下边标注下划线进行重点标注,字体很容易设置,但是下划线不是大家都知道怎么填加的,小编今天教新手朋友excel下划线怎么打出来。1、打开Excel,打上几个文字,如下图所示。  2、选中文字,单击右键“设置单元格格式”选项,如下图所示。  3、找到“单下划线”,并

如何解决RedHat虚拟机中无法输入双引号的问题?如何解决RedHat虚拟机中无法输入双引号的问题?Dec 30, 2023 pm 08:01 PM

今天不知道修改了什么设置,我在vim里面写程序的时候,发现单引号和双引号都打不出来。双引号打出来的效果是¨¨,这会是导致程序出错!出现这种问题的原因是键盘布局与实际不相符,要进行修改。单/双引号打不出来的解决办法:(备注:如果你的桌面是英文版,请自己进行翻译。)1、点击系统-->选择管理-->选择键盘,将美国国际式改为美国英语式!2、点击系统-->选择首选项-->选择键盘。检查设置是否与下图一致:然后重新打开vim工具,问题应该就解决了!

word下划线怎么打?打word下划线的方法word下划线怎么打?打word下划线的方法Mar 06, 2024 pm 03:00 PM

在Word中打下划线可以用来强调或突出单词、短语或句子,增强语气或着重点,使文本更具凝聚性和可读性。通过使用下划线,可以吸引读者的注意力,使重要信息更加突出。下划线还可以用于表示列表中的项目,将一系列单词或句子组合成一个清晰的列表,提高文档的组织性和可读性。在Word中打下划线有多种方法,以下是一些常见的方法:word下划线怎么打?打word下划线的方法方法一,使用键盘快捷键:在文档中,按“Shift+下划线键(即数字键盘上的减号键)”,即可在文本中创建一个下划线。方法二,使用自动格式设置:在输

Python或R:哪种编程语言更适合数据科学?Python或R:哪种编程语言更适合数据科学?Apr 12, 2023 am 08:28 AM

关于 R 的一点背景R 是一种编程语言和分析工具,由 Ross Ihaka 和 Robert Gentleman 开发,并于 1993 年首次推出。同时,它也是免费的开源软件,拥有丰富的 统计和图形化技术库。R 是 分析师、统计学家 和 研究人员 用得最多的工具之一,用于 检索、清理、分析、可视化 和 呈现数据,很多行业如 IT、银行、医疗、金融都使用 R。用途 数据科学家可以使用 R 编程语言来收集数据,进行统计分析,并产生可视化结果。 它可以用于图形化表示。 R 既可用于机器学习,也可用于深

PHP中单引号和双引号的使用规则解析PHP中单引号和双引号的使用规则解析Mar 05, 2024 pm 09:30 PM

在PHP中,单引号和双引号是两种常见的字符串包裹方式,它们在使用时有着不同的特点和规则。本文将分别对单引号和双引号的使用规则进行解析,并提供具体的代码示例来帮助读者更好地理解它们的区别。一、单引号的使用规则:单引号内的内容会被原样输出,不会解析其中的变量或转义字符。这意味着在单引号内部,PHP将字符串认定为普通的字符序列,不会对其中的内容做任何处理。单引号内

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음