El Pombo" /> Pitido Popular :: Ver tema - Script para generar varias firmas por segundo
Foros de discusión Pitido Popular
Foro -no moderado y sin censura-
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entre para ver sus mensajes privadosEntre para ver sus mensajes privados   LoginLogin 

Script para generar varias firmas por segundo
Ir a página 1, 2  Siguiente
 
Este foro está cerrado y no puede publicar, responder o editar temas   Este tema está cerrado y no puede editar mensajes o responder    Foros de discusión -> Opinión
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Atila
Invitado





MensajePublicado: Vie Feb 03, 2006 12:04 pm    Asunto: Script para generar varias firmas por segundo Responder citando

Tengo un script que puede ayudaros en el objetivo de los 5 millones de firmas, incluso podemos llegar a mas de 40 millones (lo que no dejaria de ser curioso). Genera entre dos y tres firmas aletorias por segundo (en mi maquina).

El problema para muchos es que es un shell script de Linux (lo siento pero no se hacer scripts en Windows, tal vez alguien pueda hacer que funcione en Windows), pero bueno, si alguien tiene acceso a una maquina Linux puede generar unas 10.000 firmas por hora (240.000 al dia cada uno que lo ejecute).

Ahi va, solo teneis que cortar y pegar en un fichero, hacerlo ejecutable y generar dos ficheros mas en el mismo directorio: nombres.txt con una lista de nombres y apellidos.txt con una lista de apellidos:

Código:


#!/bin/bash

LETRA[0]=T
LETRA[1]=R
LETRA[2]=W
LETRA[3]=A
LETRA[4]=G
LETRA[5]=M
LETRA[6]=Y
LETRA[7]=F
LETRA[8]=P
LETRA[9]=D
LETRA[10]=X
LETRA[11]=B
LETRA[12]=N
LETRA[13]=J
LETRA[14]=Z
LETRA[15]=S
LETRA[16]=Q
LETRA[17]=V
LETRA[18]=H
LETRA[19]=L
LETRA[20]=C
LETRA[21]=K
LETRA[22]=E

random()
{
  expr $(expr $RANDOM % $(expr $(expr $2 - $1) + 1)) + $1
}

I=0
while true
do
  NOMBRE=$(head -n $(random 1 $(cat nombres.txt | wc -l)) nombres.txt | tail -n 1)
  APELL1=$(head -n $(random 1 $(cat apellidos.txt | wc -l)) apellidos.txt | tail -n 1)
  APELL2=$(head -n $(random 1 $(cat apellidos.txt | wc -l)) apellidos.txt | tail -n 1)

  DNI=$(expr $(expr $(expr $RANDOM '*' 32768) + $RANDOM) % 100000000)
  J=$(expr 9 - $(echo $DNI | wc -c))
  while [ $J -gt 0 ]
  do
    DNI=0$DNI
    J=$(expr $J - 1)
  done
  DNI=$DNI${LETRA[$(expr $DNI % 23)]}

  IP=$(random 60 89).$(expr $RANDOM % 256).$(expr $RANDOM % 256).$(expr $RANDOM % 256)

  DIA=$(random 1 28)
  [ $DIA -lt 10 ] && DIA=0$DIA
  MES=0$(random 1 3)
  HORA=$(random 0 23)
  [ $HORA -lt 10 ] && HORA=0$HORA
  MIN=$(random 0 59)
  [ $MIN -lt 10 ] && MIN=0$MIN
  SEG=$(random 0 59)
  [ $SEG -lt 10 ] && SEG=0$SEG
  DATE="$DIA%2F$MES%2F2006%20$HORA%3A$MIN%3A$SEG"

  SESION=$(expr $(expr $(expr $RANDOM '*' 32768) + $RANDOM) % 10000000)
  J=$(expr 8 - $(echo $SESION | wc -c))
  while [ $J -gt 0 ]
  do
    SESION=0$SESION
    J=$(expr $J - 1)
  done
  SESION=9$SESION

  echo $DNI $NOMBRE $APELL1 $APELL2
  wget -nv -O /dev/null --timeout=5 --referer=http://www.pit-pp.info/form.asp --post-data=txtnombre=$NOMBRE%20$APELL1%20$APELL2\&txtdni=$DNI\&guest_ip=$IP\&guest_date=$DATE\&guest_sesion=$SESION http://www.pit-pp.info/env_form.asp\?modo=1

  I=$(expr $I + 1)
done

Volver arriba
Carolo
Invitado





MensajePublicado: Vie Feb 03, 2006 12:54 pm    Asunto: Enhorabuena Responder citando

Enhorabuena, el código es bastante limpio y eficiente; de todas formas, creo que debería estar mejor documentado (algún comentario en el fuente no estaría de más).

Oye, ¿Y por qué no haces una dll para Windows en .NET? Es el s.o. que utilizamos en la mayoría de los ordenadores personales...ahhhhh, perdona, que no sabes....

Y....mejor aún ¿¿¿¿¡¡¡Por qué no te dedicas a aprender .NET o java o C++ o algún puñetero lenguaje de programación multiplataforma en vez de a hacer el gamberro!!!!????
Volver arriba
Invitado






MensajePublicado: Vie Feb 03, 2006 12:55 pm    Asunto: Responder citando

Pero pero pero... no lo deja en la web, lo suyo seria un script en javascript que directamente lanzara las peticiones a la web del pp, no crees??
Volver arriba
Atila
Invitado





MensajePublicado: Vie Feb 03, 2006 1:25 pm    Asunto: Responder citando

Carolo escribió:
Y....mejor aún ¿¿¿¿¡¡¡Por qué no te dedicas a aprender .NET o java o C++ o algún puñetero lenguaje de programación multiplataforma en vez de a hacer el gamberro!!!!????


Porque en mi tiempo libre hago lo que me sale de los cojones.

Invitado escribió:

Pero pero pero... no lo deja en la web, lo suyo seria un script en javascript que directamente lanzara las peticiones a la web del pp, no crees??


Claro que si, pero ya he dicho que no se. Si alguien que sepa quiere portarlo a otro lenguaje.
Volver arriba
twilight
Invitado





MensajePublicado: Vie Feb 03, 2006 1:43 pm    Asunto: Responder citando

"¿Y por qué no haces una dll para Windows en .NET? "


Mariconadas.... lo voy a hacer en ensamblador!!!!

Carolo tio que te pasa??? estas estreñido??
Volver arriba
Carolo
Invitado





MensajePublicado: Vie Feb 03, 2006 1:54 pm    Asunto: Responder citando

Cita:


Porque en mi tiempo libre hago lo que me sale de los cojones.



Ahora entiendo las carencias del código fuente, los cojones no suelen producir buenos programas (bucles infinitos, etc.etc.). Sería mejor que te los guardaras en los pantalones y programaras con la cabeza. Ganarías en calidad.
Volver arriba
Invitado






MensajePublicado: Vie Feb 03, 2006 1:56 pm    Asunto: Responder citando

Habria que ver los programas que hacen los cabestros como tu...

Todo el mundo sabe que los cabestros son grandes programadores
Volver arriba
Carolo
Invitado





MensajePublicado: Vie Feb 03, 2006 2:29 pm    Asunto: Responder citando

Cita:

Habria que ver los programas que hacen los cabestros como tu...

Todo el mundo sabe que los cabestros son grandes programadores


¿Eso va por mí??? uuuu, los cabestros....en fiestas de San Juan un cabestro saltó al callejón y preparó una más gorda que la propia vaquilla...qué risas....

Sabía que sería cuestión de dos mensajes más que entraras al trapo...¿quén es ahora el cabestro??? jajajajaj
Volver arriba
Invitado






MensajePublicado: Vie Feb 03, 2006 2:36 pm    Asunto: Responder citando

Hombre carolo que yo he necesitado dos mensajes (y no soy el que escribio el post original) pero tu solo has necesitado uno y sin que nadie te picara, o no recuerdas el segundo mensaje de la conversacion???

Ay... como duelen esos cuernos!!! no te preocupes carolo, que seguro que tu novia es ahora mas feliz XDDDDDD
Volver arriba
Atila
Invitado





MensajePublicado: Vie Feb 03, 2006 5:11 pm    Asunto: Responder citando

Estoy tratando de sacar la version javascript. Al final me va a venir bien la tonteria de la recogida de firmas y voy a aprender algo nuevo.
Cuando lo tenga lo posteo.
Volver arriba
Atila
Invitado





MensajePublicado: Vie Feb 03, 2006 6:34 pm    Asunto: Responder citando

Malas noticias: no se puede hacer en javascript porque no se puede firmar desde ningun browser normal (ni Internet Explorer ni Firefox), asi que solo se puede utilizar el script unix/linux.

Si quiereis una explicacion tecnica del porque, ahi va, si no, no hace falta que leais mas.

La pagina solo acepta firmas si en la peticion viene el "referer" puesto a "http://www.pit-pp.info/form.asp", es decir, si pinchas el boton firmar en esa pagina; si intentas firmar desde otra pagina la firma no es valida. Pero el "referer" es un campo que el usuario no puede fijar en los browser normales (lo ponen ellos automaticamente). Por lo tanto la unica solucion que yo veo es usar un "browser" que te permita fijar el "referer", como el comando "wget" de unix/linux.
Volver arriba
twilight
Invitado





MensajePublicado: Vie Feb 03, 2006 6:54 pm    Asunto: Responder citando

Ahmmm ... que putada, ya me imaginaba yo que algo asi podia pasar, mas que nada para evitar un ataque DoS...

Pero bueno, estaba pensando en la tipica pagina con dos marcos (marco paginaPP, marco que te genera un nombre al azar y un DNI) eso es mas sencillo, prometo echarle un ojo este finde a ver si se puede hacer algo.

De todos modo yo creia que el wget solo servia en direccion servidor->cliente... ¿por cierto se podria hacer algo con lynx...? hay que mirarlo
Volver arriba
Atila
Invitado





MensajePublicado: Vie Feb 03, 2006 7:40 pm    Asunto: Responder citando

Mirando el "man lynx" no deja fijar el referer, solo quitarlo.

De todas formas el comando wget del script funciona y el wget es una utilidad gratuita. Te la puedes bajar de http://www.gnu.org/software/wget/ en codigo fuente y compilarla. Hay incluso una version para Windows ya compilada, asi que si alguien sabe portar el resto del script de unix shell a windows "lo que sea" (no se que lenguaje de script tiene windows), pues a ello. Imagino que tambien habra paquetes ya compilados para las diferentes distribuciones de Linux... a buscar!.
Volver arriba
twilight
Invitado





MensajePublicado: Vie Feb 03, 2006 8:27 pm    Asunto: Responder citando

Atila tio... acabo de probar tu script y es una autentica pasada...

X'DDDDDDD

Pero yo creo que esto no se puede portar a windows, muy currado, mi mas sencilla enhorabuena, lo proximo creo que podria ser modificar el valor de guest_ip=$IP mas que nada para que no nos acusen de DoS....
Volver arriba
Atila
Invitado





MensajePublicado: Vie Feb 03, 2006 8:40 pm    Asunto: Responder citando

Acusarnos de DoS? Yo desde luego no lo pretendo, lo que pretendo es que se recojan muchas firmas (invalidas por supuesto) para demostrar que la firma por Internet no vale para nada.

Ademas, antes de postear el script lo he tenido corriendo bastante tiempo y el servidor del PP ni se ha inmutado, seguia contestando con rapidez. Se ve que tienen pasta para pagar buenos servidores y conexiones de Internet, no como los pobres estudiantes.

Asi que nada de DoS, el objetivo es que el servidor recoja el mayor numero de firmas posible.
Volver arriba
twilight
Invitado





MensajePublicado: Vie Feb 03, 2006 8:46 pm    Asunto: Responder citando

Si no te digo que no, pero si tu, yo y 800 tios mas nos dejamos el scritp arrancado 24horas es posible (solo posible) que deje de responder... y eso seria malo por dos motivos

1. El evidente... que van a ver quien ha sido el terrible pirata que ha hecho tal fechoria

2. Este es el peor, que les das un motivo para ir de victimas...

Aun asi, el script muy currado, es que esta mañana no habia visto lo del wget pero creo que es una gran idea.

Portabilidad a windows??? uff ufff ufffff como script no lo creo a no ser que lo hagas con perl, de todos modos habria que descargar tambien el wget (como bien has dicho), lo suyo seria hacerlo un js pero ya has dicho que no se podia.

Voy a ver si instalo esto en alguna maquina del ciberespacio y lo dejo corriendo que no consume nada.

Un saludo
Volver arriba
Atila
Invitado





MensajePublicado: Vie Feb 03, 2006 8:56 pm    Asunto: Responder citando

Pues entonces mejor no portarlo a windows. Funcionando solo en Linux es imposible que se sature la pagina del PP: solo lo usamos cuatro colgaos, comparado con windows. Sin embargo si que podemos poner unos cuantos cientos de miles o millones de firmas en unos dias.
Volver arriba
Atila
Invitado





MensajePublicado: Vie Feb 03, 2006 10:26 pm    Asunto: Responder citando

Creo que van a recoger muchas firmas: buscando por ahi he encontrado otro script (este en perl) que hace lo mismo que el mio.

http://codepaste.net/305
Volver arriba
Invitado






MensajePublicado: Dom Feb 05, 2006 4:22 am    Asunto: Responder citando

me sale esto en cada voto

ACABADO --03:21:01--
Descargados: 1,509 bytes en 1 ficheros
46504739G Jorge Martín Fernández
03:21:05 URL:http://www.pit-pp.info/dnino.asp [1509/1509] -> "/dev/null" [1]

es lo k tiene k salir??? lo digo x el dev null
si esto funciona (espero que si) creo que superaremos los 40 millones..
Volver arriba
Atila
Invitado





MensajePublicado: Lun Feb 06, 2006 11:40 am    Asunto: Responder citando

No esta bien. Algo te esta fallando, pero no es el /dev/null. El /dev/null es normal. Lo importante es que en la URL que te sale ponga firmaok.asp

Debe salir algo asi por cada firma:

85882088L Alba Martinez Garcia
01:09:57 URL:http://www.pit-pp.info/firmaok.asp [1614/1614] -> "/dev/null" [1]
Volver arriba
twilight
Invitado





MensajePublicado: Lun Feb 06, 2006 1:15 pm    Asunto: Responder citando

En este momento esta funcionando correctamente, puede que el formulario haya estado caido temporalmente... no se
Volver arriba
twilight
Invitado





MensajePublicado: Lun Feb 06, 2006 1:22 pm    Asunto: Responder citando

Por cierto atila, he publicado el codigo en mi blog twilight.blogsome.com si no te importa, si te importa lo quito en un momento.

Un saludo
Volver arriba
Atila
Invitado





MensajePublicado: Lun Feb 06, 2006 4:17 pm    Asunto: Responder citando

Sin problema.

El codigo es libre y podeis modificarlo, publicarlo, tirarlo o pintarlo de verde si quereis.
Volver arriba
ESPHERA
Invitado





MensajePublicado: Mar Feb 07, 2006 4:58 pm    Asunto: Responder citando

...creo que Carolo ya se encargará de enviar un mensajito a la sede del PP para que evitar que funcione el script en la pagina....
Volver arriba
Invitado






MensajePublicado: Mar Feb 21, 2006 1:50 am    Asunto: Responder citando

Simplemente da igual, no sabrán como evitarlo...., yo he entrado durante algún tiempo en sus foros, para ver de qué hablaban, y no veas como son los informáticos, no tienen ni idea...
Volver arriba
Mostrar mensajes de anteriores:   
Este foro está cerrado y no puede publicar, responder o editar temas   Este tema está cerrado y no puede editar mensajes o responder    Foros de discusión -> Opinión Todas las horas son GMT + 2 Horas
Ir a página 1, 2  Siguiente
Página 1 de 2

 
Cambiar a:  
Puede publicar nuevos temas en este foro
No puede responder a temas en este foro
No puede editar sus mensajes en este foro
No puede borrar sus mensajes en este foro
No puede votar en encuestas en este foro


Powered by phpBB © 2001, 2005 phpBB Group