elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [BATCH] realizar búsquedas automáticas en web
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [BATCH] realizar búsquedas automáticas en web  (Leído 7,529 veces)
alehopio

Desconectado Desconectado

Mensajes: 8


Ver Perfil
[BATCH] realizar búsquedas automáticas en web
« en: 12 Diciembre 2013, 09:57 am »

Hola:

Me gustaría que algún programador me ayudase en mis escarceos con BATCH que es el único lenguaje del que tengo alguna noción.

De paso quedará el tema por si alguien se siente interesado en aprovecharlo.

Resulta que bing.com tiene un programa de recompensas por realizar búsquedas, el único problema es que está restringido para los usanos. Aunque esa limitación es fácil de saltar con un proxy.

Pasos a seguir:

1) instalar una vpn en el pc
SoftEther VPN Client + VPN Gate Client Plug-in [vpngate.net]

2) conectar el vpn a un servidor del país en cuestión, usa

3) entrar en bing.com pero si no se hace con ip de usa nada de lo siguiente sirve

4) arriba a la derecha pinchar en el icono de la rueda dentada de configuración

5) pinchar en "change your country/region" y elegir "United States - English" << ES EL PASO FUNDAMENTAL sabremos si está todo bien porque aparece "0 of 5" antes del icono de la rueda >>

6) ahora entrar en la parte superior derecha de la ventana pinchar en SING IN seguidamente en MICROSOFT ACCOUNT - CONNECT

7) usar una cuenta de live (hotmail, live, outlook) que tenga como país a USA

8) pinchar en "0 of 5" en la parte superior derecha de la ventana y elegir "Join Rewards now"

9) << OTRO PASO FUNDAMENTAL >> pinchar en " Microsoft account" junto al pequeño icono de la ventan de windows, bajo la frase "or sign up using a Microsoft account by clicking below"

10) si todo se ha hecho correctamente ya tenemos la cuenta de bing rewards creada, ahora por realizar búsquedas con bing se nos daran puntos que se pueden canjear en el apartado REDEEM http://www.bing.com/rewards/redeem/all

lo menos costoso en dedicación son las tarjetas de amazon.com de 5$ con los que se pueden comprar codigos online

http://www.amazon.com/s/field-keywords=online%20code

Por cada cuenta live de amigo invitado regalan 200 puntos por la primera semana de búsquedas diarias, y por cada cuenta permiten 15 puntos diarios por búsquedas; así que en 1 semana y con dos amigos invitados se tienen los puntos para el código de 5$

Garantizado que funciona. Ahora bien, el problema que surge es automatizar tanto el logueo de cuentas como la realización de búsquedas automáticas.

Lo del logueo automático de cuentas no tengo ni idea de como hacerlo.

Para las búsquedas automáticas me pasaron el siguiente BATCH

Código
  1. @echo off
  2. rem Con la configuración de FIREFOX siguiente:
  3. rem 1) -setDefaultBrowser
  4. rem 2) about:config browser.link.open_newwindow.override.external=1
  5. rem 3) addons.mozilla.org Click&Clean
  6. cd \
  7. cd c:\Program Files\Mozilla Firefox
  8. set /a "$COUNT=1"
  9. :begin
  10. set /a "$DATA=%random% %%11111 + 1111"
  11. set /a "$TIME=%random% %%4000 + 4000"
  12. firefox.exe http://www.bing.com/search?q=sex+%$DATA%
  13. PING 1.1.1.1 -n 1 -w %$TIME% >NUL
  14. echo %$COUNT%
  15. set /a "$COUNT=%$COUNT%+1"
  16. if %$COUNT%==33 goto :end
  17. goto begin
  18. :end
  19. start c:\windows\media\ding.wav
  20. eof
  21.  

Sin embargo esas búsquedas son fácilmente detectables como automáticas. Por tanto  quisiera crear un batch que buscase frases de un texto tomadas por linea.

Por ejemplo tomemos el texto de http://ftp://ftp.bls.gov/pub/doc/news.txt

¿Cómo hacer para que tome cada linea de esa web de texto y la use como la variable $DATA del batch?


« Última modificación: 12 Diciembre 2013, 10:33 am por EleKtro H@cker » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.696



Ver Perfil
Re: [BATCH] realizar búsquedas automáticas en web
« Respuesta #1 en: 12 Diciembre 2013, 11:08 am »

Siento admiración y pena al mismo tiempo, admiración por el esfuerzo que has invertido en hallar/resolver una vulnerabilidad, y pena porque todo el esfuerzo no compensa la mala elección del lenguaje ...algo tan manco simple e ineficiente como Batch es lo último a lo que deberías recurrir para una tarea similar!.

Prueba así:
Código:
@Echo OFF & TITLE Bing Searcher & Setlocal EnableDelayedExpansion

Set /A "MAXQueries=33"
Set /A "MAXResponseInterval=5000"
Set /A "QueryCount=0"

Set "TextFile=doc.txt"
Set "FF=%ProgramFiles%\Mozilla Firefox\Firefox.exe"
Set "Query=http://www.bing.com/search?q="
Set "Search="

:Loop
FOR /F "Usebackq Delims=" %%@ IN ("%TextFile%") DO (
Set "Search=%%@"
Set "Search=!Search: =+!"
Start /B "Bing Query" "%FF%" "%Query%!Search!"
Ping.exe LOCALHOST -n 1 -w %MAXResponseInterval% 1>NUL
Set /A "QueryCount+=1"
If %QueryCount% EQU MAXQueries (Goto :End)
)

:End
Start /B "End Song" "%WinDir%\media\ding.wav"
Exit /B 0

Saludos


« Última modificación: 12 Diciembre 2013, 12:00 pm por EleKtro H@cker » En línea


alehopio

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: [BATCH] realizar búsquedas automáticas en web
« Respuesta #2 en: 12 Diciembre 2013, 12:19 pm »

Hola,

Gracias por el esfuerzo y la respuesta. Se nota que tu BATCH es profesional porque está incluso estructurado.

Pero adolece que el tiempo entre búsqueda no es aleatorio como podría ser una búsqueda manual no automática, así que habría que añadir una variable al principio

Set /A "MINResponseInterval=10000"

y dentro de la clausa FOR meter la definicion aleatoria del tiempo de busqueda

Set /A "ResponseInterval=%random% %%MINResponseInterval% + %MAXResponseInterval%"

así en cada iteración esperaría entre 5 y 15 segundos para la próxima búsqueda cambiando la variable del ping por la aleatoria ResponseInterval

Ping.exe LOCALHOST -n 1 -w %ResponseInterval% 1>NUL

No sé si habré metido la pata con la cantidad de % que hay que meter.

Y a parte de eso, queda la cuestión de meter automáticamente en el doc.txt la fuente de internet donde coger cada día una texto diferente.

No sé si funciona la definición doc.txt < http://ftp://ftp.bls.gov/pub/doc/news.txt

¿Cómo puedo descargar un archivo de internet y meterlo como una variable en el BATCH?


P.D.

Comentar que hay que comprobar que el VPN funciona correctamente comprobando que no es detectado, por ejemplo desde

http://whatismyipaddress.com/proxy-check

Y además recordar que las cuentas de live deben de tener datos verdaderos hasta de dirección y teléfono que pueden comprobarse desde

http://www.whowhere.com/
« Última modificación: 12 Diciembre 2013, 12:26 pm por alehopio » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.696



Ver Perfil
Re: [BATCH] realizar búsquedas automáticas en web
« Respuesta #3 en: 12 Diciembre 2013, 14:29 pm »

el tiempo entre búsqueda no es aleatorio
Y a parte de eso, queda la cuestión de meter automáticamente en el doc.txt la fuente de internet donde coger cada día una texto diferente.

Hombre, no te lo vamos a dar todo echo al 100%, aunque si que es verdad que podría haberte amoldado una Random en el ejemplo, pero bueno.

Para descargar un archivo puedes usar el comando FTP o bien la aplicación externa WGet (opción recomendada si no te importan las dependencias) -> http://gnuwin32.sourceforge.net/packages/wget.htm

¿Cómo puedo descargar un archivo de internet y meterlo como una variable en el BATCH?

Sencíllamente no puedes, tienes que usar un FOR para iterar las lineas del archivo.
En realidad si que es posible pero no te lo recomiendo y no te serviría para nada puesto que no podrías iterarla o sería una pesadilla hacerlo, no existe el Array en Batch, además de que no es una buena práctica ese tipo de variables y setear dichas variables multilinea requiere el uso de trucos/técnicas avanzadas.
 
Citar
Comentar que hay que comprobar que el VPN funciona correctamente comprobando que no es detectado, por ejemplo desde
http://whatismyipaddress.com/proxy-check

Y además recordar que las cuentas de live deben de tener datos verdaderos hasta de dirección y teléfono que pueden comprobarse desde
http://www.whowhere.com/

¿Como esperas hacer todo eso usando Batch?,
no puedes hacer requests, ni siquiera tiene ningún soporte o interactividad con nada relacionado de la network, solo un par de comandos internos y externos como Ping,
ve buscando aplicaciónes commandline que cumplan tus necesidades porque...las vas a necesitar si insistes en hacerlo en Batch.

PD: Por el código que has mostrado anteriórmente y la forma (correcta) de referirte a los términos del lenguaje da la impresión de que manejas Perl o Ruby; cualquiera de ellos es idoneo para la tarea, sigo sin entender porque resulta necesario hacerlo en Batch, va a ser una pesadilla.

EDITO: puedes combinar el uso de VisualBasicScript para hacerle un request a esas dos urls:
-> http://stackoverflow.com/questions/204759/http-get-in-vbs
-> http://development.spalt3r.de/vbs-script-to-send-a-http-request/

Pero insisto en que si dispones de cualquier otro lenguaje, aunque solo tuvieras conocimientos básicos, va a ser mucho mejor y más sencillo que en Batch/vbs... de echo si piensas usar VBS + Batch (no te queda otra siendo Batch xD) entonces deberías escribir todas las instrucciones en VBS diréctamente y no engorronear con un Batch híbrido.

Saludos!
« Última modificación: 12 Diciembre 2013, 14:42 pm por EleKtro H@cker » En línea


alehopio

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: [BATCH] realizar búsquedas automáticas en web
« Respuesta #4 en: 13 Diciembre 2013, 14:06 pm »

Hola de nuevo:

De programar conozco lo básico en BATCH y no entiendo nada de otros lenguajes.

No sé si podré llegar más lejos con ello para este tema que tengo en desarrollo. Por lo pronto quiero ir paso a paso, desarrollando hasta alcanzar pequeñas metas:
1º) hacer búsquedas << HECHO >>
2º) hacer búsquedas automáticas << HECHO >>
3º) hacer búsqueda automáticas que no parezcan mecánicas << EN PROCESO >>
4º) login automático en la cuenta de correo << EN ESTUDIO >>
5º) etc

Ojalá pudierais ayudarme en ello.

Gracias al esfuerzo de EleKtro H@cker tengo una nuevo BATCH hecho con tu sugerencia, pero me da errores y no sé donde está el fallo:

Código:
@Echo OFF & TITLE Bing Searcher & Setlocal EnableDelayedExpansion

bitsadmin.exe /transfer myDownloadJob /download /priority normal http://www.pcre.org/news.txt %TMP%\news.txt
Set TextFile=%TMP%\news.txt
Del %TMP%\news.txt

Set "FF=%ProgramFiles%\Mozilla Firefox\Firefox.exe "
Set "Query=http://www.bing.com/search?q="
Set "Search=&FORM="

REM crear aqui la parte de login en email

Set /A "MAXQueries=%random% %% 10 + 33"
Set /A "MAXwait=10000"
Set /A "MINwait=5000"
Set /A "QueryCount=0"

:Loop
FOR /F "Usebackq Delims=" %%@ IN ("%TextFile%") DO (
Set "Search=%%@!Search!"
Set "Search=!Search: =+!"
Start /B "Bing Searcher : !QueryCount!" "!FF!" "!Query!!Search!"
        Set /A "Wait=!random! %% !MAXwait! + !MINwait!"
Ping.exe 1.1.1.1 -n 1 -w %wait% >NUL
Set /A "QueryCount+=1"
Cls & Echo %QueryCount%
        If !QueryCount! EQU !MAXQueries! (Goto :End)
)

:End
Start /B "End Song" "%WinDir%\media\ding.wav"
Exit /B 0


Parece que hace las búsqueda pero parpadea la ventana con mensaje de error.


P.S. Corregidos los errores

« Última modificación: 16 Enero 2014, 14:04 pm por alehopio » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.696



Ver Perfil
Re: [BATCH] realizar búsquedas automáticas en web
« Respuesta #5 en: 13 Diciembre 2013, 15:33 pm »

¿Cual es el mensaje de error?

Prueba a setear el parámetro -n, que lo usarías como segundos de espera (el valor es en segundos, no milisegundos):

Código
  1. Set /A "MAXwait=10"
  2. Set /A "MINwait=5"
  3. Ping LOCALHOST -n %wait% 1>NUL

Saludos!
« Última modificación: 13 Diciembre 2013, 15:35 pm por EleKtro H@cker » En línea


alehopio

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: [BATCH] realizar búsquedas automáticas en web
« Respuesta #6 en: 13 Diciembre 2013, 18:17 pm »

Había varios errores que ya he pulido. El que salía en pantalla era una división por cero debido a que

Código:
set /a "wait=!random! %%MAXwait% + %MINwait%"

no toma las ultimas cifras de la variable random porque el %numero que debería seguir a %random% no es generado por esa sentencia.

No sé como hacer para que esa sentencia de un %9 después del %random% donde 9 fuese el número de %MAXwait% aunque siempre hay otra forma de hacerlo correctamente pero no tan elegante

Código:
Set /A "wait=%random% * (%MAXwait% - %MINwait% + 1) / 32768 + %MINwait%"

Supongo que tu sabrás como hacer que eso de  %%MAXwait% en realidad genere el %9 donde 9 sería el número que tuviera la variable %MAXwait% pero yo no domino esto.

Respecto de hacer que ping haga -n iteraciones lo descarté en su día porque entonces hay periodos de tiempo constantes (medidos en segundos) entre búsquedas y para hacerlo más aleatorio es preferible que sean no constantes (milisegundos) por eso el uso exclusivo de -w

Además de que el ping a LOCALHOST no tarda el tiempo deseado, supongo que el sistema tendrá algún tope para ello, a parte del error del 1 antes de >null


Ahora investigaré como hacer un login automático en el email. ¿ Puedes indicarme alguna referencia al respecto?

Gracias

« Última modificación: 13 Diciembre 2013, 18:25 pm por alehopio » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.696



Ver Perfil
Re: [BATCH] realizar búsquedas automáticas en web
« Respuesta #7 en: 15 Diciembre 2013, 20:07 pm »

Estás usando una herramienta equivocada, si quieres una sugerencia, teniendo sólamente Batch yo usaría el método "Sleep" de VBS para los milisegundos, usaría el lenguaje tanto para la espera como para randomizar.

Código
  1. @Echo OFF
  2.  
  3. Set /A "MINWait=2000"
  4. Set /A "MAXWait=4000"
  5.  
  6. (
  7. Echo Randomize
  8. Echo Wait = Int^(^(%MAXWait%-%MINWait%+1^)*Rnd+%MINWait%^)
  9. Echo WScript.Sleep^(Wait^)
  10. Echo Wscript.Quit^(Wait^)
  11. ) > "%TEMP%\Sleep.vbs"
  12. wscript.exe "%TEMP%\Sleep.vbs"
  13.  
  14. Echo Tiempo esperado: %ErrorLevel%
  15.  
  16. Pause&Exit

Ahora investigaré como hacer un login automático en el email. ¿ Puedes indicarme alguna referencia al respecto?

Con puro Batch no es posible.

Desde la consola puedes intentar utilizar cUrl o Wget para loguearte y descargarte el código fuente de "X" página, y luego, parsear la salida obtenida para 'capturar' los datos que requieras, con un FOR /F.

-> http://curl.haxx.se/download.html (la versión genérica para Win32)

La verdad, yo nunca he intentado hacer esto con herramientas por consola en Batch, aquí tienes algo de info:

http://stackoverflow.com/questions/12399087/curl-to-access-a-page-that-requires-a-login-from-a-different-page
http://www.dyncommunity.com/questions/32854/how-to-use-wget-or-curl-to-login.html

saludos
« Última modificación: 15 Diciembre 2013, 20:09 pm por EleKtro H@cker » En línea


alehopio

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: [BATCH] realizar búsquedas automáticas en web
« Respuesta #8 en: 3 Enero 2014, 13:32 pm »

Hola de nuevo, y feliz año

Resulta que no logro hacer que el BATCH creado realice las búsquedas, no sé que es lo que estará mal en el código, y eso que lo he repasado muchas veces.  


Código
  1. @Echo OFF & TITLE Bing Searcher & Setlocal EnableDelayedExpansion
  2.  
  3. bitsadmin.exe /transfer myDownloadJob /download /priority normal http://www.pcre.org/news.txt %TMP%\news.txt
  4.  
  5. Set "TextFile=%TMP%\news.txt"
  6. Set "Explore=%ProgramFiles%\Mozilla Firefox\Firefox.exe"
  7. Set "Query=http://www.bing.com/search?q="
  8. Set "Search="
  9.  
  10. REM cear aqui la parte de login en email
  11.  
  12. Set /A "MAXQueries=%random% %10 + 33"
  13. Set /A "PLUSwait=10000"
  14. Set /A "MINwait=5000"
  15. Set /A "QueryCount=0"
  16.  
  17. :Loop
  18. FOR /F "Usebackq Delims=" %%@ IN ("%TextFile%") DO
  19.        (
  20. Set "Search=%%@"
  21. Set "Search=!Search: =+!"
  22. Start /B "Bing Query" "%Explore%" "%Query%!Search!"
  23.        Set /A "wait=%random% %% %PLUSwait% + %MINwait%"
  24. ping.exe 1.1.1.1 -n 1 -w %wait% > NUL
  25. Set /A "QueryCount+=1"
  26. If %QueryCount% EQU %MAXQueries% (Goto :End)
  27.        )
  28.  
  29. :End
  30. Start /B "End Song" "%WinDir%\media\ding.wav"
  31. Exit /B 0
  32.  

Lo he repasado muchas veces y no encuentro el error que hace que el LOOP no se ejecute...

P.D. Creo que el problema está en el borrado y definición de la variable que almacena la linea de texto  en

Código:
Set "Search=%%@"
Set "Search=!Search: =+!"

eso no lo entiendo...
« Última modificación: 3 Enero 2014, 14:31 pm por Eleкtro » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.696



Ver Perfil
Re: [BATCH] realizar búsquedas automáticas en web
« Respuesta #9 en: 3 Enero 2014, 14:38 pm »

Sin examinar el código, lo primero que salta a la vista:

Citar
Código
  1. FOR /F "Usebackq Delims=" %%@ IN ("%TextFile%") DO
  2.       (
  3.       ...
  4.       )

Esto es Batch, el inicio de operador de agrupación debes ponerlo en la linea de arriba, a la derecha del keyword DO.

Código:
For ... DO (
    ...
)


Saludos!
« Última modificación: 3 Enero 2014, 14:41 pm por Eleкtro » En línea


Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines