ModSecurity CRS笔记[转]
对安全人员而言,WAF貌似最有价值的是规则,我们来看看ModSecurity CRS规则集的组织结构。ModSecurity CRS 规则集包括一个配置文件与四个部分(基础规则集、SLR规则集、可选规则集、实验性质规则集)
配置文件
modsecurity_crs_10_setup.conf
第一部分:基础规则集
modsecurity_crs_20_protocol_violations.conf HTTP协议规范相关规则
modsecurity_crs_21_protocol_anomalies.conf HTTP协议规范相关规则
modsecurity_crs_23_request_limits.conf HTTP协议大小长度限制相关规则
modsecurity_crs_30_http_policy.conf HTTP协议白名单相关规则
modsecurity_crs_35_bad_robots.conf 恶意扫描器与爬虫规则
modsecurity_crs_40_generic_attacks.conf 常见的攻击例如命令执行,代码执行,注入,文件包含、敏感信息泄露、会话固定、HTTP响应拆分等相关规则
modsecurity_crs_41_sql_injection_attacks.conf SQL注入相关规则(竟然有一条MongoDB注入的规则,很全)
modsecurity_crs_41_xss_attacks.conf XSS相关规则
modsecurity_crs_42_tight_security.conf 目录遍历相关规则
modsecurity_crs_45_trojans.conf webshell相关规则
modsecurity_crs_47_common_exceptions.conf Apache异常相关规则
modsecurity_crs_49_inbound_blocking.conf 协同防御相关规则
modsecurity_crs_50_outbound.conf 检测response_body中的错误信息,警告信息,列目录信息
modsecurity_crs_59_outbound_blocking.conf 协同防御相关规则
modsecurity_crs_60_correlation.conf 协同防御相关规则
第二部分:SLR规则集
来自确定APP的PoC,不会误报,检测方法是先检查当前请求的文件路径是否出现在data文件中,若出现再进行下一步测试,否则跳过该规则集的检测
modsecurity_crs_46_slr_et_joomla_attacks.conf JOOMLA应用的各种漏洞规则
modsecurity_crs_46_slr_et_lfi_attacks.conf 各种APP的本地文件包含相关规则
modsecurity_crs_46_slr_et_phpbb_attacks.conf PHPBB应用的各种漏洞规则
modsecurity_crs_46_slr_et_rfi_attacks.conf 各种APP的远程文件包含相关规则
modsecurity_crs_46_slr_et_sqli_attacks.conf 各种APP的SQL注入相关规则
modsecurity_crs_46_slr_et_wordpress_attacks.conf WORDPRESS应用的各种漏洞规则
modsecurity_crs_46_slr_et_xss_attacks.conf 各种APP的XSS相关规则
第三部分:可选规则集
modsecurity_crs_10_ignore_static.conf 静态文件不过WAF检测的相关规则
modsecurity_crs_11_avs_traffic.conf AVS(授权的漏洞扫描器)的IP白名单规则
modsecurity_crs_13_xml_enabler.conf 请求体启用XML解析处理
modsecurity_crs_16_authentication_tracking.conf 记录登陆成功与失败的请求
modsecurity_crs_16_session_hijacking.conf 会话劫持检测
modsecurity_crs_16_username_tracking.conf 密码复杂度检测
modsecurity_crs_25_cc_known.conf CreditCard验证
modsecurity_crs_42_comment_spam.conf 垃圾评论检测
modsecurity_crs_43_csrf_protection.conf 与modsecurity_crs_16_session_hijacking.conf联合检测,使用内容注入动作append注入CSRF Token
modsecurity_crs_46_av_scanning.conf 使用外部脚本扫描病毒
modsecurity_crs_47_skip_outbound_checks.conf modsecurity_crs_10_ignore_static.conf的补充
modsecurity_crs_49_header_tagging.conf 将WAF规则命中情况配合Apache RequestHeader指令注入到请求头中,以供后续应用进一步处理
modsecurity_crs_55_application_defects.conf 安全头(X-XSS-Protection,X-FRAME-OPTIONS,X-Content-Type-Options)设置,安全Cookie设置(Domain,httponly,secure),字符集设置等规则
modsecurity_crs_55_marketing.conf记录MSN/Google/Yahoo robot情况
第四部分:实验性规则集
modsecurity_crs_11_brute_force.conf 防御暴力破解相关规则
modsecurity_crs_11_dos_protection.conf 防DoS攻击相关规则
modsecurity_crs_11_proxy_abuse.conf 检测X-Forwarded-For是否是恶意代理IP,IP黑名单
modsecurity_crs_11_slow_dos_protection.conf Slow HTTP DoS攻击规则
modsecurity_crs_25_cc_track_pan.conf 检测响应体credit card信息
modsecurity_crs_40_http_parameter_pollution.conf 检测参数污染
modsecurity_crs_42_csp_enforcement.conf CSP安全策略设置
modsecurity_crs_48_bayes_analysis.conf 使用外部脚本采取贝叶斯分析方法分析HTTP请求,区分正常与恶意请求
modsecurity_crs_55_response_profiling.conf 使用外部脚本将响应体中的恶意内容替换为空
modsecurity_crs_56_pvi_checks.conf使用外部脚本检测 REQUEST_FILENAME是否在osvdb漏洞库中
modsecurity_crs_61_ip_forensics.conf 使用外部脚本收集IP的域名、GEO等信息
modsecurity_crs_40_appsensor_detection_point_2.0_setup.conf APPSENSOR检测设置文件
modsecurity_crs_40_appsensor_detection_point_3.0_end.conf APPSENSOR检测设置文件
modsecurity_crs_16_scanner_integration.conf 对扫描器设置IP白名单,并调用扫描器API来进行检测
modsecurity_crs_46_scanner_integration.conf
modsecurity_crs_40_appsensor_detection_point_2.1_request_exception.conf 使用外部脚本检测请求方法,参数个数,参数名字,参数长度,参数字符等限制
modsecurity_crs_40_appsensor_detection_point_2.9_honeytrap.conf 使用隐藏参数设置蜜罐
ModSecurity CRS单条规则的内容,请参看ModSecurity CRS详解
shell上传:见文件上传
shell连接:get/post/cookie
GET
POST
Referer
Cookie
X_Forwarded_For
UserAgent
Basic-Authorization
get lfi/rfi
post lfi/rfi
cookie lrfi/rfi
data://URI
php://input
php://filter
get directory traversal
post directory traversal
php
asp(x)
jsp
struts2
nginx CVE
PHP CGI
get rce
post rce
GET
POST
get code injection
post code injection
svn/cvs
后台暴露
不合规范的RequestLine
异常文件名
请求体解析错误
multipart请求体解析错误
Content-Length异常
Content-Enoding异常
Range异常
Request-Range异常
Expect异常
Connection异常
Pragma, Cache-Control
Host异常
User-Agent异常
Accpet异常
X-Forwarded-For异常
编码异常,url编码异常,utf-8异常
charset设置缺失或不一致
Cookie Domain/httponly/secure设置错误
安全头设置错误X-XSS-Protection,X-FRAME-OPTIONS,X-Content-Type-Options
允许请求方法 GET/POST/HEAD
允许协议版本HTTP/1.0 or HTTP/1.1
允许Content-Type
允许的文件后缀名
允许的请求头
长度限制
参数名长度限制
参数值长度限制
参数个数限制
参数的总大小
上传文件大小限制
上传文件总大小限制
编码限制
ModSecurity CRS笔记[转]的更多相关文章
- [转]Web应用防火墙WAF详解
通过nginx配置文件抵御攻击 0x00 前言 大家好,我们是OpenCDN团队的Twwy.这次我们来讲讲如何通过简单的配置文件来实现nginx防御攻击的效果. 其实很多时候,各种防攻击的思路我们都明 ...
- WAF的实现
文章来源:http://danqingdani.blog.163.com/blog/static/1860941952014101723845500/ 本篇文章从WAF产品研发的角度来YY如何实现一款 ...
- 如何打造一款可靠的WAF
之前写了一篇<WAF防御能力评测及工具>,是站在安全运维人员选型WAF产品的角度来考虑的(优先从测试角度考虑是前职业病,毕竟当过3年游戏测试?!).本篇文章从WAF产品研发的角度来YY如何 ...
- OWASP ModSecurity Core Rule Set (CRS)的基本使用
Preface 前述文章开源WAF工具ModSecurity,介绍了ModSecurity作为Nginx的动态加载模块的基本安装和使用. 本篇简单介绍ModSecurity CRS规则集的使用. # ...
- nginx配合modsecurity实现WAF功能
一.准备工作 系统:centos 7.2 64位.nginx1.10.2, modsecurity2.9.1 owasp3.0 1.nginx:http://nginx.org/download/ng ...
- ModSecurity SQL注入攻击
ModSecurity是 一个入侵探测与阻止的引擎,它主要是用于Web应用程序所以也可以叫做Web应用程序防火墙.它可以作为Apache Web服务器的一个模块或单独的应用程序来运行.ModSecur ...
- ModSecurity for Nginx
Announcing the availability of ModSecurity extension for Nginx ModSecurity for Nginx ModSecurity for ...
- ModSecurity SQL注入攻击 – 深度绕过技术挑战
ModSecurity是一个入侵探测与阻止的引擎,它主要是用于Web应用程序所以也可以叫做Web应用程序防火墙.它可以作为Apache Web服务器的一个模块或单独的应用程序来运行.ModSecuri ...
- ModSecurity的规则
一.ModSecurity的规则 基本格式 SecRule VARIABLES OPERATOR ACTIONS SecRule:ModSecurity主要的指令,用于创建安全规则. VARIABLE ...
随机推荐
- CodeIgniter类库之Benchmarking Class ,计算代码的执行时间
CodeIgniter中有个Benchmarking类库,它是被系统自动被加载的,不需要手工加载.Benchmarking类库能够计算出任意两个被标记点之间的代码执行时间.通过这个数值,可以评估程序员 ...
- Where is Vasya?
Where is Vasya? Vasya stands in line with number of people p (including Vasya), but he doesn't know ...
- python 中@property的使用
从14年下半年开始接触到python,自学了一段时间,后又跟别人学习了下,把基础知识基本上学过了.忽然感觉python不可能这么简单吧,就这么点东西?后来看了下书,发现还有很多的高级部分.连续看了两天 ...
- [C#/.NET]Entity Framework(EF) Code First 多对多关系的实体增,删,改,查操作全程详细示例
本文我们来学习一下在Entity Framework中使用Context删除多对多关系的实体是如何来实现的.我们将以一个具体的控制台小实例来了解和学习整个实现Entity Framework 多对多关 ...
- HDU 3007 Buried memory & ZOJ 1450 Minimal Circle
题意:给出n个点,求最小包围圆. 解法:这两天一直在学这个神奇的随机增量算法……看了这个http://soft.cs.tsinghua.edu.cn/blog/?q=node/1066之后自己写了好久 ...
- [Bhatia.Matrix Analysis.Solutions to Exercises and Problems]ExI.3.6
If $A$ is a contraction, show that $$\bex A^*(I-AA^*)^{1/2}=(I-A^*A)^{1/2}A^*. \eex$$ Use this to sh ...
- spring的三种注入方式
接口注入(不推荐) 构造器注入(死的应用) getter,setter方式注入(比较常用) Type1 接口注入 我们常常借助接口来将调用者与实现者分离.如: public class ClassA ...
- BinaryReader和BinaryWriter的leaveOpen参数 z
在.NET 4.5后,微软为BinaryWriter和BinaryReader类型的构造函数中加入了leaveOpen参数,当该参数为true后,BinaryReader或者BinaryWriter关 ...
- 明修栈道,暗渡陈仓----之私募一哥徐翔新玩法 z
前言:去年以来,因徐翔和宁电突然举牌资质平平的 000692 惠天热电,引起本人的兴趣,陆陆续续花了比较多的时间和精力去研究和跟踪000692惠天热电,期间也两次亲自去沈阳调研,从一些台前幕后人士那里 ...
- HDU 2196-Computer(树形dp)
题意: 给出电脑网络连接树,求每个节点的为起点的最长距离 分析: 这道题开始状态想不出来,放了一段时间,后来注意到例题上有这道题,每个节点的最长距离可由父节点的最长距离,次长距离,和子节点的最长距离( ...