首页 > 其他分享 >modsecurity:规则例子:匹配url

modsecurity:规则例子:匹配url

时间:2024-10-23 10:43:19浏览次数:1  
标签:匹配 url REQUEST modsecurity URI 403 SecRule phase id

一,拦截包含一个字符串的访问:

1,例子:如下:

11.89.39.11 - - [23/Oct/2024:04:47:22 +0800] "GET /.git/config HTTP/1.1" 404 548 
"-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36" "-" 0.000 

或:

61.227.34.19 - - [23/Oct/2024:03:55:37 +0800] "GET /.env HTTP/1.1" 404 146 "-" "Mozilla/5.0 Keydrop" "-" 0.000

2,规则代码:

SecRule REQUEST_URI "@contains .git" "id:2001,phase:1,deny,status:403"
SecRule REQUEST_URI "@contains .env" "id:2003,phase:1,deny,status:403"

 也可以用一条规则同时拦截多种情况:

SecRule REQUEST_URI "@rx \.git|\.env" "id:2001,phase:1,deny,status:403"

.在正则表达式中表示任意字符,所以前面加了\转义

二,拦截同时包含两个字符串的访问

1,例子:

14.38.23.16 - - [23/Oct/2024:03:40:02 +0800] "GET /js/_system/jQuery-File-Upload/server/php/index.php?file=tf2rghf.jpg HTTP/1.1" 
               404 146 "-" "ALittle Client" "-" 0.000

这种在php后面加参数.jpg,目的是绕过一些过滤规则

2,解决:规则代码:

SecRule REQUEST_URI "@rx \.php.*\.jpg" "phase:1,deny,status:403,id:2100"

 在正则表达式中,.表示任意字符,*表示任意多个

也可以用chain的写法:

例子:

SecRule REQUEST_URI "@contains .php" "chain,phase:1,deny,status:403,id:2100"
    SecRule REQUEST_URI "@contains .jpg"

供参考

标签:匹配,url,REQUEST,modsecurity,URI,403,SecRule,phase,id
From: https://www.cnblogs.com/architectforest/p/18495902

相关文章

  • MYSQL字符串中根据符号匹配固定字符
    如果您有一个字段存储的是多个值,例如分号分隔的字符串,而您仍然需要进行精准匹配,可以使用FIND_IN_SET函数,但需要注意FIND_IN_SET是基于逗号分隔的字符串。如果您的字段是分号分隔的,可以先将其转换为逗号分隔的字符串。假设users表的roles字段存储的是分号分隔的字符串 ......
  • 精通Java并发锁机制:24种锁技巧+业务锁匹配方案
    在Java并发编程中,锁是确保线程安全、协调多线程访问共享资源的关键机制。从基本的synchronized同步关键字到高级的ReentrantLock、读写锁ReadWriteLock、无锁设计如AtomicInteger,再到复杂的同步辅助工具如CountDownLatch、CyclicBarrier和Semaphore,每种锁都针对......
  • curl,nc和telnet的用法以及其他常用工具(nc代理与重定向)
      curl 是一个功能强大的命令行工具和库,用于在网络上传输数据。它支持多种协议,包括HTTP、HTTPS、FTP、FTPS、SFTP、SMTP、POP3、IMAP等。curl 的名称来源于“ClientforURLs”。下面是对 curl 工具的详细介绍,包括基本用法、常用选项以及实际应用场景。基本功能发送......
  • 上传文件路径被UrlScan拒绝访问的问题(转贴)
    原文路径https://tech.powereasy.net/cpzsk/wzfwqwlaq/content_24847 问题分析:安装配置UrlScan,访问上传文件夹存在的文件显示404,发现是被UrlScan拒绝访问的问题,如下图:  处理办法:   UrlScan拒绝了该请求,在UrlScan的日志目录C:\Windows\System32\inetsrv\urlscan\lo......
  • GD-WLAN登录页面抓包及curl模拟方法
    摘要:校园网Web认证界面点击登录时会发送一个Post请求,密码使用时间戳作为密钥进行RC4加密(后经验证,时间戳可为任意值),服务器根据密钥解密并验证账户与密码,验证通过便可以正常上网。因而可以采用curl等工具模拟Post请求,完成登录。实现路由器、服务器、手机、平板等快捷联网。......
  • mongodb 查询条件,查询逻辑对照表,逻辑运算符,正则表达式匹配查询,排序,分页/巧分页,更新操
    mongodb查询条件,查询逻辑对照表,逻辑运算符,正则表达式匹配查询,排序,分页/巧分页,更新操作符,更新单个/多个文档,删除文档,批量插入,$type操作符,内嵌文档和数组查找修改1.条件查询SQLMQLa=1{a:1}a<>1{a:{$ne:1}}a>1{a:{$gt:1}}a>=1{a:{$gte:1}}a<1{a:{$lt......
  • modsecurity: 规则的体系三
    一,modsecurity规则的级别:paranoialevelmodsecurity根据规则可能存在的误报情况,设置了规则的级别,称之为PL(paranoialevel),共有4个级别,分别为1/2/3/4,级别越高,漏报越少,误报越多。用户可以根据实际业务情况适当调整,默认设置PL=1,可以在crs-setup.conf中设置配置文件:crs-setup.con......
  • modsecurity: 规则的体系一
    一,每个事务的生命周期:如图:每个事务在modsecurity需要经历5个阶段,在每个阶段可能需要解析等操作,然后调用相应阶段的规则进行匹配,对应规则中的phase阶段一:requestheaders请求头,这是modsecurity最先接触到的数据,      需要验证请求头相关的规则,并根据请求头来判断......
  • PbootCMS未匹配到本域名有效授权码
    当您遇到“未匹配到本域名有效授权码”的错误提示时,可以按照以下步骤来解决问题:第一步:访问PbootCMS官网的授权码获取页面:第二步:在页面上输入您的域名和验证码,点击“获取授权码”按钮。第三步:成功获取授权码后,将其复制。第四步:登录到您的PbootCMS系统后台:导航至“全......
  • 单模式匹配 KMP 算法 简易版学习笔记
    KMP前缀函数设\(S_i\)为字符串\(S\)的第\(i\)个位置。我们设\(\pi(i)\)表示字符串以\(i\)结尾的前缀的最长公共前后缀的长度。这里的前后缀都指的是真前缀、真后缀。怎么\(O(n)\)求出\(\pi(i)\)。性质:相邻的\(\pi\)至多增加1。因此,若\(s[\pi(i)+1]=s[i+1......