HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #681  
Старый 10.03.2009, 16:18
eLWAux
Постоянный
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме:
5111568

Репутация: 2399


По умолчанию

скрипт загрузки изображений на radikal.ru

perl
PHP код:
#! /usr/bin/perl
use IO::Socket::INET;

# forming header's ..
$request1 "POST http://www.radikal.ru/action.aspx HTTP/1.1\r\n".
            
"Host: www.radikal.ru\r\n".
            
"User-Agent: Mozilla/5.0\r\n".
            
"Connection: close\r\n".
            
"Referer: http://www.radikal.ru\r\n".
            
"Content-Type: multipart/form-data; boundary=:boundary:\r\n".
            
"Content-Length: :length:\r\n\r\n";
$request2 "--:boundary:\r\n".
            
"Content-Disposition: form-data; name=\"upload\"\r\n".
            
"\r\nyes\r\n".
            
"--:boundary:\r\n".
            
"Content-Disposition: form-data; name=\"F\"; filename=\":name:\"\r\n".
            
"Content-Type: image/:type:\r\n\r\n";

# file name,type
    
$file shift or die "use: $0 <image>\n";
    
$fsize = -s $file;
    (
$fname) = $file =~ /([^\/]+)$/;
    (
$ftype) = $fname =~ /\.([^\.]+)$/;
    
unless($fname && $ftype) { die "[-] invalid filename\n"; }

# read file
    
open FID$file or die "[-] failed to open $file!\n";
    
sysread(FID$data$fsize);
    
close FID;

    
$boundry '---------------------------2132365407679';

    
$request2 =~ s/:boundary:/$boundry/;
    
$request2 =~ s/:boundary:/$boundry/;
    
$request2 =~ s/:name:/$fname/;
    
$request2 =~ s/:type:/$ftype/;
    
$request2 .= $data."\r\n--$boundry--\r\n";
    
$length length($request2);
    
$request1 =~ s/:boundary:/$boundry/;
    
$request1 =~ s/:length:/$length/;
    
$request1 .= $request2;


 
# create socket
*SOCK IO::Socket::INET->new(
    
PeerAddr => "radikal.ru",
    
PeerPort => 80,
    
Proto    => 'tcp',
    
Type     => SOCK_STREAM)
 or die(
"[-] connection failed!\n");

 
# read sock answer
 
$buff "";
 print 
SOCK $request1;
 while(
$line = <SOCK>){
    
$buff .= $line;
    if (
$line=~/<\/html>/) {last;}
 }
 
close SOCK;

 
# parce
 
$buff =~ /<a href="http:\/\/(.*)" target="_blank">/;
 print 
'Link: http://'.$1."\n"
 
Ответить с цитированием

  #682  
Старый 10.03.2009, 17:07
Shadow_p1raT
Участник форума
Регистрация: 09.03.2008
Сообщений: 193
Провел на форуме:
2140897

Репутация: 267
По умолчанию

Писал когда учил php)Может кому пригодится.
Функция для обработки массивов в массивах :-)
PHP код:
function reBuild($array) {
   foreach(
$array as $key=>$value) {
      if(
is_array($value)) { 
         
$array[$key] = reBuild($value);
         continue;
      }
      
$array[$key] =  htmlspecialchars($value);   
   }
   return 
$array;
}
$_GET reBuild($_GET); 
Или так
PHP код:
$in = array(&$_GET, &$_POST, &$_COOKIE);
while (list(
$k$v) = each($in)) {
   foreach (
$v as $key => $val) {
      if (!
is_array($val)) {
                
$in[$k][$key] = htmlspecialchars($val);
                continue;
      }
      
$in[] = &$in[$k][$key];
   }

unset(
$in); 
 
Ответить с цитированием

  #683  
Старый 10.03.2009, 21:58
RegStuff
Banned
Регистрация: 19.02.2009
Сообщений: 5
Провел на форуме:
76627

Репутация: 3
По умолчанию

eLWAux, ну и ужос. вот 13 строчек из привата:
Код:
use warnings;
use strict;
use LWP::UserAgent;

my $im = shift || die "Nety kartinki\n";

my $ua = LWP::UserAgent->new;
my $load = $ua->post('http://www.radikal.ru/action.aspx',
                     Content_type => 'multipart/form-data',
                     Content      => [upload => 'yes',
                                      F      => [$im]])->content;

$load =~ m,"img4prev" src="(.+?)",i ? print $1 : print "XYI"
 
Ответить с цитированием

  #684  
Старый 10.03.2009, 22:03
eLWAux
Постоянный
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме:
5111568

Репутация: 2399


По умолчанию

RegStuff, отличия видиш?!

ти используеш говорий компонент LWP::UserAgent;
а все делаю вручную, через сокети.
твои 13 строчек на LWP, то самое что и мой 26 на сокетах, а то и больше

Цитата:
Сообщение от RegStuff  
print "XYI"
мегакодер
 
Ответить с цитированием

  #685  
Старый 10.03.2009, 22:05
RegStuff
Banned
Регистрация: 19.02.2009
Сообщений: 5
Провел на форуме:
76627

Репутация: 3
По умолчанию

Цитата:
Сообщение от eLWAux  
ти используеш говорий компонент LWP::UserAgent;
а все делаю вручную, через сокети.
твои 13 строчек на LWP, то самое что и мой 26 на сокетах, а то и больше
эльвипи это делает за тебя, балбес
Цитата:
Сообщение от eLWAux  
мегакодер
эт не я, это из привата

PS: бачи на русской мове, не понятно ничего почти

Последний раз редактировалось RegStuff; 10.03.2009 в 22:08..
 
Ответить с цитированием

  #686  
Старый 11.03.2009, 18:04
b3
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
Провел на форуме:
1698585

Репутация: 818


По умолчанию

Для GD
Если вы привыкли задавать цвет так, как это делается в HTML, то можете использовать следующую функцию:

PHP код:
function htmlcolor($img,$color) {
    
sscanf($color"%2x%2x%2x"$red$green$blue);
    return 
ImageColorAllocate($img,$red,$green,$blue);
    return(
$c);
    }

$red=htmlcolor($img,"FF0000"); 
 
Ответить с цитированием

  #687  
Старый 11.03.2009, 18:57
real_kas
Познающий
Регистрация: 22.03.2007
Сообщений: 45
Провел на форуме:
110666

Репутация: 9
Lightbulb

Цитата:
Сообщение от 159932  
а то пробелы форум лишние ставит=
для такого случая посовтую сервис http://dumpz.org. там выкладываешь исходник, он его не бьет... вроде
 
Ответить с цитированием

  #688  
Старый 11.03.2009, 19:02
159932
Постоянный
Регистрация: 28.09.2007
Сообщений: 820
Провел на форуме:
6722038

Репутация: 1385


По умолчанию

2 real_kas
мне как то и рапида подходит..
 
Ответить с цитированием

  #689  
Старый 12.03.2009, 00:48
real_kas
Познающий
Регистрация: 22.03.2007
Сообщений: 45
Провел на форуме:
110666

Репутация: 9
Angry

Цитата:
Сообщение от 159932  
2 real_kas
мне как то и рапида подходит..
если архив это да. а если кусок кода то нет. рапида неудобная до ужаса...
 
Ответить с цитированием

  #690  
Старый 12.03.2009, 14:39
ph1l1ster
Постоянный
Регистрация: 11.03.2008
Сообщений: 347
Провел на форуме:
2075230

Репутация: 462
По умолчанию

надо было рассортироватьшеллы...
простенький сортировщик шеллов в один поток, сортирует по winddows, linux, freebsd.

Код:
#!usr/bin/perl
use LWP::UserAgent;
print "\n\nEnter Shells file name:";
$shells = <STDIN>;
open(SHELLS,$shells) || die "\n# Can not open $shells";
open(WIN, ">>wind_shells.txt");
open(LIN, ">>lin_shells.txt");
open(BSD, ">>freebsd_shells.txt");
sub search($url,$win,$lin,$bsd) 
{
$client = LWP::UserAgent->new( ) or die;
$answer = $client->get($url);
$win="Windows";
$lin="Linux";
$bsd="FreeBSD";
if (index($answer->content,$win)>-1)
{
print WIN "$url\n";
}
if (index($answer->content,$lin)>-1)
{
print LIN "$url";
}
if (index($answer->content,$bsd)>-1)
{
print BSD "$url";
}
}
print "## Sorting...\n";
while (defined($url=<SHELLS>)) 
{
&search($url,$win,$lin,$bsd) ;
}
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.