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

16.02.2007, 14:08
|
|
Познавший АНТИЧАТ
Регистрация: 26.11.2004
Сообщений: 1,149
Провел на форуме: 941818
Репутация:
569
|
|
2 cRiLaZ
Одинарная ковычка быстрее обрабатывается интерпритатором, ибо php не ищет в ней перменных, как это он делает с двойной ковычкой. Пример:
<?$text=1;echo "123 $text";?> // вывод '123 1'
<?$text=1;echo '123 $text';?> // вывод '123 $text'
да и потом сама запись "$text" это очень даже весело. Имя переменной, конечно, никак не указывает на ее значение, и даже не намекает что внутри текст, поэтому нужно прибавить гемору интерпритатору.
Я не ругаюсь и не смеюсь =) я просто хочу чтобы в этом раздлеле на античате люди грамотно писали код, вот и все...
Насчет ./ - действительно я придрался, но это лишние 2 символа в коде. А если не собираешься читать файл или передумал, зачем ставить флаг на чтение и блокировать его?
Насчет обнуления переменной =)))) 2 разные вещи, выкинуть переменную из памяти и забыть о ней, либо продолжать держать в памяти пустое значение =)
И насчет "стиль у мя такой", это не стиль, пока это мусор. Приходишь к другу, а у него шкаф по среди комнаты и раковина с кухни проведена в прихожую, он заявляет что у него такой стиль.
|
|
|

16.02.2007, 17:53
|
|
Крёстный отец :)
Регистрация: 22.06.2005
Сообщений: 1,330
Провел на форуме: 5302668
Репутация:
2054
|
|
MD5CRACK - MD5 Bruteforce Tool
PHP код:
#!/usr/bin/perl
# use strict; Sorry next time i'll use it ;)
# MD5 Hash Bruteforce Kit
# by Iman Karim (iman.karim@smail.inf.fh-bonn-rhein-sieg.de)
# URL : http://home.inf.fh-rhein-sieg.de/~ikarim2s/
# Date : 11.02.2007
# Info[0] : This Cracker is by far not the fastest! But it helped me alot to find "lost" passwords ;)
# Info[1] : Written under Kubuntu Linux (Throw away Windows!)
# Info[2] : If you can code a bit perl, you can modify it to crack sha etc too...
# Greets to: Invisible!
$ver = "01";
$dbgtmr = "1"; #Intervall of showing the current speed + lastpassword in seconds.
if ($dbgtmr<=0){ die "Set dbgtmr to a value >=1 !\n";};
use Digest::MD5 qw(md5_hex);
use Time::HiRes qw(gettimeofday);
if ($ARGV[0]=~"a") {
$alpha = "abcdefghijklmnopqrstuvwxyz";}
if ($ARGV[0]=~"A") {
$alpha = $alpha. "ABCDEFGHIJKLMNOPQRSTUVWXYZ";}
if ($ARGV[0]=~"d") {
$alpha = $alpha."1234567890";}
if ($ARGV[0]=~"x") {
$alpha = $alpha. "!\"\$%&/()=?-.:\\*'-_:.;,";}
if ($alpha eq "" or $ARGV[3] eq "") {usage();};
if (length($ARGV[3]) != 32) { die "Sorry but it seems that the MD5 is not valid!\n";};
print "Selected charset for attack: '$alpha\'\n";
print "Going to Crack '$ARGV[3]'...\n";
for (my $t=$ARGV[1];$t<=$ARGV[2];$t++){
crack ($t);
}
sub usage{
print "\n\nMD5 Hash Bruteforce Kit v_$ver\n";
print "by Iman Karim (iman.karim\@smail.inf.fh-bonn-rhein-sieg.de)\n";
print "http:\/\/home.inf.fh-rhein-sieg.de\/~ikarim2s\/\n\n";
print "USAGE\n";
print "./md5crack <charset> <mincount> <maxcount> <yourMD5>\n";
print " Charset can be: [aAdx]\n";
print " a = {'a','b','c',...}\n";
print " A = {'A','B','C',...}\n";
print " d = {'1','2','3',...}\n";
print " x = {'!','\"',' ',...}\n";
print "EXAMPLE FOR CRACKING A MD5 HASH\n";
print "./md5crack.pl ad 1 3 900150983cd24fb0d6963f7d28e17f72\n";
print " This example tries to crack the given MD5 with all lowercase Alphas and all digits.\n";
print " MD5 Kit only tries combinations with a length from 1 and 3 characters.\n-------\n";
print "./md5crack.pl aA 3 3 900150983cd24fb0d6963f7d28e17f72\n";
print " This example tries to crack the given MD5 with all lowercase Alphas and all uppercase Alphas.\n";
print " MD5 Kit only tries passwords which length is exactly 3 characters.\n-------\n";
print "./md5crack.pl aAdx 1 10 900150983cd24fb0d6963f7d28e17f72\n";
print " This example tries to crack the given MD5 with nearly every character.\n";
print " MD5 Kit only tries combinations with a length from 1 to 10 characters.\n";
die "Quitting...\n";
}
sub crack{
$CharSet = shift;
@RawString = ();
for (my $i =0;$i<$CharSet;$i++){ $RawString[i] = 0;}
$Start = gettimeofday();
do{
for (my $i =0;$i<$CharSet;$i++){
if ($RawString[$i] > length($alpha)-1){
if ($i==$CharSet-1){
print "Bruteforcing done with $CharSet Chars. No Results.\n";
$cnt=0;
return false;
}
$RawString[$i+1]++;
$RawString[$i]=0;
}
}
###################################################
$ret = "";
for (my $i =0;$i<$CharSet;$i++){ $ret = $ret . substr($alpha,$RawString[$i],1);}
$hash = md5_hex($ret);
$cnt++;
$Stop = gettimeofday();
if ($Stop-$Start>$dbgtmr){
$cnt = int($cnt/$dbgtmr);
print "$cnt hashes\\second.\tLast Pass '$ret\'\n";
$cnt=0;
$Start = gettimeofday();
}
print "$ARGV[3] != $hash ($ret)\n";
if ($ARGV[3] eq $hash){
die "\n**** Password Cracked! => $ret\n";
}
###################################################
#checkhash($CharSet)."\n";
$RawString[0]++;
}while($RawString[$CharSet-1]<length($alpha));
}
sub checkhash{
$CharSet = shift;
$ret = "";
for (my $i =0;$i<$CharSet;$i++){ $ret = $ret . substr($alpha,$RawString[$i],1);}
$hash = md5_hex($ret);
$cnt++;
$Stop = gettimeofday();
if ($Stop-$Start>$dbgtmr){
$cnt = int($cnt/$dbgtmr);
print "$cnt hashes\\second.\tLast Pass '$ret\'\n";
$cnt=0;
$Start = gettimeofday();
}
if ($ARGV[3] eq $hash){
die "\n**** Password Cracked! => $ret\n";
}
}
__________________
Лучший способ защиты - это нападение!!!
|
|
|

16.02.2007, 22:51
|
|
Постоянный
Регистрация: 17.09.2005
Сообщений: 375
Провел на форуме: 993362
Репутация:
175
|
|
удобная универсальная функция для работы с сокетами.
PHP код:
function httpSocketConnection($host, $method, $path, $data)
{
$method = strtoupper($method);
if ($method == "GET")
{
$path.= '?'.$data;
}
$filePointer = @fsockopen($host, 80, $errorNumber, $errorString);
if (!$filePointer)
{
exit('Failed opening http socket connection: '.$errorString.' ('.$errorNumber.')<br/>\n');
return false;
}
$requestHeader = $method." ".$path." HTTP/1.1\r\n";
$requestHeader.= "Host: ".$host."\r\n";
$requestHeader.= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0\r\n";
$requestHeader.= "Content-Type: application/x-www-form-urlencoded\r\n";
if ($method == "POST")
{
$requestHeader.= "Content-Length: ".strlen($data)."\r\n";
}
$requestHeader.= "Connection: close\r\n\r\n";
if ($method == "POST")
{
$requestHeader.= $data;
}
fwrite($filePointer, $requestHeader);
$responseHeader = '';
$responseContent = '';
do
{
$responseHeader.= fread($filePointer, 1);
}
while (!preg_match('/\\r\\n\\r\\n$/', $responseHeader));
if (!strstr($responseHeader, "Transfer-Encoding: chunked"))
{
while (!feof($filePointer))
{
$responseContent.= fgets($filePointer, 128);
}
}
else
{
while ($chunk_length = hexdec(fgets($filePointer)))
{
$responseContentChunk = '';
//logEventToTextFile('debug', $chunk_length);
$read_length = 0;
while ($read_length < $chunk_length)
{
$responseContentChunk .= fread($filePointer, $chunk_length - $read_length);
$read_length = strlen($responseContentChunk);
}
$responseContent.= $responseContentChunk;
fgets($filePointer);
}
}
//logEventToTextFile('debug', $responseContent);
return chop($responseContent);
}
пример использования:
PHP код:
$data="var1=test&var2=test2";
$host = "www.somesite.com";
$path = "http://www.somesite.com/test.php";
$method = "POST";
echo httpSocketConnection($host, $method, $path, $data);
|
|
|

18.02.2007, 16:25
|
|
Участник форума
Регистрация: 07.12.2006
Сообщений: 192
Провел на форуме: 492591
Репутация:
123
|
|
наверное здесь уже выкладывали скрипт для выдирания мэл, этот может (вроде как) вычленить из любого набора текста мэла
P.S. Ногами не бейте, я начинающий, очень хотелось чем-нибудь поделиться, может кому пригодиться
P.P.S В данный момент пытаюсь тоже самое сделать но через сокеты, как-то не особо получается, но если кому интересно + просто не влом помочь пишите в личку
PHP код:
<?php
$to=array('>','<','/','"','\'','='. ',','.');
$fnl=array();
$result=array();
/*считываем файл*/
$fin=fopen('input.txt','r');
while(!feof($fin)){
$result[]=fgets($fin);
}
fclose($fin);
/*т.к нас интересует отдельные слова то разбиваем весь файл на один массив
со значениями - словами*/
$result=implode(' ',$result);
$result=str_replace($to,' ',$result);/*очищаем от ненужных символов*/
$result=explode(' ',$result);
for($i=0;$i<sizeof($result);$i++)
{
$str=$result[$i];
$tst=strpos($str,'@');/*находим слова с нужным символом*/
if(!empty($tst)){
if($str[0]=='/')
$str[0]=' ';
$fnl[]=trim($str);
}
unset($tst);
}
$fout=fopen('output.txt','w');
for($i=0;$i<sizeof($fnl);$i++) /*вывод*/
{
fputs($fout,$fnl[$i]."\r\n");
}
fclose($fout);
?>
Последний раз редактировалось nc.STRIEM; 24.02.2007 в 01:19..
|
|
|

19.02.2007, 16:56
|
|
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме: 19975136
Репутация:
4536
|
|
ftp checker
PHP код:
<?php
/*
* FTP Checker By Green Bear
* Version 1.0
* Home page: http://netsec.ru/gb/
@---------------------------@
good_ftp = хорошие фтп аккуанты
bad_ftp = плохие фтп аккуанты
@---------------------------@
#используйте формат user:pass@somehost.com
*/
//Тайм оут
//не стоит ставить больше 15 секунд
$timeout = '15';
$good = '0';
$bad = '0';
error_reporting(0);
ignore_user_abort(1);
if( ! function_exists('ftp_login') OR ! function_exists('ftp_connect')){
die('Function ftp_login or/and ftp_connect not exists');
}
if(! file_exists('good_ftp') ){
$f = fopen('good_ftp', 'w');
fwrite($f, '');
fclose($f);
}
if(! file_exists('bad_ftp') ){
$f = fopen('bad_ftp', 'w');
fwrite($f, '');
fclose($f);
}
switch($_POST['do']){
case 'check_now' :
if($_POST['ftp_acc']){
$array = explode("\n", $_POST['ftp_acc']);
check_ftp($array);
}else{
echo print_header();
echo '<div class=t>Не задано аккуантов</div>';
echo print_footer();
}
break;
case 'show_good':
show_good();
break;
case 'show_bad':
show_bad();
break;
case 'clear_good':
clear_good();
break;
case 'clear_bad':
clear_bad();
break;
default : print_form();
break;
}
//
//functions
//
function check_ftp($array){
global $timeout, $good, $bad;
foreach($array as $a){
$l_h = explode('@', $a);
$l_p = explode(':', $l_h[0]);
$host = $l_h[1];
$login = $l_p[0];
$pass = $l_p[1];
$ftp = ftp_connect(trim($host), '21', $timeout);
if( $ftp){
$ftp_login = ftp_login($ftp, $login, $pass);
if($ftp_login){
write_ftp('good_ftp', $host, $login, $pass);
$good ;
}else{
$bad ;
}
ftp_close($ftp);
unset($host, $pass, $login, $l_p, $l_h);
}else{
write_ftp('bad_ftp', $host, $login, $pass);
$bad ;
}
}
echo print_header();
echo "<div class='t'>
<b>Аккуанты проверены</b>. <br />
Хороших: $good <br />
Плохих: $bad <br />
<form action='$_SERVER[PHP_SELF]' method='post' name='s'><input type='hidden' name='do' value='show_good' /></form>
<a href='javascript://' onClick='s.submit();'>Показать хорошие</a>
";
echo print_footer();
}
function write_ftp($file, $host, $login, $pass){
$f = fopen($file, 'a');
fwrite($f, $login.':'.$pass.'@'.$host."\n");
fclose($f);
}
function show_good(){
$i= '0';
echo print_header();
$file = file('good_ftp');
foreach($file as $f){
$i ;
if( strstr(($i/2), '.') ){
echo "<div class='row1'><b><a href='ftp://$f' target='_blank'>$f</a></b></div>";
}else{
echo "<div class='row2'><b><a href='ftp://$f' target='_blank'>$f</a></b></div>";
}
}
echo print_footer();
}
function show_bad(){
echo print_header();
$file = file('bad_ftp');
foreach($file as $f){
$i ;
if( strstr(($i/2), '.') ){
echo "<div class='row1'><b>$f</b></div>";
}else{
echo "<div class='row2'><b>$f</b></div>";
}
}
echo print_footer();
}
function clear_good(){
echo print_header();
$f = fopen('good_ftp', 'w');
fwrite($f, '');
fclose($f);
echo '<div class=t>Список очищен</div';
echo print_footer();
}
function clear_bad(){
echo print_header();
$f = fopen('bad_ftp', 'w');
fwrite($f, '');
fclose($f);
echo '<div class=t>Список очищен</div';
echo print_footer();
}
function print_form(){
echo print_header();
echo <<<HTML
<form action="$_SERVER[PHP_SELF]" method="post" name='g'>
<input type='hidden' name='do' value='show_good' />
</form>
<form action="$_SERVER[PHP_SELF]" method="post" name='b'>
<input type='hidden' name='do' value='show_bad' />
</form>
<form action="$_SERVER[PHP_SELF]" method="post" name='eg'>
<input type='hidden' name='do' value='clear_good' />
</form>
<form action="$_SERVER[PHP_SELF]" method="post" name='eb'>
<input type='hidden' name='do' value='clear_bad' />
</form>
<a href='javascript://' onClick='g.submit();'>Показать хорошие</a> <a href="javascript://" onClick="eg.submit()" title="Очистить список" style="color:red">(clear)</a> /
<a href='javascript://' onClick='b.submit();'>Показать плохие</a> <a href="javascript://" onClick="eb.submit()" title="Очистить список" style="color:red">(clear)</a>
<hr size=1>
<form action="$_SERVER[PHP_SELF]" method="post">
<input type='hidden' name='do' value='check_now' />
<br />
<textarea cols='50' rows='7' name='ftp_acc'></textarea>
<br />
<input type='submit' value='Проверить FTP' />
</form>
<hr size=1>
HTML;
echo print_footer();
}
function print_header(){
return <<<HTML
<html><head>
<style type='text/css'>
body{
color: #C6C6FF;
background-color: #262626;
font-size:12px;
font-family: Verdana, Tahoma;
margin: 25px;
}
form{
margin: 0px;
}
div{
margin-top:2px;
margin-bottom:2px;
}
a{
color: #9494FF;
text-decoration: none;
}
a hover{
text-decoration: underline;
}
.title{
font-size: 16px;
font-family: Verdana, Tahoma;
padding: 5px;
color:white;
font-weight: bold;
text-align:center;
background-color: #1C1C1C;
}
.copy{
text-align:right;
padding-right: 10px;
}
.copy a{
text-decoration: none;
color: white;
}
.t{
margin: 5px;
font-size: 11px;
background-color: #303030;
}
.row1{
background-color: #4E4E4E;
}
.row2{
background-color: #262626;
}
textarea, input{
border: 0;
background-color: #DADAFF;
color: black;
font-size: 11px;
border: none;
}
</style>
</head>
<body>
<div class='title' onClick="location.href='{$_SERVER['PHP_SELF']}'">FTP CHECKER</div>
HTML;
}
function print_footer(){
return <<<HTML
<div class='copy'>
Powered by <a href='http://netsec.ru/gb/'>Green Bear</a> , Version 1.0
</div>
</body>
</html>
HTML;
}
?>
|
|
|

21.02.2007, 10:58
|
|
Познавший АНТИЧАТ
Регистрация: 02.05.2006
Сообщений: 1,191
Провел на форуме: 7364332
Репутация:
1276
|
|
Вот парочка примеров
1) ftp чекер
http://rapidshare.com/files/17503070/ftp.rar.html
Правда не хватает много поточности и написан на скорую руку!
2) Сканер портов
http://rapidshare.com/files/17503197/port.rar.html
Такая же проблема как и в первом случаии(((
|
|
|

21.02.2007, 23:55
|
|
Познавший АНТИЧАТ
Регистрация: 09.06.2006
Сообщений: 1,359
Провел на форуме: 5301021
Репутация:
1879
|
|
Вообщем, интересная штука сегодня писалась... но получилось, не то, что хотелось... ))))))
Ситуация в двух словах:
Взять результаты поиска с domainsdb, отпарсить из исходника страницы найденные по вашему запросу линки, и проверить, если там php скрипт (index.php  ))))))))))
PHP код:
<?php // Вообщем-с, открываем исходник страницы с полученными ссылками... //сохраняем в file.txt и поехали... error_reporting(0); set_time_limit(0); $links=fopen('filens.txt','w'); $text = file_get_contents('file.txt'); $pat = "|<a href=\"([^\"]+)\"[^>]+>([^<]+)<|is"; preg_match_all($pat, $text, $mass); for($i = 0; $i < count($mass[1]); $i++) { fwrite($links, $mass[1][$i]."\n"); } fclose($links); $text= file('filens.txt'); foreach($text AS $val) { $val=str_replace("\r",'',$val); $val=str_replace("\n",'',$val); preg_match("/^(http:\/\/)?([^\/]+)/i", $val, $math); $host=$math[2]; $f=fsockopen($host, 80); if (!$f) echo("<font color=\"blue\"><b>HOST NOT FOUND</b></font> - <strike>$host</strike>"); fwrite($f, "GET /index.php HTTP/1.0\n\n"); $str = fread($f, 1024); if (substr($str, 9,6)=="200 OK") { echo("<table border='1'><tr><td>"); echo ("<b>$host</b><td> <font color=\"green\"><b>прекрасно!!!<b></font><br>"); echo("</td></tr></table>"); } else { echo("<table border='1'><tr><td>"); echo("<b>$host</b><td> <font color=\"red\"><i>непрекрасно!!!</i></font> <br>"); echo("</td></tr></table>"); } } fclose($f); ?>
Реализованно по-тупому, но работает 
Последний раз редактировалось BlackLogic; 21.02.2007 в 23:59..
|
|
|

28.02.2007, 00:14
|
|
Отец порядка
Регистрация: 04.03.2005
Сообщений: 1,007
Провел на форуме: 1204641
Репутация:
412
|
|
кому мешает register_globals OFF можете вставить в страницу
PHP код:
// Emulate register_globals on
if (!ini_get('register_globals')) {
$superglobals = array($_SERVER, $_ENV,
$_FILES, $_COOKIE, $_POST, $_GET);
if (isset($_SESSION)) {
array_unshift($superglobals, $_SESSION);
}
foreach ($superglobals as $superglobal) {
extract($superglobal, EXTR_SKIP);
}
}
и забыть об этой проблеме
|
|
|

28.02.2007, 00:27
|
|
Участник форума
Регистрация: 25.07.2005
Сообщений: 246
Провел на форуме: 457850
Репутация:
174
|
|
Сообщение от DRON-ANARCHY
кому мешает register_globals OFF можете вставить в страницу
и забыть об этой проблеме
Очень небезопасно. Может, и на безопасность и не повлиять, но на грамотность - изрядно повлият)
|
|
|

28.02.2007, 00:34
|
|
Отец порядка
Регистрация: 04.03.2005
Сообщений: 1,007
Провел на форуме: 1204641
Репутация:
412
|
|
ну как сказать... register_globals ON само по себе уже небезопасно... поэтому и отключается хостерами
|
|
|
|
 |
|
TEST QR: []
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|