【发布时间】:2019-07-23 08:58:34
【问题描述】:
我的服务器上没有安装任何 PHP 文件/站点,因为我们不使用 PHP,但看到很多针对使用 C# 和 VB .Net 在 ASP .Net 上运行的合法站点的活动。
例如,服务器上针对托管在其上的站点列出了以下内容
http://www.example.com/plus/mytag_js.php?dopost=saveedit&arrs1[]=99&arrs1[]=102
我已经把上面的字符串缩短了,因为它是一个很长的 arrs1[] 和 arrs2[] 字符串。
首先,该网站是 httpS,所以我不知道它是如何获取 http 链接的?我是否缺少任何配置?测试我所有的理论并在外部重定向上检查我的网站看起来都不错。这是我收到的:
http://www.example.com
301 Moved Permanently
https://www.example.com/
200 OK
然后我决定在 IIS 的主节点中将以下配置添加到服务器(进而将其添加到所有站点,或者应该这样做)
<rule name="RequestBlockingRule1" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{URL}" pattern="plus/mytag_js.php/?$" />
</conditions>
<action type="CustomResponse" statusCode="403" statusReason="Forbidden: Access is denied." statusDescription="You do not have permission to view this directory or page using the credentials that you supplied." />
</rule>
这阻止了大多数请求,但不知何故,上面的 URL 仍然显示在日志中。然后我决定在请求过滤 > URL 选项卡(拒绝请求)下添加一些“禁止”关键字。添加 arrs1[] 和 arrs2[] 但这也不起作用。
我可能错过的任何其他选择?不幸的是,我没有奢侈的外部 Web 访问过滤,所以我正在 IIS 中的服务器上寻找一种方法。
请求阻止规则
这就是我在 IIS 中所拥有的 > URL 重写
【问题讨论】:
-
服务器日志已经选择了它,但有重定向(规范 URL,301 重定向我认为它会重定向到 https)。是的,我想“放弃”或拒绝这些请求,这将向我表明这是一次不成功的尝试 - 请随时纠正我
-
您的意思是要拒绝请求,或者只是不记录它们?当然,我可以理解不想记录它们。
-
拒绝这些请求。通过不记录他们 IMO 我只是以我看到的方式掩盖了问题。
-
拒绝他们有什么好处?如果有的话,我认为返回 403 实际上比返回服务器可能默认执行的 404 更能表明存在某些东西。目前你似乎只有一个攻击源,但如果你随着时间的推移得到其他攻击源怎么办?如果有人开始尝试随机请求您没有的
.aspx文件怎么办?还是.cgi文件?看来你会打一场失败的战斗。 -
返回 403 也是可以接受的。如果他们请求随机不存在的页面,那么 404 就足够了(网站无论如何都会这样做),它是在我认为需要解决的服务器日志中创建一个条目时,但我同意并非所有攻击都可以解决,但现在如果我可以阻止上述请求,我必须通过的日志会更轻
标签: c# php asp.net iis web-config