Nginx 配置错误导致漏洞 漏洞复现 (CRLF注入漏洞&目录穿越漏洞)

CRLF注入漏洞

nginx的错误配置如下,该配置的用意是让http请求跳转到https请求。其中$uri就是我们的访问的地址,该变量可控。其中https://$host$uri会出现在http响应报文中,这样我们就可以通过改变$uri来控制http的响应报文。

location / {
    return 302 https://$host$uri;
}

当我们正常访问http://192.168.119.131:8080/时,nginx重定向后,会在http响应头中出现Location字段,如下图所示:

在这里插入图片描述

当我们访问http://192.168.119.131:8080/%0d%0atest时,响应头如下图所示。 %0d%0a\r\n,也就是换行符,所以在url中加入一个换行符即可将恶意数据写入http响应头。

在这里插入图片描述

同理加两个换行符可以将数据写入响应体,例如访问 http://192.168.119.131:8080/%0d%0a%0d%0a<script>alert(1)</script>后响应体如下图所示,通过这种注入可实现xss攻击。

在这里插入图片描述

靶场由vulhub搭建,靶场地址为 vulhub/nginx/insecure-configuration,在该目录中执行 docker-compose up -d即可启动靶场。

目录穿越漏洞

Nginx在配置别名(Alias)的时候,如果忘记加/,将造成一个目录穿越漏洞。在下面配置中/files在匹配字符串的时候可以匹配到 /files..,而 /files..转化成别名时就会变成 /home/..,这样就可以访问到home目录的上一级目录。

location /files {
    alias /home/;
}

/files改成 /files/即可修改该漏洞。

漏洞复现

靶场环境和上一个漏洞在一个docker中,端口为8081,访问 http://IP地址:8081/files../

在这里插入图片描述
该漏洞可以造成任意文件下载,造成巨大的风险。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rpsate

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值