ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > PHP, PERL, MySQL, JavaScript
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #191  
Старый 12.09.2007, 18:39
NOmeR1
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,188
Провел на форуме:
6023777

Репутация: 2642


Отправить сообщение для NOmeR1 с помощью ICQ
По умолчанию

Столкнулся с проблемой.
Нужно было получить данные методом POST, но каждый раз писать эту бурду конечно не удобно.
Я написал функцию, которая "конвертирует" POST в GET.

PHP код:
<?

#(c) NOmeR1

function file_post_contents($url)
{

 
$url parse_url($url);
 
$fp fsockopen($url['host'], 80$errno$errstr30);

 if(!
$fp)
 {
  return 
false;
 }

 else
 {

  
$postContents "POST ".$url['scheme']."://".$url['host'].$url['path']." HTTP/1.0\r\n".
                  
"Host: ".$url['host']."\r\n".
                  
"Referer: ".$url['scheme']."://".$url['host'].$url['path']."\r\n".
                  
"Content-Type: application/x-www-form-urlencoded\r\n".
                  
"Content-Length: ".strlen($url['query'])."\r\n\r\n".
                  
$url['query'];

  
fputs($fp$postContents);
  
$result '';

  while(!
feof($fp)) {
   
$result .= fgets($fp128);
  }

  
fclose($fp);
  return 
$result;

 }

}

echo 
file_post_contents('http://forum.antichat.ru/member.php?u=747');

?>

Последний раз редактировалось NOmeR1; 15.09.2007 в 18:52..
 

  #192  
Старый 14.09.2007, 19:26
Digimortal
Banned
Регистрация: 22.08.2006
Сообщений: 608
Провел на форуме:
6144796

Репутация: 1095


По умолчанию

Цитата:
Сообщение от Thanat0z  
Скрипт перевода русского текста в набор на англ раскладке
Код:
#!/usr/bin/perl

if (@ARGV < 1)
{
    print "Usage: transkey.pl source\r\n";
    exit();
}

$sour = $ARGV[0];

if (@ARGV = 1){
    $dest = $sour . '_trans';
}
else{
    $dest = $ARGV[1];
};

$alphabet = "f,dult;pbqrkvyjghcnea[wxio]sm'.z";
$alphabet2 = 'F<DULT:PBQRKVYJGHCNEA{WXIO}SM">Z';

open (SR, "<$sour") || die "Could not open source file";
open (DS, ">$dest") || die "Could not create destination file";

while (<SR>){
    chomp;
    @bukvy = split(//);
        foreach $bk (@bukvy) {
            $num = ord($bk);
            if ($num < 256){
                if ($num > 223){
                    $bk = substr($alphabet,$num-224,1);
                }else{
                    if ($num > 191){
                        $bk = substr($alphabet2,$num-192,1);
                    };
                };
            };
        }
    print DS join("",@bukvy) . "\n";
};

close (SR);
close (DS);
гораздо проще можно все сделать было бы заюзав регексп:
Код:
#!/usr/bin/perl -w

use strict;

my $src = shift || die "Usage: transkey.pl <source> [destination]\n";
my $dst = shift || 'trans_'.$src;

open SR, '<', $src or die "Could not open source file\n";
open DS, '>', $dst or die "Could not create destination file\n";

$/ = undef;
my $text = <SR>;
$text =~ tr/
ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮйцукенгшщзхъфывапролджэячсмитьбю/
QWERTYUIOP[]ASDFGHJKL;'ZXCVBNM,.qwertyuiop[]asdfghjkl;'zxcvbnm,.\//;
print DS $text;

close SR;
close DS;
 

  #193  
Старый 15.09.2007, 20:34
nc.STRIEM
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме:
3493315

Репутация: 1228


Отправить сообщение для nc.STRIEM с помощью ICQ
По умолчанию

Скрипт проверяет контрольные суммы дерикторий и файлов, и отображает изминения в виде дерева.

PHP код:
<?php

    set_time_limit
(300);
    
    
$SALT 'sdfsd';

    
$mysql=array(
                 
'host' => 'localhost',
                 
'user' => 'root',
                 
'pass' => '',
                 
'base' => 'mydb'
                 
);

    if (
mysql_connect($mysql['host'],$mysql['user'],$mysql['pass']) == false)
        die(
mysql_error());
    
    @
mysql_query('SET NAMES cp1251');

    if (
mysql_select_db($mysql['base']) == false
        die(
mysql_error());

    
$ALLFILES=array();
/*****************************************************************************************************************************/
        
    
function install()
    {
        
mysql_query('DROP TABLE IF EXISTS `controlsumm`');
        
$qyery='CREATE TABLE `controlsumm` (
                                            `path`   VARCHAR(256),
                                            `hesh`   VARCHAR(32)
                                            )'
;
        if(
mysql_query($qyery))
            echo 
'<center><h2>Таблица `controlsumm` была создана.</h2></center>';
        else 
            echo 
'<center><h2>Ошибка! не удалось создать таблицу `controlsumm`.</h2></center>';
    }
    
/*****************************************************************************************************************************/
    
    
function FileHash($file)
    {
        GLOBAL 
$SALT;
        
$hash=md5($file.$SALT);
        
$fo=fopen($file,'r');
        
        while(!
feof($fo))
        {
            
$content=fread($fo,1024);
            
$hash=md5($hash.$content);
        }        
        
fclose($fo);
        return 
$hash;
    }

/*****************************************************************************************************************************/

        
function kolzn($str$zn)
        {
            
$kol=0;
            
$i=strlen($str);
            for(
$j=0;$j<$i;$j++)
                if(
$str[$j] == $zn)
                    
$kol++;
                    
            return 
$kol;
        }
        
/*****************************************************************************************************************************/    
    
    
function makedamp($dir)
    {
        GLOBAL 
$SALT;
        
$hesh='';
        
$dirhesh='00000000000000000000000000000000';
        
        
$diradesk opendir($dir);
        
        while(
false !== ($name readdir($diradesk)))
        {
            if(
$name == '.' || $name == '..') continue;
                
            if(
filetype($dir.'/'.$name) == 'dir')
                
$hesh=makedamp($dir.'/'.$name);
            else  
                
$hesh=FileHash($dir.'/'.$name);
        
            if(!
mysql_query('INSERT INTO `controlsumm` VALUES (\''.mysql_escape_string($dir.'/'.$name).'\', \''.$hesh.'\')'))
                    die(
mysql_error());
                  
            
$dirhesh=md5($hesh.$dirhesh);
          }    
        return 
md5($dirhesh.$SALT);
    }

/*****************************************************************************************************************************/    

    
function checkall($dir)
    {
        GLOBAL 
$SALT,$ALLFILES;
        
$hesh='';
        
$dirhesh='00000000000000000000000000000000';
            
        
$diradesk opendir($dir);
        
        while(
false !== ($name readdir($diradesk)))
        {
            if(
$name == '.' || $name == '..') continue;
                
            if(
filetype($dir.'/'.$name) == 'dir')
            {
                
$ALLFILES[$dir.'/'.$name] = 1;;
                
$hesh=checkall($dir.'/'.$name);        
                
$ALLFILES[$dir.'/'.$name] = $hesh;
            }
            else  
            {
                
$hesh=FileHash($dir.'/'.$name);
                
$ALLFILES[$dir.'/'.$name] = $hesh;
            }
                          
            
$dirhesh=md5($hesh.$dirhesh);
         }    
        return 
md5($dirhesh.$SALT);
    }

/*****************************************************************************************************************************/    

    
function viewtree()
    {
        GLOBAL 
$SALT,$ALLFILES;
        
checkall('.');
        foreach(
$ALLFILES as $path => $hesh)
        {
    
            for(
$i=kolzn($path'/');$i>0;$i--)
                echo 
'&nbsp;|&nbsp;&nbsp;';
            
            
$res=mysql_query('SELECT hesh FROM `controlsumm`  WHERE `path`= \''.mysql_escape_string($path).'\' ');
        
            if(!
mysql_num_rows($res))
                echo 
'-&nbsp;<font color=009900>'.basename($path).'</font><br>';
            else
            {
                
$row=mysql_fetch_array($resMYSQL_NUM);
                if(
$row[0] != $hesh)
                    echo 
'-&nbsp;<font color=990000>'.basename($path).'</font><br>';
                else
                    echo 
'-&nbsp;'.basename($path).'<br>';
            
            }
        }        
    }
    
/*****************************************************************************************************************************/    
     
?>


<style>
table.menu{
background-color: #ffffff;
font-size:16px;
color:#000000;
text-align: center;
font-family: Cursive;
border:1px solid #cccccc;
width: 100%;
margin-top:5px;
link: ffffff;
}

td.i {
link: ffffff;
border:1px solid #cccccc;

font-size:13px;
color: #000000;
text-align: center;
color:#333333;
width: 11%;
}

input,SELECT {border:1px solid #cccccc; height: 20px;}
#a{
font-size:11px;
color:#333333;
text-align: center;
font-family: Cursive;
}

a{color:#999999;}
</style>

<script>
function refreshtable()
{
    if(confirm('Уверенны что хотите обновить таблицу хэшей?'))
        document.location='?p=hesh';
}

function createtable()
{
    if(confirm('Уверенны что хотите создать таблицу?'))
        document.location='?p=install';
}
</script>

<table width=80% align=center>
 <tr><td>

<table class=menu align=center><tr>
<td><a href='?p=tree'>[Дерево]</a></td>
<td><a href='JavaScript:refreshtable()'>[Хэшировать]</a></td>
<td><a href='JavaScript:createtable()'>[Установить]</a></td>
</tr></table>

</td></tr>
<tr><td align=center> <br>
<table  style="border:1px solid #cccccc;" width=100%><tr><td align=left> 
<?php
    
switch($_GET['p'])
{
    case 
'tree'viewtree(); break;
    case 
'hesh': if(!mysql_query('DELETE FROM `controlsumm`')) die(mysql_error()); makedamp('.'); viewtree();break;
    case 
'install'install();  break;
    default: 
viewtree();
}
    
?>

</td></tr></table>
</td></tr>
</table>
 

  #194  
Старый 16.09.2007, 13:13
canvasa
Познающий
Регистрация: 11.04.2007
Сообщений: 43
Провел на форуме:
126798

Репутация: 37
По умолчанию

Hi , I see people post they work here. There is 2 my coded perl scripts.

1. Port scanner:

Код:
#!/usr/bin/perl
# Website: http://saime.biz
# Usage: perl l33t.pl [ip]
use IO::Socket;
my ( $ip, $port, $endport );
     $endport=1337; $port=0; # You can edit the endport ....
     $ip = $ARGV[0] if $ARGV[0];
     $port=$ARGV[1] if $ARGV[1];
     $maxport=$ARGV[2]  if $ARGV[2];

print "[+]Scaning: $ip\r\n";
foreach (; $port<=$endport; $port++) {
    print "\n[+]Port $port is open!" if ( IO::Socket::INET->new(PeerAddr=>"$ip:$port",Proto=>'tcp',Timeout=>1));
}
exit;
2. IRC Bot.

Код:
#!/usr/bin/perl
# Options: !op , !kill , !version , !owner
# Website: http://saime.biz
print "http://saime.biz";
use strict;
use IO::Socket;
use Socket;
my $server = "irc.nitrousirc.net";
my $port= '6667';
my $chanel = "#perl";
my $nick = "King`Of`Noobs";
my $identify = "ohi";
my $name = "Hithere";
my $saime = "Saime";
my $socket = new IO::Socket::INET(PeerAddr => $server, PeerPort => $port, Proto => "tcp") or die "Get a life ?";
print $socket "NICK $nick\r\n";
print $socket "USER $identify 8 * :$name\r\n";
print $socket "JOIN $chanel\r\n";
while (my $body = <$socket>) {
chop $body;
if ($body =~ /^PING(.*)$/i) { print $socket "PONG $1\r\n"; }
if ($body =~ /^.*!version(.*)$/i) { print $socket ("PRIVMSG $chanel Saime's BOT V1.2!\r\n"); }
if ($body =~ /^.*!kill(.*)$/i) { print $socket ("QUIT\r\n"); }
if ($body =~ /^.*!op(.*)$/i) { print $socket ("MODE $chanel op $saime\r\n"); }
if ($body =~ /^.*!owner(.*)$/i) { print $socket ("PRIVMSG $chanel Owner: YourNick\r\n"); }
}
More to come later.
 

  #195  
Старый 16.09.2007, 13:23
The_HuliGun
Участник форума
Регистрация: 19.05.2007
Сообщений: 228
Провел на форуме:
4325663

Репутация: 240
Отправить сообщение для The_HuliGun с помощью ICQ
По умолчанию

Лучшие цитаты дня з башорга. Поставил на сайт, и каждый день свежые приколы.
PHP код:
<?
 $file 
file_get_contents('http://www.bash.org.ru/best');
 
$file preg_match_all('|<div>(.+)</div>|U',$file,$frazes);
 for(
$i=0;$i<11;$i++){
    if (
$i<>5) echo "<hr>".$frazes[1][$i]."\r\n<hr>";
  }
?>
 

  #196  
Старый 17.09.2007, 12:02
Ar3s
Участник форума
Регистрация: 04.05.2005
Сообщений: 109
Провел на форуме:
304075

Репутация: 31
Отправить сообщение для Ar3s с помощью ICQ
По умолчанию

The_HuliGun
У меня не заработал...
 

  #197  
Старый 17.09.2007, 12:22
_-Ramos-_
Banned
Регистрация: 04.01.2007
Сообщений: 193
Провел на форуме:
4213286

Репутация: 728
Wink

Цитата:
Сообщение от Ar3s  
The_HuliGun
У меня не заработал...
А у меня отлично заработал.
Попробуй создать файл 1.php с содержанием

PHP код:
<? 
 $file 
file_get_contents('http://www.bash.org.ru/best'); 
 
$file preg_match_all('|<div>(.+)</div>|U',$file,$frazes); 
 for(
$i=0;$i<11;$i++){ 
    if (
$i<>5) echo "<hr>".$frazes[1][$i]."\r\n<hr>"
  } 
?>
И закинь его се на сервер .
У меня пашеет нормально +)
 

  #198  
Старый 21.09.2007, 06:47
vanooo
Новичок
Регистрация: 20.04.2007
Сообщений: 1
Провел на форуме:
4924

Репутация: 0
По умолчанию

Сканер портов из списка ip адресов
#!/usr/bin/perl -w
# Use:
# $ scan.pl IP1 [ IP2 ] PORT
use IO::Socket;
sub dec2hex {
return sprintf "%02x",shift;
}
sub ip2hex {
return dec2hex($1).dec2hex($2).dec2hex($3).dec2hex($4) if ( shift =~ /(\d{1,3}).(\d{1,3}).(\d{1,3}).(\d{1,3})/ );
}
sub hex2ip {
return hex($1).".".hex($2).".".hex($3).".".hex($4) if ( shift =~ /(\w{2})(\w{2})(\w{2})(\w{2})/ );
}
my ($hip1, $hip2, $port);
if ( $#ARGV == 2 ){
$hip1 = ip2hex( shift @ARGV );
$hip2 = ip2hex( shift @ARGV );
$port = shift @ARGV;
if ( hex( $hip1 ) > hex( $hip2 ) ){
$tmp = $hip1;$hip1 = $hip2;$hip2 = $tmp;
}
}elsif ( $#ARGV == 1 ){
$hip1 = ip2hex( shift @ARGV );
$hip2 = $hip1;
$port = shift @ARGV;
}else{
open TXT, "<$0" and <TXT> and $txt = <TXT> and $txt .= <TXT> and print $txt;
close TXT;
exit 1;
}
for ( $hip2 = dec2hex( hex( $hip2 ) + 1 ) ; ! ( $hip1 =~ /$hip2/) ; $hip1 = dec2hex( hex( $hip1 ) + 1 ) ){
$ip = hex2ip($hip1);
print "[ + ] Port [ $port ] is open on host [ $ip ]\n" if ( IO::Socket::INET->new(PeerAddr=>"$ip:$port",Proto=>'tcp',Timeout=>1 ));
}
 

  #199  
Старый 23.09.2007, 00:00
Isis
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме:
16641028

Репутация: 2371


По умолчанию

CGI PortScanner

Код:
#!/usr/bin/perl
use warnings;
use CGI ":standard";
use IO::Socket::INET;
use strict;

print header(),start_html("portscanner");

my $port = param('start');
my $ip = param('ip');
my $end = param('end');

print start_form(-method=>'POST',action=>"$ENV{'SCRIPT_NAME'}"),"IP: ",textfield(-name=>'ip'),
"<br>Starting Port: ",textfield(-name=>'start',size=>'10'),
"<br>Ending Port: ",textfield(-name=>'end',size=>'11'),"<br>",
submit(-value=>'Scan'),end_form;

if($port and $ip and $end and $ip ne '127.0.0.1' and $ip !~ m/^192\./){

open(my $log,">>/portscanner_log.txt");
print $log "$ENV{'REMOTE_ADDR'} $ip $port $end\n";
close($log);

while($port<=$end){
my $socket = IO::Socket::INET -> new(PeerAddr=>$ip,PeerPort=>$port,Proto=>"tcp",Tim eout => 0.5);
if($socket != 0){
print "Port $port is opened.<br>";
}
$port++;
}
}

print end_html();
MD5 Seacher

Код:
#!/usr/bin/perl by player
use LWP::UserAgent;
use HTTP::Cookies;
print "[>] ++++++++++++++++++++++++++++++++++\n";
print "[>] +   MD5-Searcher by -=Player=-   +\n";
print "[>] ++++++++++++++++++++++++++++++++++\n";
print "\n[>] MD5-Hash: ";
$usid = <STDIN>;
chomp $usid;
$www = new LWP::UserAgent;
$sql = "http://md5.rednoize.com/?q=$usid/*";
$res = $www -> get($sql) or err();
$res -> content() =~ /"result" >(.*)</ or err();
print "\n[>] MD5.Rednoize.com\t: $1 \n\n";
$sql = "http://gdataonline.com/qkhash.php?mode=txt&hash=$usid/*";
$res = $www -> get($sql) or err();
$res -> content() =~ /<b>(.*)</ or err();
print "[>] GDataOnline.com\t: $1 \n\n";
$sql = "http://www.tydal.nu/php/sakerhet/md5.php?q=$usid/*";
$res = $www -> get($sql) or err();
$res -> content() =~ /<h5><b>(.*)</ or err();
print "[>] Tydal.nu\t\t: $1 \n\n";
$sql = "http://alimamed.pp.ru/md5/?md5e=&md5d=$usid/*";
$res = $www -> get($sql) or err();
$res -> content() =~ /àí: <b>(.*)</ or err();
print "[>] Alimamed.pp.ru\t: $1 \n\n";
$sql = "http://md5.xpzone.de/?mode=decrypt&string=$usid/*";
$res = $www -> get($sql) or err();
$res -> content() =~ /Code: <b>(.*)</ or err();
print "[>] MD5.xpzone.de\t: $1 \n\n";
$sql = "http://xml.hashreverse.com/index.php?hash=$usid/*";
$res = $www -> get($sql) or err();
$res -> content() =~ /<Result>(.*)</ or err();
print "[>] XML.Hashreverse.com\t: $1 \n\n";
sub err()
{}
 

  #200  
Старый 27.09.2007, 02:27
canvasa
Познающий
Регистрация: 11.04.2007
Сообщений: 43
Провел на форуме:
126798

Репутация: 37
По умолчанию

2 new scripts from me!

1. Mail grabber.

Цитата:
#!/usr/bin/perl -w
# Email grabber!
# Coded by: Saime

require LWP::UserAgent;
my $connection = LWP::UserAgent->new;
$connection->agent('Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.4');
$connection->timeout(10);
my $google = "http://www.google.com/search?hl=en&q="; # The search engine , you can add more , or edit it to another like altavista/search[dot]com/etc ...
my @dorks = shift || ("mailto:*\@aol.com"); # Add the dorks here ....
my @pages = shift || ("&start=","&start=10","&start=20","&start=30","&s tart=40","&start=50","&start=60","&start=70","&sta rt=80","&start=90","&start=100");

my $file;
request(0);

sub request {
for(my $count = 0;$count<=$#dorks;$count++){
my $url = $google . $dorks[$count] . $pages[1] . "$_[0]"; # where the pages is , edit [1] to [2] or [3] , like that up to [10]
my $response = $connection->get($url);
my $con = $response->content;

while($con =~ m/<td class="(.*?)"><font size=-1>(.*?)mailto\w*\@\w*\.\w*)(.*?)<span class=a>/g){
my $email = "$3";
print "[+] Found email: " . "$email\n";
}
shift(@dorks);
request(0)
}
}
2. phpBB version check

Цитата:
#!/usr/bin/perl
# phpBB version check. Made just for training.
# Coder: Saime
# Usage: perl phpbb.pl http://site.com/forum/
use LWP::UserAgent;
$site = $ARGV[0];
$brows = LWP::UserAgent->new;
$res = $brows->get($site.'/docs/CHANGELOG.html');
if($res->is_success)
{
@ver=$res->content=~/<li><a href="(.*?)\">Changes since (.*?)<\/a><\/li>/i;
$ver[1]=~/(\d+)\.(\d+)\.(\d+)/;
$version=$1.'.'.$2.'.'.scalar $3+1;
print 'Version: '.$version if $version; }
enjoy :P
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ