• Publicidad

Jugando con tcpdump

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Jugando con tcpdump

Notapor BigBear » 2014-01-08 13:56 @622

Hola, estoy programando un script usando tcpdump para detectar los parámetros de cualquier formulario POST. Pensé en detectar todo así: (.*)?(.*)=(.*) y así sucesivamente, pero el tema es que hay '?' y '=' por todos lados, en el resultado.

La idea es capturar este tipo de parámetros:

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
username=test&password=test&redirect=.%2Fucp.php%3Fmode%3Dlogin&sid=1306a45dc883aaca23298f513bf2bbd4&redirect=index.php&login=test
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
..........s,.....O.
..S..pM@_....f.AOR.../. .QS...z..R.q.OD.....6..
..8..m,m..55Z..)..?2.......%.L.}d....c....U........>.}.`o....Qm.[...0....xy..(..j.9K....R..S..'r. ...<."T^qgp..I<..J.HRR_..?G.....p.....
~v..'....E.e......7.!......31.[g.w.o........p.'..........&j#.
15:51:31.430467 IP doddy-desktop.54674 > test: Flags [P.], seq 4206523680:4206524676, ack 193925359, win 5840, length 996
E.....@[email protected] ....P.......POST /foro/ucp.php?mode=login HTTP/1.1
Host: test
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:20.0) Gecko/20100101 Firefox/20.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: es-ar,es;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://test.com/foro/zzz.php?mode=login ... 513bf2bbd4
Cookie: __utma=90273563.225869608.1382561247.1388840955.1389206919.99; __utmz=90273563.1384886265.5.2.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided); style_cookie=printonly; phpbb3_6pm87_u=1; phpbb3_6pm87_k=; phpbb3_6pm87_sid=1306a45dc883aaca23298f513bf2bbd4; __atuvc=1%7C49; __utmb=90273563.2.10.1389206920; __utmc=90273563
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 143
username=test&password=test&redirect=.%2Fucp.php%3Fmode%3Dlogin&sid=1306a45dc883aaca23298f513bf2bbd4&redirect=index.php&login=test
dsads
dsaads
a
dsdsa
 
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


¿ Alguien me puede ayudar ?
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Publicidad

Re: Jugando con tcpdump

Notapor explorer » 2014-01-08 18:00 @791

Con el módulo CGI, es muy fácil:

Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
  1. $ perl -MCGI -E '$q = CGI->new(q(username=test&password=test&redirect=.%2Fucp.php%3Fmode%3Dlogin&sid=1306a45dc883aaca23298f513bf2bbd4&redirect=index.php&login=test)); say "$_ => " . $q->param($_) for $q->param()'
  2. username => test
  3. password => test
  4. redirect => ./ucp.php?mode=login
  5. sid => 1306a45dc883aaca23298f513bf2bbd4
  6. login => test
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Jugando con tcpdump

Notapor BigBear » 2014-01-08 18:25 @809

Gracias por la ayuda, explorer. Intenté migrar tu comando a un script sencillo y me quedó así:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!usr/bin/perl
  2.  
  3. use CGI;
  4.  
  5. my $code = leer("leeme");
  6.  
  7. $q = CGI->new($code);
  8.  
  9. for my $test($q->param()) {
  10. print $q->param($test);
  11. }
  12.  
  13. sub leer {
  14.     open my $FILE, q[<], $_[0];
  15.     my $word = join q[], <$FILE>;
  16.     close $FILE;
  17.     return $word;
  18. }
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


El tema es que sigue devolviendo un montón de texto y no los parámetros que quería lograr. ¿Qué hice mal?
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 10 invitados

cron