Существует несколько
способов взлома WWW сайтов: используя Unix, используя браузеры и
т.п. Поскольку не у всех есть Unix, то я опишу несколько способов
взлома серверов, используя обычный браузер. Взлом, используя
браузер, заключается в получении файла passwd из каталога /etc. Либо
в удалении всего (или части), что имеется на сайте. Когда вы
получите passwd и расшифруете его, то дальше уже надо будет работать
с telnet'ом и использовать exploits. Но это не в этой статье.
Итак, приступим. Самый простой способ
получить passwd с помощью браузера - это техника PHF. Т.е. вы в
строке адреса набираете: www.***.ru/cgi-bin/phf?Qalias=x%0a/bin/cat%20/etc/passwd
Если скрипт phf лежит в каталоге cgi-bin, то он вам выдаст на экран
passwd. %0a - перевод строки. Ну что-то типа нажатия на enter. /bin/cat%20/etc/passwd - эквиваленто /bin/cat
etc/passwd. Запускается программа cat - просмотр содержимого файла.
В данном случае файл passwd в каталоге /etc. Вместо cat, можно
поставить другие команды: ls (список файлов в каталоге), id (ваши
права), rm (удалить файл) и т.п. Сначала лучше запустить id, чтобы
поглядеть какие у вас права - если root, то вам повезло!
Следующий способ - разновидность
первого. Если вы обнаружили, что у вас права root, то можно просто
взять passwd и добавить последней строчкой ваш логин, с правами
Root. И потом залить его через FTP в любой каталог (пусть это будет
income). Далее в браузере с помощью ls ищем полный путь к этому
каталогу (допустим он /home/local/ftp/income). Тогда пишем www.***.ru/cgi-bin/phf?Qalias=x%0a/bin/cp%20/home/local/ftp/income/passwd%20/etc/passwd
Т.е. мы копировали наш passwd, на уже существующий! Теперь у нас
есть права Root!!! Следующий способ
более сложный. Он заключается в том, чтобы выявить у CGI скриптов
уязвимые места, и использовать их для получения passwd. Т.е. надо
сделать так, чтобы скрипт начал выполнять вашу команду (cat, ls,
rm...). Например на сервере есть скрипт, который отсылает сообщение
кому-либо с помощью команды mail (эта команда позоляет выполнять
другие команды!). Тогда в теле письма достаточно вставить ;cat
/etc/passwd и вы увидите passwd, если скрипт не проверяет наличе
таких символов как ;>|<и т.п., то все будет OK! Тоже самое
позволяет делать команда finger.
|