什么是反向代理漏洞?

什么是反向代理漏洞?

这个问题我在 Apache 配置文件中找到了这部分代码:

# rewrite rule to prevent proxy exploit
RewriteCond  %{REQUEST_URI}  !^$
RewriteCond  %{REQUEST_URI}  !^/
RewriteRule  .*              -    [R=400,L]

什么是代理漏洞?

它是如何工作的以及这些线路究竟如何阻止攻击?

答案1

反向代理漏洞利用的是利用服务中的漏洞作为客户端请求到一个或多个后端服务器/服务的中介重定向器的能力。

Apache HTTPd 可以使用其多协议代理/网关功能(例如 mod_proxy 和相关模块)充当这样的网关。

所呈现的代码使用 Apache mod_rewrite 指令(此处为 RewriteCond),旨在缓解与重写模块如何处理传入请求 URI 中收到的值有关的 Apache 漏洞。

1)首先重写条件

RewriteCond  %{REQUEST_URI}  !^$
  • REQUEST_URI 变量是请求的 URI 的路径组件(不包含查询字符串)
  • ! :“不”(例如不匹配)
  • ^ : “REQUEST_URI 的开头
  • $:“REQUEST_URI 值的结束”

2)第二次重写条件

RewriteCond  %{REQUEST_URI}  !^/
  • REQUEST_URI 变量是请求的 URI 的路径组件(不包含查询字符串)
  • ! : “不是”
  • ^ : “REQUEST_URI 值的开头”
  • / :"/"(字面意思),例如“斜线分隔符”

3)重写规则

   RewriteRule  .*              -    [R=400,L]
  • . :“任意单个字符”
  • * :“零个或多个前一个字符”
  • - :“不修改传入的 URL
  • R=400 :使用 HTTP 状态代码 400(“错误请求”)进行重定向
  • L :“最后”规则,停止处理

相关内容