Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Kase

#51
cuando abri el hilo pense que se trataba de   la libreria enfocada a robotica .__.

http://pyrorobotics.org/
#52
veran, estoy asiendo un sistema web de noticias, y quiero implementar drag and drop  para jalar las noticias entre si y poderlas relacionar..

todo bien...

[youtube=640,360]http://www.youtube.com/watch?v=SOmGQyWgvuQ[/youtube]


exepto por un detalle, y que que cuando tengo una imagen dentro del div (con el div seteado como draggable) la imagen tiene prioridad y se jala la imagen

ya intente ponerle a la imagen draggeable=False y funciona parcialmente para jalar, pero al soltar un elemento arriva no lo detecta del modo correcto


algo asi es el codigo html que tengo

Citar{%for nota in columnas%}
{%if forloop.first%}<div class='row-fluid'>{%endif%}
<div class='span3' style='text-align:center;' >
       <a draggable="false" href='/columna/{{nota.id}}/{{nota.titulo|slugify}}'><div draggable=True ondragstart="dragIt(event);" id='c{{nota.id}}' ondrop="dropIt(event)" ondragover="event.preventDefault();">
   <img src='{{MEDIA_URL}}{{nota.columna.imagen}}' draggable=False class="img-polaroid" style='width: 80%;margin-left:9%;margin-right:10%; '>
   <h3  style='text-align: center;'>{{nota.columna.nombre}}</h3>
   <h4  style='text-align: center;'><i>{{nota.titulo}}</i></h4></div></a>
</div>
{%if forloop.last or forloop.counter|divisibleby:"4" %}</div><br>{%if not forloop.first and not forloop.last%}<div class='row-fluid'>{%endif%} {%endif%}
{%endfor%}

el como asociar va de lado del servidor, del lado del cliente solo debo poder mandar los ids de los divs correctos :3
#53
Citar"^(?=.{1,254}$)[^\.]([\w-\!\#\$\%\&\'\*\+\-\/\=\`\{\|\}\~\?\^]+)([\.]{0,1})([\w-\!\#\$\%\&\'\*\+\-\/\=\`\{\|\}\~\?\^]+)[^\.]@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,6}|[0-9]{1,3})(\]?)$"

no me a servido xD  no se por que, pero marca error... y por mas que le busco y le busco, no lo logro..

pero esta otra si funciono

Código (python) [Seleccionar]
mailsrch = re.compile(r"[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[A-Z]{2}|com|org|net|edu|gov|mil|biz|info|mobi|name|aero|asia|jobs|museum|mx|com\.mx|xxx|tv|tk)\b")






y en otras noticias, estuve trasteando  el codigo html de google ala par que la api de custom search...
la api es una basura diseñada para no explotarse conestos fines u__u

pero el codigo html no... el chiste es desactiva el javascript, pero al pedir la web mediante python automaticamente la sirve preparada para no usar javascript

entonces nos encontramos con que la url victima viene en formato

Citar<a href="/url?q=http://www.elhacker.net/&amp;sa=U&amp;ei=JQeCUdz3DoK49QSYvoDAAQ&amp;ved=0CCEQFjAA&amp;usg=AFQjCNE8PCIInwOQ84p63ylCDShXtjtiAA">


quisas una expresion regular pueda identificar los links /url?   y extraer de los parametros get la web a la que se quiera atacar...
nuevamente mi conocimiento es bajo en expresiones regulares u__u


aun asi espero hacer un script alterno al cual se le puedan pasar parametros de busqueda de google...

asiendo este script, me lanzo a hacer el sistema mas completo xD
#54
sorprendente! me estas enctuciasmando a llebar esto mas alla del simple script y convertirlo en un sistema... en unas horas actualizo con calma :D
#55
ya arregle lo de detectar mas tipos de webs

al final no lo ise con una expresion regular, por que  ahi muchas variaciones
ahora detecto todos los  href en bruto,  y luego los filtro  
si tienen el nombre de la web en la url o si empiezan con un /    se incluye como enlace interno, en su defecto se descarta

de este modo tambien resuelvo el problema de recorrer subdominios :D

Código (python) [Seleccionar]

url_web_limpio = argumento.url.replace('http://','').replace('/','').replace('www.','')


if not argumento.external:  ## verifica si usar enlaces externos o no
if link[0] == '/' or url_web_limpio in link:
if link not in links_internos and link not in links_visitados:
links_internos.append(link)
elif  argumento.external == 'si':
if link not in links_internos and link not in links_visitados:
links_internos.append(link)



ahora si EleKtro H@cker  puedes  hacer un

CitarKase.py -url http://elhacker.net/

pero si no usar un -max_emails 500 o -max_urls 10000  el programa nunca se detendra, el hacker es inmenso!



es en estos casos cuando la idea de daryo serviria

estaria padre poder lanzar el script con un

Citarkase.py -google 'insite:elhacker.net  @hotmail'

de tal modo que aprobechemos el indice de google para que nos devuelva las urls indexeadas del hacker donde algun usuario dejo su correo electronico

PD: ahora si debo volver al trabajo!!!   no se cuando tenga la siguiente version D:
#56
Cita de: EleKtro H@cker en 30 Abril 2013, 20:22 PM
@Kase

He probado esto:
Kase.py -url http://elhacker.net/

Output:
carlos@cool

Solo me devuelve un "email", ¿Eso es normal? xD

Muy bueno.

lo que pasa es que la pagina del hacker solo tiene links del tipo
<a href='www.elhacker.net/enlace_interno'>  
y la expresion regular que uso solo esta preparada para buscar
<a href='/encalce_interno/'>

como veras, ahi webs que  son  inmunes a esta expresion regular..  por ejemplo ah algunas que  solo tienes el dominio y todo lo interno se maneja mediante

<a href='www.elhacker.net?get=key' >


hacer una expresion regular que contemple todas las opciones no es imposible...
pero  mi conocimiento en expresiones regulares es limitado, por eso coloque aqui el script, para ver si me ayudan a mejorarlo...




CitarLos parámetros de maxpages y maxmails son opcionales, ¿no? (también los he probado pero obtengo lo mismo).
los parametros max_linsk, y max_emails  si son  opcionales,  los coloque por que la primera web que ataque tenia mas de 80,000 enlaces internos y tras 24 horas solo abia recorrido 40,000  xD



Quiero hacer un sistema completo que pueda guardar los emails en una bd  con etiquetas para saber los intereses del email.  que este mismo pueda usar la araña  y que a su vez  puedan mandar los emails  con formato  html + txt_pano  y  mandar 1 cada x segundos (programado)  para burlar filtros anti spam

y de paso que pueda tambien aceptar importaciones csv y permita mandar los emails personalizados con nombre y otros datos...


con tiempo creo poder hacerlo en 1 semana, el problema es que ando muy cortito de dinero, y debo darle prioridad a un par de webs pendientes para las que me contrataron. aun asi, les informo  si me lanzo a hacerlo en 1 semana o dos





CitarPD: Lo has testeado en Windows?
Código (python) [Seleccionar]
os.system('clear')

esta linea es para limpiar pantalla en linux, en windows creo que es diferente..  pero con poner la correcta deberia funcionar



CitarPD2: Si esto funciona corréctamente le pongo una chincheta.
eso seria genial :D  ojala pronto quede la version que detecte mejor los enlaces internos.

por que el sistema que unifique la recoleccion  y el envio de emails ya no es scripting, en eso usaria  objetos y un framework como django para montar toda una buena interfaz de administracion.
#57
Cita de: daryo en 29 Abril 2013, 21:43 PM

pues me refiero a que ademas de poderle pasar de parametro la web a buscar mails usar tambien avanzadas en google como estas:
inurl:contact
inurl:nosotros.php
tambien se puede usar intitle:contactenos
o cosas asi
en los que es bastante probable encontrar mails eso seguro aumentaria bastante la lista de mails a spamear :D


pues tienes razon en eso, pero por ejemplo yo uso la araña  para solarta en una web de tematica X   de ese modo se que sus usuarios estan interesados en el tema..

quisas pueda hacer una busqueda en google por palabras algo asi como:
"palabra" @hotmail
y luego recorrer los enlaces
asi encontraria emails de tematicas que me interesen.
#58
interesante....  explicame un poco mas la idea, y podria interesarme sacarla :D

estoy por comenzar una campaña de mailing de varias webs...  mas emails a disposicion no estaria mal...


para burlar los filtros antispam uso  send blaster.... auke e considerado hacer todo una aplicacion yo mismo para mandar los emails y sacarlos de webs y contruir listas e base a criterios
#59
les comparto este script que realiza para sacar emails de una web usando una arañita que recorre enlaces internos...

lo comparto por si se les ocurre modificaciones poder mejorarlo

repo git > https://github.com/Boredsoft/email-spider

** acepta parametros
-url       obligatorio con formato  http://somthing.com/   (la / final es necesaria)
-max_links  maxima cantidad de links a analizar antes de cortar el programa y guardar
-max_emails  maxima cantidad de emails a obtener antes de finalizar el programa y guardar
-external    acepta links externos, pero si no se usa junto con max_links o max_emails el programa nunca se detendra :(

** si la conexion de internet se cae el programa espera 30 segundos para reanudarse
** no se traba con enlaces muertos
** uso de "sort" para revisar enlaces con mayor probabilidad de tener email despues de cierto tiempo

Citar
fix 3.0
soporte para mas sistemas operativos
mejor detección de emails mediante el regex
fix v 2.0
ahora detecta mas tipos de urls internas
ahora detecta si es windows o linux para usar el comando correcto de limpiar pantalla.


Código (python) [Seleccionar]
# -*- coding: utf-8 -*-
## by kase: kase@boredsoft.com   colaboraciones: EleKtro H@cker
import requests,re,os,time,sys
from argparse import ArgumentParser, RawTextHelpFormatter

parser = ArgumentParser(description="email spider", version="3.0", formatter_class=RawTextHelpFormatter)
## -url
parser.add_argument("-url",  dest="url", help='url a analizar en formato http://web.com/')
## -max_links links
parser.add_argument("-max_links",  dest="max_links", help='maximo de links internos a analizar')
## -max_emails emails
parser.add_argument("-max_emails",  dest="max_emails", help='maximo de emails a analizar')
## -external  default False
parser.add_argument("-external",  dest="external", help='investigar links externos [si|no]')

argumento = parser.parse_args()



url_web = argumento.url
url_web_limpio = argumento.url.replace('http://','').replace('/','').replace('www.','')
links_internos = ['/']
links_visitados = []
emails_capturados = []
mailsrch = re.compile(r"[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[A-Z]{2}|com|org|net|edu|gov|mil|biz|info|mobi|name|aero|asia|jobs|museum|mx|com\.mx|xxx|tv|tk)\b")
#old mailsrch = re.compile(r'[\w\-][\w\-\.]+@[\w\-][\w\-\.]+[a-zA-Z]{2,6}')
urlssrch = re.compile(r'href=[\'"]?([^\'" >]+)')
contador = 0
while links_internos:
try:
## saca el ultimo link de la lista
##print links_internos
link = links_internos.pop()
## añade ese link a visitados, para no volverlo a tener en cuenta
links_visitados.append(link)
if link[0] == '/' or link == '':
r=requests.get(url_web+''+link)
else:
r=requests.get(link)
links = urlssrch.findall( r.text)
##print 'xxxxxxxxxxxxx', links
emails = mailsrch.findall(r.text)
## guarda todos los emails que se topa checando que no existan repeticiones
for email in  emails:
if email not in emails_capturados:
emails_capturados.append(email)
## guarda todos los links internos que se tope checando que no existan en la cola o en vistados
for link in links:
if not argumento.external:  ## verifica si usar enlaces externos o no
if link[0] == '/' or url_web_limpio in link:
if link not in links_internos and link not in links_visitados:
links_internos.append(link)
elif  argumento.external == 'si':
if link not in links_internos and link not in links_visitados:
links_internos.append(link)
contador +=1
## informacion en pantalla
if contador % 50 == 0:
if sys.platform.startswith('win'):
   # Windows
   os.system('cls')
elif sys.platform.startswith('linux'):
   # Linux
   os.system('clear')
elif sys.platform.startswith('cygwin'):
   # Windows (Cygwin)
   os.system('cmd /c cls')
elif sys.platform.startswith('darwin'):
   # MacOSX
   os.system('clear')
elif sys.platform.startswith('freebsd'):
   # FreeBSD
   os.system('clear')
print 'web atacada:', url_web
print 'total de emails obtenidos:', len(emails_capturados)
print 'urls recorridas: ', len(links_visitados)
print 'urls faltantes: ', len(links_internos)
print '-----  (~._.)~ '
## pequeño arreglo para tener mas chanse de optener emails en web grandes
## primero analiza los enlaces internos mas cortos  y despues de un tiempo, analiza los mas largos primero
## en paginas tipo blog, los enlaces mas largos son los de las post con comentarios donde posiblemente existan emails
if contador %10000 == 0:
if contador <= 10000:
links_internos.sort(reverse=True)
else:
links_internos.sort()
## si ahi un maximo de links internos  rompe el ciclo y termina
if argumento.max_links:
if contador >= int(argumento.max_links):
break
## si ahi un maximo de emails capturados rompe el ciclo y termina
if argumento.max_emails:
if len(emails_capturados) >= int(argumento.max_emails):
break
## si la conexion se cae duerme el proceso 20 segundos y reintenta
except:
r = os.system('ping -c 1 google.com') ## checa si hay conexion de internet
if r == 0:  #si existe conexion elimina el enlace muerto
link = links_internos.pop()
else: ##sino espera 20 segundos a que se reanude la conexion de internet
time.sleep(30)
if sys.platform.startswith('win'):
   # Windows
   os.system('cls')
elif sys.platform.startswith('linux'):
   # Linux
   os.system('clear')
elif sys.platform.startswith('cygwin'):
   # Windows (Cygwin)
   os.system('cmd /c cls')
elif sys.platform.startswith('darwin'):
   # MacOSX
   os.system('clear')
elif sys.platform.startswith('freebsd'):
   # FreeBSD
   os.system('clear')
print 'web atacada:', url_web
print 'total de emails obtenidos:', len(emails_capturados)
print 'urls recorridas: ', len(links_visitados)
print 'urls faltantes: ', len(links_internos)
print '-----  (~._.)~ CONEXION CAIDA, ESPERANDO 30 SEGUNDOS (X__X)'

f = open('%s.txt' % url_web.replace('http://','').replace('/','').replace('.','_'),'w+')
f.write("\n".join(emails_capturados))
f.close()

mejoras en las que pueden ayudarme
no soy muy bueno con expresiones regulares

estas me funcionan en el 90 de los casos, pero derrepente tienen errores (como cuando alguien usa el @ como a/o,   o no detecta urls internas si no comienzan con /)
 
mailsrch = re.compile(r'[\w\-][\w\-\.]+@[\w\-][\w\-\.]+[a-zA-Z]{1,4}')
urlssrch = re. compile(r'href=[\'"]?/([^\'" >]+)')



funciones que pienso agregar a futuro

** comandos para pausar las tarea y guardar donde se quedaron
** serializar cada cierto tiempo la tarea  para no perder el trabajo cuando se reinicie la computadora forzosamente


::)
#60
necesito analizar   el peso de varios "temas" durante un dia, pero debo hacerlo lo mas automatico posible.

estuve buscando si google trends poseeia una api, pero al parecer no la sacaron.. asi que solo estoy familiarizado con el api de twitter.

el problema es que no debo buscar los trends del dia, sino analizar el peso de ciertos temas agenos a los trends para priorisarlos.

solo se me ocurre hacer busquedas por twitter y medir el volumen y el tiempo. pero me gustaria recopilar tambien datos de busqueda y de enlaces, e incluse de feedbacks.

ideas?