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

12.09.2009, 14:44
|
|
Новичок
Регистрация: 12.08.2009
Сообщений: 8
Провел на форуме: 31464
Репутация:
0
|
|
мда скрипты интересные а скрипт чтоб подменял реферер может ктото наваять?только чтоб куда придет кклик был не ip хоста где установлен скрипт а ip кликнувшего ктото возьмется за это?
|
|
|

12.09.2009, 16:29
|
|
Постоянный
Регистрация: 02.03.2008
Сообщений: 893
Провел на форуме: 5365841
Репутация:
712
|
|
Сообщение от AVIRA
мда скрипты интересные а скрипт чтоб подменял реферер может ктото наваять?только чтоб куда придет кклик был не ip хоста где установлен скрипт а ip кликнувшего ктото возьмется за это?
PHP код:
function post($url,$post,$refer,$ua,$proxy)
{
$ch = curl_init($url);
curl_setopt($ch, $ua);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_REFERER, $refer);
curl_setopt($ch, CURLOPT_COOKIEJAR, "./cook");
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
return $result;
}
post('ссылка','запрос/ null-если его нет','рефер','юзер агент','прокси')
|
|
|

12.09.2009, 17:37
|
|
Новичок
Регистрация: 12.08.2009
Сообщений: 8
Провел на форуме: 31464
Репутация:
0
|
|
хм спасибо конечно но мне кажется в этом случае ip того что кликнул будет с прокси или я неправа?а если убрать прокси то буудет ip хоста вопрос был в том можно ли так чтоб после подмены реферер туда куда придет клик был ip юзера а не прокси или хоста где стоит скрипт
|
|
|

12.09.2009, 22:05
|
|
Moderator - Level 7
Регистрация: 04.02.2007
Сообщений: 554
Провел на форуме: 7518056
Репутация:
1089
|
|
дело было вечером- делать было нефига, вот начеркал скрипт проверки мыла на майле на предмет занятости, выражаю благодарность Flooser, который указал на ошибки, писалось для себя, цели могут быть разные (можете грабером спарсить страницу с мылами на майле а может спам базу прочекать на валид) Написан на PHP так что суперскоростей не ждите, мыла которые надо прочекать кидаем в account.txt а незарегенные получаем в good.txt
PHP код:
<?php
/**
* @author Kusto
* @copyright 2009
*/
function curl($url,$post)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result;
};
$a=fopen("accounts.txt", "r");
while(!feof($a)){
flush();
$str = fgets($a, 100);
$acc = explode("@", $str);
$login = $acc[0];
$domain= $acc[1];
echo $str;
$url = "http://win.mail.ru/cgi-bin/passremind?action=login&Username=".$login."&Domain=".$domain;
$start = curl($url,$post_n);
$z=strpos($start, "Пользователь отсутствует.");
if ($z !== false)
{
echo"..........мыло свободно<br>";
$good=fopen("good.txt", "a+");
fwrite($good,$login."@".$domain."\n");
fclose($good);
}
else {
echo "..........забудь- его уже юзают<br>";
}
}
fclose($a);
?>
Прошу не пинать, возможно написанн и криво- но зато работает)))
Последний раз редактировалось Kusto; 13.09.2009 в 05:20..
|
|
|

12.09.2009, 22:29
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.05.2008
Сообщений: 756
Провел на форуме: 9257858
Репутация:
979
|
|
Сообщение от Kusto
делать было вечером- делать было нефига, вот начеркал скрипт проверки мыла на майле на предмет занятости, выражаю благодарность Flooser, который указал на ошибки, писалось для себя, цели могут быть разные (можете грабером спарсить страницу с мылами на майле а может спам базу прочекать на валид) Написан на PHP так что суперскоростей не ждите, мыла которые надо прочекать кидаем в account.txt а незарегенные получаем в good.txt
PHP код:
<?php
/**
* @author Kusto
* @copyright 2009
*/
function curl($url,$post)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result;
};
$a=fopen("accounts.txt", "r");
while(!feof($a)){
flush();
$str = fgets($a, 100);
$acc = explode("@", $str);
$login = $acc[0];
$domain= $acc[1];
echo $str;
$url = "http://win.mail.ru/cgi-bin/passremind?action=login&Username=".$login."&Domain=".$domain;
$start = curl($url,$post_n);
$z=strpos($start, "Пользователь отсутствует.");
if ($z !== false)
{
echo"..........мыло свободно<br>";
$good=fopen("good.txt", "a+");
fwrite($good,$login."@".$domain."\n");
fclose($good);
}
else {
echo "..........забудь- его уже юзают<br>";
}
}
fclose($a);
?>
Прошу не пинать, возможно написанн и криво- но зато работает)))
PHP код:
<?php
$a = file("acc.txt");
$good = fopen("good.txt", "a+");
foreach ($a as $acc) {
echo $acc;
$acc = explode("@", $acc);
$url = file_get_contents("http://win.mail.ru/cgi-bin/passremind?action=login&Username=" .
$acc[0] . "&Domain=" . $acc[1]);
if (strpos($url, "Пользователь отсутствует.")) {
echo "..........мыло свободно<br>";
fwrite($good, $login . "@" . $domain . "\n");
} else
echo "..........забудь- его уже юзают<br>";
flush();
ob_flush();
}
fclose($good);
?
Изучи код,есть боле удобные функции 
Последний раз редактировалось rushter; 12.09.2009 в 22:38..
|
|
|

12.09.2009, 22:40
|
|
Moderator - Level 7
Регистрация: 04.02.2007
Сообщений: 554
Провел на форуме: 7518056
Репутация:
1089
|
|
Сообщение от rushter
PHP код:
<?php
$a = file("acc.txt");
$good = fopen("good.txt", "a+");
foreach ($a as $acc) {
echo $acc;
$acc = explode("@", $acc);
$url = file_get_contents("http://win.mail.ru/cgi-bin/passremind?action=login&Username=" .
$acc[0] . "&Domain=" . $acc[1]);
if (strpos($url, "Пользователь отсутствует.")) {
echo "..........мыло свободно<br>";
fwrite($good, $login . "@" . $domain . "\n");
} else
echo "..........забудь- его уже юзают<br>";
flush();
ob_flush();
}
fclose($good);
?
Изучи код,есть боле удобные функции 
как ты указал- так конечно намного красивее, единственное ошибка в коде- несортирует на бед и гуд (счас буду разбираться)
Последний раз редактировалось Kusto; 12.09.2009 в 23:13..
|
|
|

13.09.2009, 00:04
|
|
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
Провел на форуме: 1698585
Репутация:
818
|
|
PHP код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html dir="ltr" lang="ru">
<head>
<title>Проверь занято ли твоё мыло!</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" >
<meta http-equiv="Content-Language" content="ru">
<meta name="author" content="b3">
<meta name="Copyright" content="Copyright (c) b3">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="-1">
<meta http-equiv="Cache-Control" content="no-cache">
<meta name="keywords" content="gmail, yahoo, yandex, mail">
<meta name="description" content="Скрипт определения на занятость логина почтовых сервисов">
<script type="text/javascript" src="jquery.js"></script>
<script language="JavaScript">
var checked = 0;
function check_all() {
if (checked == 0) {
$('input:checkbox').each(function(){
$(this).attr({checked:"checked"});
});
checked = 1;
} else {
$('input:checkbox').each(function(){
$(this).attr({checked:""});
});
checked = 0;
}
}
</script>
<?php
function Form()
{
echo <<<HTML
<table align="center" border="1">
<form method="post" enctype="application/x-www-form-urlencoded">
<tr>
<td colspan="2" align="center"><input type="text" align="CENTER" size="30" maxlength="30" name="login" /></td>
</tr>
<tr>
<td align="center"><b>ВСЕ</b></td>
<td align="center"><input type="checkbox" onClick="check_all()"></td>
</tr>
<tr>
<td align="center">yahoo.com</td>
<td align="center"><input type="checkbox" value="yahoo.com" name="yahoo" /></td>
</tr>
<tr>
<td align="center">ymail.com</td>
<td align="center"><input type="checkbox" value="ymail.com" name="ymail" /></td>
</tr>
<tr>
<td align="center">rocketmail.com</td>
<td align="center"><input type="checkbox" value="rocketmail.com" name="rocketmail" /></td>
</tr>
<tr>
<td align="center">mail.ru</td>
<td align="center"><input type="checkbox" value="mail.ru" name="mail" /></td>
</tr>
<tr>
<td align="center">list.ru</td>
<td align="center"><input type="checkbox" value="list.ru" name="list" /></td>
</tr>
<tr>
<td align="center">bk.ru</td>
<td align="center"><input type="checkbox" value="bk.ru" name="bk" /></td>
</tr>
<tr>
<td align="center">inbox.ru</td>
<td align="center"><input type="checkbox" value="inbox.ru" name="inbox" /></td>
</tr>
<tr>
<td align="center">yandex.ru</td>
<td align="center"><input type="checkbox" value="yandex" name="yandex" /></td>
</tr>
<tr>
<td align="center">gmail.com</td>
<td align="center"><input type="checkbox" value="gmail" name="gmail" /></td>
</tr>
<tr>
<td align="center">rambler.ru</td>
<td align="center"><input type="checkbox" value="rambler" name="rambler" /></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Check" /></td>
</tr>
</form>
</table>
HTML;
}
class check
{
var $login = 'b3';
var $result = '';
public function check_yahoo($domain='yahoo.com')
{
$url = "https://edit.yahoo.com/reg_json?PartnerName=yahoo_default&RequestVersion=1&AccountID=$this->login@$domain&GivenName=&FamilyName=&ApiName=ValidateFields&intl=us&5745742";
$ua = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($ch);
if(strpos($res,'{"ResultCode":"SUCCESS"}'))
{
return $this->result[$domain] = 'Свободен';
} else {
return $this->result[$domain] = 'Занят';
}
}
function check_mailru($domain='mail.ru')
{
$ch = curl_init('http://win.mail.ru/cgi-bin/signup');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, './cook');
curl_setopt($ch, CURLOPT_COOKIEFILE, './cook');
$res = curl_exec($ch);
if(preg_match('#var name_ = document\.uinfo\.(.*)\.value;#',$res,$matches))
{
$field_email = $matches[1];
if(preg_match('#x_reg_id=(.*)&#',$res,$matches))
{
$x_reg_id = $matches[1];
$ch = curl_init('http://win.mail.ru/cgi-bin/checklogin');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, './cook');
curl_setopt($ch, CURLOPT_COOKIEFILE, './cook');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "RegistrationDomain=$domain&$field_email=$this->login&x_reg_id=$x_reg_id");
$res = curl_exec($ch);
if(preg_match('#^0$#',$res))
return $this->result[$domain] = 'Свободен';
else
return $this->result[$domain] = 'Занят';
}
}
}
function check_yandex()
{
$res = file_get_contents("http://passport.yandex.ru/passport?mode=constructlogin&login=$this->login&iname=&fname=&reqid=640480");
if(strpos($res,'"input_login_status":"free"'))
return $this->result['yandex'] = 'Свободен';
else
return $this->result['yandex'] = 'Занят';
}
function check_gmail()
{
$ch = curl_init("https://www.google.com/accounts/CheckAvailability?service=mail&continue=http://www.google.com&Email=$this->login&FirstName=&LastName=&formId=createaccount&inputId=Email&dsh=-4209551778079217616");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($ch);
if(preg_match('#is available</font>$#',$res))
return $this->result['gmail'] = 'Свободен';
else
return $this->result['gmail'] = 'Занят';
}
function check_rambler()
{
$ch = curl_init('http://id.rambler.ru/script/newuser.cgi');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "back=&step=one&login=$this->login&firstname=Vyacheslav&lastname=Graberzcomovich");
$res = curl_exec($ch);
$errno = curl_errno($ch);
$error = curl_error($ch);
if(preg_match('#К сожалению, на Рамблере уже есть пользователь#',$res))
return $this->result['rambler'] = 'Занят';
if(preg_match('#Рамблер и ICQ#',$res))
return $this->result['rambler'] = 'Свободен';
if($errno > 0)
return $this->result['rambler'] = $errno.':'.$error;
}
}
if(isset($_POST['login']))
{
$a = new check;
$a->login = $_POST['login'];
if(isset($_POST['yahoo']))
$a->check_yahoo();
if(isset($_POST['ymail']))
$a->check_yahoo('ymail.com');
if(isset($_POST['rocketmail']))
$a->check_yahoo('rocketmail.com');
if(isset($_POST['mail']))
$a->check_mailru('mail.ru');
if(isset($_POST['list']))
$a->check_mailru('list.ru');
if(isset($_POST['bk']))
$a->check_mailru('bk.ru');
if(isset($_POST['inbox']))
$a->check_mailru('inbox.ru');
if(isset($_POST['yandex']))
$a->check_yandex();
if(isset($_POST['gmail']))
$a->check_gmail();
if(isset($_POST['rambler']))
$a->check_rambler();
foreach ($a->result as $key => $value) {
echo $key.':'.$value.'<br />';
}
} else {
echo '<p align="center">Введите желаемый Логин:</p>';
Form();
}
?>
Незабудь подключить jquery.js
результат:
yahoo.com:Свободен
ymail.com:Свободен
rocketmail.com:Свободен
mail.ru:Свободен
list.ru:Свободен
bk.ru:Свободен
inbox.ru:Свободен
yandex:Занят
gmail:Свободен
rambler:Свободен
|
|
|

13.09.2009, 15:27
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме: 6462214
Репутация:
3171
|
|
PHP код:
Уродуем md5 хеш,до неузнаваемости.
function encode_ezom($md5)
{
$array_md5 = str_split($md5);
$array_copy_md5 = $array_md5;
//print_r(array_keys($array_md5,"a"));
$unique = array_unique($array_md5);
$array_md5 = array_values(array_unique($array_md5));
$numm .= ':';
//print_r($array_md5);
for ($i = 0; $i < count($array_md5); $i++) {
$chars .= $array_md5[$i];
$array_keys = array_keys($array_copy_md5, $array_md5[$i]);
for ($j = 0; $j < count($array_keys); $j++) {
if ($j != count($array_keys) - 1) {
$numm .= $array_keys[$j] . '.';
} else {
$numm .= $array_keys[$j];
}
}
$numm .= ':';
}
return ($chars . $numm);
}
function decode_ezhom($ezhom)
{
$match = Explode(':', $ezhom);
unset($match[count($match) - 1]);
$mini_hash = str_split($match[0]);
for ($i = 1; $i < count($match); $i++) {
$char = explode('.', $match[$i]);
for ($t = 0; $t < count($char); $t++) {
$result[$char[$t]] = $mini_hash[$i - 1];
}
}
ksort($result);
foreach ($result as $key => $val) {
$hash .= $val;
}
return ($hash);
}
$md5 = md5(rand());
echo 'Начальный <b>MD5</b> хеш: ' . $md5 . '<br>';
$ezhom = encode_ezom($md5);
echo 'За<b>EZHOM</b>еный хеш: ' . $ezhom . '<br>';
$md5 = decode_ezhom($ezhom);
echo 'Раз<b>EZHOM</b>еный хеш: ' . $md5 . '<br>';
Принцип работы прост:
- Удаляем все дубли цифер,букв из начального хеша.
- Делаем реверс полученого результата.
- Заводим отдельный массив,в котором храняться ключи,от цыфр и букв в изначальном хеше.
Собственно:
Начальный MD5 хеш: 90c838391b2bb4cf27115449e681bf84;
ЗаEZHOMеный хеш: 6e57f42b138c09;
+ Ключи для расшифровки: :0.7.23:1:2.14:3.5.26.30:4.6:8.18.19.27:9.11.12.28 :10.16:13.21.22.31:15.29:17:20:24:25:
РазEZHOMеный хеш: 90c838391b2bb4cf27115449e681bf84
Помоему,очень удобная защита от недохеккеров.
Храним в таблице например так:
hash: 6e57f42b138c09
keys::0.7.23:1:2.14:3.5.26.30:4.6:8.18.19.27:9.11. 12.28:10.16:13.21.22.31:15.29:17:20:24:25:
Собственно все.
Штука ацкая,и туда апихано много-ого различных циклов,чтобы сделать код менее читаемым.Можно было убрать нах 2 массива,но не нравиться так =)
Последний раз редактировалось m0Hze; 13.09.2009 в 15:39..
|
|
|

13.09.2009, 17:20
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
m0Hze Плохой способ скрытия по причинам:
1) После декодирования (в случае известного декодера) - получаем исходный МД5, который быстро брутится
2) Необходимость дополнительного поля в БД для расшифровки, которая ничего не скрывает
Проще использовать mhash + MHASH_SHA256 - нет такой обширной базы хэшей, как для мд5, нет нормальной поддержки КУДА для этого типа хеша, плюс скорость перебора меньше
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
|
|
|

13.09.2009, 17:50
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме: 6462214
Репутация:
3171
|
|
Сообщение от Gifts
m0Hze Плохой способ скрытия по причинам:
1) После декодирования (в случае известного декодера) - получаем исходный МД5, который быстро брутится
2) Необходимость дополнительного поля в БД для расшифровки, которая ничего не скрывает
Проще использовать mhash + MHASH_SHA256 - нет такой обширной базы хэшей, как для мд5, нет нормальной поддержки КУДА для этого типа хеша, плюс скорость перебора меньше
Никакого скрытия,просто мне захотелось поломать мозг школте в своей библиотеке,ибо ктото смог залить шел(впервые за 2 года(),вот я и извращаюсь с хешами,дабы их усложнить без изменения самого алгоритма.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|