问题标签 [mod-security2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apache - 仅来自指定 IP 地址的 Mod Security2 停用规则
是否可以通过 Mod Security2 禁用规则,仅针对一个指定的 IP 地址?
仅适用于一个指定的 IP 地址&仅适用于一个指定的路径 ( /administrator ) ?
我试过这个:
但它不起作用。:(
我有 Ubuntu 14.04 LTS 服务器,我刚刚设法安装了 mod security2。
url - 我如何阻止对特定页面的请求?
我想完全删除或阻止对我网站中特定页面的访问。
更具体地说,我看到了这个漏洞利用“ Joomla COM_MEDIA Exploit ”:http ://all1gat0r.blogspot.gr/2013/08/joomla-commedia-exploit.html
从我所见,有页面:/index.php?option=com_media&view=images&tmpl=component&fieldid=&e_name=jform_articletext&asset=com_content&author=&folder=
该漏洞对我不起作用,但无论如何我想完全删除上面的页面。我怎样才能做到这一点?
Web 服务器:Ubuntu 14.04 LTS(安装了Mod Security2)
网站:Joomla 3.1.5
php - Apache2 ModSecurity2 不起作用(Ubuntu 14.04)
我遵循了wiki.ubuntuusers.de上的官方文档,但我的 test.php 文件仍然允许恶意访问,例如 test.php?secret_file=my/secret/file.txt。想法为什么?
测试.php:
test.php?secret_file=my/secret/file.txt 的预期结果是 HTTP 403 -access denied,但我的 Web 服务器仍然显示包含文件的内容。
我的安装步骤:
这是我的 modsec_debug.log 文件:modsec_debug.log
当我调用恶意 test.php?secret_file=my/secret/file.txt 它说:
c++ - MinGW:错误:无法识别的命令行选项“-V”
我正在尝试使用 minGW 编译 modsecurity。这实际上可能是不可能的,因为似乎指示指定使用 MSVC。但是,我希望有人可以告诉我该怎么做,或者解释为什么它不起作用。
我的完整 config.log 可以在http://pastebin.com/WsprFZqK找到,但为了后代,我试图将它修剪成适合这里的东西。
apache - 带参数的 mod_security 重定向
嘿伙计们!
我有一个关于 mod 安全性的问题:我想创建一个规则,当条件匹配时添加一个 POST 参数:
或者,触发将 POST 参数保留到服务器的重定向。那可能吗?任何解决方法?
以上给出:
variables - Dynamic variable usage in ModSecurity
Brief
I have been trying to write rules to protect a website from DoS attacks and the website have only one page /index.php
. However, each user is identified by an unique token like this /index.php?a=abcdef
. This page sends a lot of ajax calls that gets and posts information, periodically, as long as the user is active in the page.
Problem
During a DoS attack, I need to block only the specific user using the token ?a=abcdef
, which is dynamic. And the actual length of the token is around 45 characters, consisting of [a-zA-Z0-9]
. The website is visited by either a single user
or user group (more than 10 users)
from an IP address. The problem is, during a DoS attack, when blocking the user, I need to take the token into consideration. However, as far as I understand, unless I use a dynamic variable like, tx.dos_counter_%{ARGS_GET}=+1
, I may not be able to identify an user uniquely. But when I reference the variable like this,%{tx.dos_counter_%{ARGS_GET}}
to retrieve the value of the dynamic variable, it returns null
.
Questions
- Is it possible to use dynamic variables, as mentioned above, in ModSecurity?
- Is there any other way to handle this problem?
Miscellaneous
This website runs on LAMP stack (Ubuntu) with ModSecurity.
Please help me solve this issue.
Many thanks in advance.
Thanks,
Daniel
bash - 编写自定义 modsec 规则以拒绝在 php 脚本中上传/执行特定代码
modsecurity中是否有任何选项可以编写自定义规则来阻止包含具有通用模式的hack脚本的php脚本。
我面临一个问题,我的服务器中的 cms 软件经常上传带有相同 hack 代码的 php 脚本。所有代码都包含一个通用模式,如下所示。
有没有办法在 modsec 中指定它并指示它阻止任何 php 脚本在包含上述模式或上述模式部分的服务器中上传或执行?
asp.net-mvc-4 - mod_security 阻止 MVC4 中的数据绑定
在长时间处理 2.9.0 之后,我已经成功安装了 mod_security 2.7.5。
但是现在,我遇到了一个问题。我创建了一个 MVC 项目并将其部署到安装了 mod_security 的 IIS 服务器上。我用 MVC 4 创建了一个简单的登录页面,当我按下登录时,用户名和密码不会发送到我的服务器。这就是我的登录功能失败的原因。POST 数据已发送,但模型绑定不会发生。
这是我的 C# 项目
谁能帮帮我?这不是因为规则,因为我使用的是 mod_security 2.7.5 的基本规则,并且在与规则相关的事件查看器中没有记录任何错误。
- mod_security:2.7.5
- IIS:8.0
- MVC 4
- Windows 7的
这是我的项目:https ://www.dropbox.com/s/a196c2qgyruc20f/MVC4_ModSecurity.rar?dl=0
谢谢你。
apache - 将 JSON ARGS_NAMES 列入白名单
我可以使用一些关于将 modsecurity 似乎抱怨的 JSON ARGS_NAMES 列入白名单的建议。我不确定如何为 JSON 请求正确指定 ARGS_NAMES。我的应用大量使用 JSON,因此有一些针对不同样式请求的警报。
以下警报由对我的后端应用程序的 POST 请求(登录/身份验证)触发:
2015-08-06T23:02:21.09022 [Thu Aug 06 23:02:21.090206 2015] [:error] [pid > 18099:tid 140155981653760] [client 192.168.216.16] ModSecurity:警告。> 模式匹配 "(?i:(?:union\\s*?(?:all|distinct|[(!@] ?)?\\s ?[([] ? \\s ?select\\s+) |(?:\\w+\\s+like\\s+> [\"'
\\xc2\\xb4\\xe2\\x80\\x99\\xe2\\x80\\x98])|(?:like\\\\s*? [\\"'
\xc2\xb4\xe2\x80\x99\xe2\x80\x98]\\%)|(?: [\"'\\xc2\\xb4\\xe2\\x80\\x99\\xe2\\x80\\x98]\\\\s*?like\\\\W*? [\\"'
\xc2\xb4 ..." 在 ARGS_NAMES: {"username":"userid2","password":"blahblah"}. [file "/etc/apache2/modsecurity-crs/activated_rules/modsecurity_crs_41_sql_injection_attacks.conf"] [行"223"] [id "981245"] [msg "检测基本 SQL 身份验证绕过尝试 2/3"] [data "匹配数据:\x22:\x22userid2\x22,\x22p 在 ARGS_NAMES 中找到:{\x22username\x22: \x22userid2\x22,\x22password\x22:\x22blahblah\x22 }:{\x22username\x22:\x22userid2\x22,\x22password\x22:\x22blahblah\x22 }"] [严重性“CRITICAL”] [标记“OWASP_CRS/ WEB_ATTACK/SQL_INJECTION"][主机名"api.host.name"] [uri"/user-api/auth-service"] [unique_id"VcPnfQobAhEAAEazjWUAAABB"]
这是另一个由 AJAX 更新用户会话数据触发的警报:
2015-07-22T22:02:03.61377 [2015 年 7 月 22 日星期三 22:02:03.613737] [:error] [pid > 14702:tid 140281273739008] [client 10.72.2.5] ModSecurity: Access denied > with code 403 (phase 2) . TX:981257 处的模式匹配“(.*)”-检测 MySQL > 注释-/空格-混淆注入和反引号终止-OWASP_CRS/WEB_ATTACK/SQLI-ARGS_NAMES:{"data":{"categories": [{"uuid" :"10009","name":"Books","folder":"School"}],"category_ids":["188"],"transaction_ids":["ed529b9f47ee-ab23-5b98-4404-d59a86b9", "ed529b9f47ee-ab23-5b98-4404-d59a86b9","ed529b9f47ee-ab23-5b98-4404-d59a86b9"]}}。[文件“/etc/apache2/modsecurity-crs/activated_rules/modsecurity_crs_49_inbound_blocking.conf”][行“26”][id”
如何为 "ARGS_NAMES:{"username[..]" 或 "ARGS_NAMES:{data[..]" 创建白名单?当我尝试使用正则表达式加入白名单时,我会得到如下规则:
SecRule ARGS_NAMES:"({\"(data)\":)(({\"[a-z_]+\":). )" "(. )" "id:308,phase:2,t:none ,nolog,pass,ctl:ruleRemoveTargetByTag=. ;ARGS_NAMES:({\"(data)\":)(({\"[a-z_]+\":). )"
我相信这有效,除非超出 PCRE 限制,从测试。对于 JSON 参数,是否有更简单的方法来执行此操作?
这是我在早期的白名单迭代中尝试的另一种方法:
SecRule ARGS:data.transaction_ids "(([a-z0-9-]) )" "id:206,phase:2,nolog,pass,ctl:ruleRemoveTargetByTag=. ;ARGS:data.transaction_ids,ctl:ruleRemoveTargetById=960024 ;ARGS:data.transaction_ids"
据我所知,这是可行的,但我希望能够将任何在请求正文中使用“{data:”JSON 格式的请求列入白名单。在进行另一轮测试之前,我想验证将 JSON 参数列入白名单的正确方法。
我在这里想念什么?
apache - 在 Apache 2.4 或 mod_proxy 中使用 mod_security 作为反向代理
我想将 mod_security 设置为保护 Tomcat 实例免受 Web 应用程序攻击的独立实例。有谁知道通过将 mod_security 安装为 Apache 模块而不是在反向代理上安装 mod_security 这样做的利弊?有没有人以这两种方式实现 mod_security ?如果是这样,一个比另一个更受欢迎吗?