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 기반 앱

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











입력 방법을 영어로 조정하고 Shift 키와 빼기 키를 길게 누릅니다. 튜토리얼 적용 모델 : Lenovo AIO520C 시스템 : Windows 10 Professional Edition : Microsoft Office Word 2022 분석 1 먼저 입력 방식의 중국어, 영어 타이핑을 확인하고 영어로 조정합니다. 2 그런 다음 키보드의 Shift 키와 빼기 키를 동시에 누르십시오. 3 밑줄 친 단어를 보려면 인터페이스를 확인하세요. 보충: 워드 문서에서 밑줄을 빠르게 입력하는 방법 1. 워드에서 밑줄을 입력해야 하는 경우 마우스로 공백을 선택한 후 글꼴 메뉴에서 밑줄 종류를 선택하여 입력합니다. 요약/주의사항: 계속하기 전에 입력 방법을 영어로 변경하십시오. 그렇지 않으면 밑줄을 성공적으로 입력할 수 없습니다.

Word에서 텍스트를 입력할 때 설명하거나 강조하기 위해 일부 위치에 밑줄을 쳐야 하는 경우가 있습니다. 그런데 왜 WPS 문서의 빈 밑줄이 인쇄되지 않습니까? 밑줄은 어떻게 쳐야 할까요? 아래에서 에디터가 자세히 소개해드리겠습니다. WPS 문서에서는 그림과 같이 공백에 밑줄을 긋을 수 있습니다. 어떻게 하나요? 자세한 작업은 아래를 읽어주세요. 빈 공간에 밑줄을 긋는 방법을 보여주기 위해 그림의 문서를 예로 들어 보겠습니다. 그림에서 "이름"의 콜론 오른쪽에 커서를 놓고 키보드의 스페이스바를 눌러 설명을 쉽게 하기 위해 아래와 같이 글꼴 크기를 늘렸습니다. 2. 그런 다음, 다음을 수행합니다. 커서가 설정된 위치에 도달하면 놓지 않고 길게 클릭한 후 그림과 같이 콜론 왼쪽으로 드래그하여 이동합니다. 3. 그런 다음 그림에서 화살표로 표시된 "밑줄" 아이콘을 클릭합니다. 사진.

사회가 발전함에 따라 기술도 급속히 발전하여 오늘날의 사무실에는 전자 장비가 표준 구성이 되었습니다. 오늘날에도 다양한 유형의 사무용 소프트웨어가 있으며, 사무용 소프트웨어에서는 여전히 일반적으로 사용되는 작업이 테이블로 설정되어 있습니다. 이러한 내용을 강조하기 위해 다른 색상의 글꼴을 선택하거나 글꼴을 심화하고 때로는 강조하기 위해 밑줄을 긋습니다. 글꼴 설정은 쉽지만 밑줄을 추가하는 방법은 모두가 알지 못합니다. 엑셀에서 밑줄 긋는 방법. 1. 엑셀을 열고 아래 그림과 같이 몇 단어를 입력하세요. 2. 아래 그림과 같이 텍스트를 선택하고 마우스 오른쪽 버튼을 클릭한 후 "셀 서식" 옵션을 선택합니다. 3. "단일 밑줄"을 찾아

CSS a에서 밑줄을 취소하는 방법: 1. HTML 샘플 파일을 만듭니다. 2. 본문에 a 태그를 추가합니다. 3. 지정된 a에 "#none{text-꾸밈: none;}"을 추가하여 밑줄을 취소합니다. 꼬리표.

오늘은 어떤 설정이 수정되었는지 모르겠습니다. vim에서 프로그램을 작성할 때 작은따옴표나 큰따옴표를 모두 입력할 수 없다는 것을 발견했습니다. 큰따옴표의 효과는 ¨¨이며, 이로 인해 프로그램 오류가 발생합니다! 이 문제가 발생하는 이유는 키보드 레이아웃이 실제 상황과 일치하지 않아 수정이 필요하기 때문입니다. 입력할 수 없는 작은따옴표/큰따옴표에 대한 해결 방법: (참고: 바탕 화면이 영어인 경우 직접 번역하십시오.) 1. 시스템->관리 선택->키보드 선택을 클릭하고 American International을 American English로 변경합니다. 스타일! 2. 시스템-->기본 설정 선택-->키보드 선택을 클릭합니다. 설정이 아래 그림과 일치하는지 확인하십시오. 그런 다음 vim 도구를 다시 열면 문제가 해결됩니다!

Word의 밑줄은 단어, 구 또는 문장을 강조하거나 강조하고, 어조나 초점을 강화하고, 텍스트를 더욱 응집력 있고 읽기 쉽게 만드는 데 사용할 수 있습니다. 밑줄을 사용하면 독자의 주의를 끌고 중요한 정보를 더욱 눈에 띄게 만들 수 있습니다. 밑줄은 일련의 단어나 문장을 명확한 목록으로 결합하여 문서의 구성과 가독성을 향상시켜 목록의 항목을 나타내는 데에도 사용할 수 있습니다. Word에서 밑줄을 긋는 방법에는 여러 가지가 있습니다. 다음은 몇 가지 일반적인 방법입니다. Word에서 밑줄을 긋는 방법은 무엇입니까? Word에서 밑줄을 긋는 방법 1: 키보드 단축키 사용: 문서에서 "Shift+밑줄 키(숫자 키보드의 빼기 기호 키)"를 눌러 텍스트에 밑줄을 만듭니다. 방법 2, 자동 서식 사용: Enter

R에 대한 약간의 배경 R은 Ross Ihaka와 Robert Gentleman이 개발하고 1993년에 처음 소개된 프로그래밍 언어 및 분석 도구입니다. 동시에 풍부한 통계 및 그래픽 기술 라이브러리를 갖춘 무료 오픈 소스 소프트웨어이기도 합니다. R은 IT, 은행, 의료, 금융 등 많은 산업에서 데이터 검색, 정리, 분석, 시각화 및 제시를 위해 분석가, 통계학자 및 연구원이 가장 많이 사용하는 도구 중 하나입니다. 목적 데이터 과학자는 R 프로그래밍 언어를 사용하여 데이터를 수집하고, 통계 분석을 수행하고, 시각화를 생성할 수 있습니다. 그래픽 표현에 사용할 수 있습니다. R은 머신러닝과 딥러닝 모두에 사용될 수 있습니다.

PHP에서 작은따옴표와 큰따옴표는 두 가지 일반적인 문자열 래핑 방법이며 사용 시 서로 다른 특성과 규칙을 갖습니다. 이 기사에서는 작은따옴표와 큰따옴표 각각의 사용 규칙을 분석하고 독자가 차이점을 더 잘 이해할 수 있도록 구체적인 코드 예제를 제공합니다. 1. 작은따옴표 사용 규칙: 작은따옴표 안의 내용은 그대로 출력되며, 변수나 이스케이프 문자는 구문 분석되지 않습니다. 즉, 작은 따옴표 안의 PHP는 문자열을 일반적인 문자 시퀀스로 인식하고 내용에 대해 아무 작업도 수행하지 않습니다. 작은따옴표 안에
