ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

12.09.2007, 18:39
|
|
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,188
Провел на форуме: 6023777
Репутация:
2642
|
|
Столкнулся с проблемой.
Нужно было получить данные методом POST, но каждый раз писать эту бурду конечно не удобно.
Я написал функцию, которая "конвертирует" POST в GET.
PHP код:
<?
#(c) NOmeR1
function file_post_contents($url)
{
$url = parse_url($url);
$fp = fsockopen($url['host'], 80, $errno, $errstr, 30);
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($fp, 128);
}
fclose($fp);
return $result;
}
}
echo file_post_contents('http://forum.antichat.ru/member.php?u=747');
?>
Последний раз редактировалось NOmeR1; 15.09.2007 в 18:52..
|
|
|

14.09.2007, 19:26
|
|
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;
|
|
|

15.09.2007, 20:34
|
|
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме: 3493315
Репутация:
1228
|
|
Скрипт проверяет контрольные суммы дерикторий и файлов, и отображает изминения в виде дерева.
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 ' | ';
$res=mysql_query('SELECT hesh FROM `controlsumm` WHERE `path`= \''.mysql_escape_string($path).'\' ');
if(!mysql_num_rows($res))
echo '- <font color=009900>'.basename($path).'</font><br>';
else
{
$row=mysql_fetch_array($res, MYSQL_NUM);
if($row[0] != $hesh)
echo '- <font color=990000>'.basename($path).'</font><br>';
else
echo '- '.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>
|
|
|

16.09.2007, 13:13
|
|
Познающий
Регистрация: 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. 
|
|
|

16.09.2007, 13:23
|
|
Участник форума
Регистрация: 19.05.2007
Сообщений: 228
Провел на форуме: 4325663
Репутация:
240
|
|
Лучшие цитаты дня з башорга. Поставил на сайт, и каждый день свежые приколы.
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>";
}
?>
|
|
|

17.09.2007, 12:02
|
|
Участник форума
Регистрация: 04.05.2005
Сообщений: 109
Провел на форуме: 304075
Репутация:
31
|
|
The_HuliGun
У меня не заработал...
|
|
|

17.09.2007, 12:22
|
|
Banned
Регистрация: 04.01.2007
Сообщений: 193
Провел на форуме: 4213286
Репутация:
728
|
|
Сообщение от 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>";
}
?>
И закинь его се на сервер .
У меня пашеет нормально +)
|
|
|

21.09.2007, 06:47
|
|
Новичок
Регистрация: 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 ));
}
|
|
|

23.09.2007, 00:00
|
|
Флудер
Регистрация: 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()
{}
|
|
|

27.09.2007, 02:27
|
|
Познающий
Регистрация: 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)
|
|
|
|