Показать сообщение отдельно
  #32 (permalink)  
Старый 29.10.2012, 12:36
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Сообщение от devote
ну вот, хоть один разумный вариант)))
не говори ГОП пока не перепрыгнешь

Сорри но чем createElement или .appendChild от toString отличается ? что мешает подменить и их ?

<html>
<head>
</head>

<body>
        <!-- здесь прячется зловред -->
	<script>      

         //тело зловреда спрячем полностью в замыкании;
         (function(){ 

                 // метод crack общий для window и всех фреймов, 
                 // даже если frame создаст фрейм, это непоможет

 	         function crack(target){
	
	              var realCreateElement=target.document.createElement;
	
	
	               target.Function.prototype.toString=function(){
	                   return 'trololo';  
	               }
	
	               target.Object.prototype.toString=function(){
	                   return 'trololo';  
	               }
	
	               target.document.createElement=function(param){           
  	  	                 var result=realCreateElement.apply(target.document,arguments);
		           
		                 if (param== 'iframe'){
		                      target.document.documentElement.appendChild( result );
		                      crack(result.contentWindow);
		                }
		
		                return result;               
		         };
	         }
	
	         crack(window);
           })();
    </script>  


     <!-- А здесь мы обманули всех при помощи фрейма -->    
     <script>  
    
    	// 1. создаём фрейм.
      var frame = document.createElement("iframe");
      document.documentElement.appendChild( frame );
       
      // 2. тырим из него toString
      var Func_toString = frame.contentWindow.Function.prototype.toString; // для проверки функций
      var Obj_toString = frame.contentWindow.Object.prototype.toString; // для проверки объектов

        alert (Func_toString.apply("isu98") );
        alert (Obj_toString.apply("isu98") );

    </script>  
    

</body>

</html>
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 29.10.2012 в 14:33.
Ответить с цитированием