【WAF】【配置管理】防盗链规则

谢卓励发表于:2020年11月09日 14:57:00

适配版本


产品:WAF

版本:WAF6.x

平台:Windows/Linux/其他XXX/平台无关


原理


    盗链就是盗用别的网站的连接,比如在网站A上可以下载某个资源,但资源的URL却是网站B的,这就是盗链,在这种情况下,你请求资源的请求头中的Referer为网站A,waf的防护规则可以对Referer进行判断,来识别是否为盗链。

    防盗链规则防护是根据referer参数和cookie参数结合来进行防护的,从其他站点跳转的请求中通常referer不是本地的站点,同时不携带cookie。

内容


  1. 配置透明代理模式

  2. 新建一个防盗链规则“test”

  3. 在其中增加一条规则条目,检测方法选择Referer处理动作设为阻断,允许Referer为空,保护资源设为txt|jpg|png
    0015fa8ddd8b36ef755d196066793e6

  4. 本地搭建环境,访问资源为

    http://192.168.206.128/owaspbricks/upload-1/uploads/2019-08-16_152033.jpg

  5. 在防护策略中启用该规则

  6. 开启/关闭防护策略对比测试,将规则中的检测方式修改为cookie+referer,referer不允许为空后使用迅雷下载该图片测试

  7. 结果:

    1. 开启防护时,请求站点图片,将请求中的referer修改为其他外部站点,状态码为404无在日志中可以看到日志0015fa8e0e44e8ba2eca5ac9752c492

    2. 关闭防护时,再次重新请求,此时响应为200。

    3. 迅雷请求时第一次会直接请求该url,没有Referer,若无法请求则第二次将Referer设置为请求资源的上级目录后,但因为验证的规则是Referer+cookie,请求头中没有cookie,返回404,这时,迅雷又开始反复的进行之前的两个步骤,一直到超时。
      0015fa8e7f07fca33f391daec6b07db