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 - JaAViEr

#41
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
buena bro yo tambien hice algo asi en perl.
Wow con CGI ? Genial, he visto perl CGI, pero como no soy amigo de Perl ni una entendí :(
#42
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Muy bueno brother, le tengo que hechar un vistazo al módulo CGI.

Saludos!
Es muy interesante, tienes las mismas opciones que PHP , pero con la belleza de Python :D
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Buena hermano.
Muchas Gracias !
Saludos.
#43
Python / Tools Python CGI + Source | JaAViEr::0x5d
Abril 23, 2013, 10:13:29 PM
Hola, buen día damas y caballeros :P.

En esta ocasión vengo a mostrar el código de fuente de unas aplicaciones que pasé a Python CGI , para poder ejecutarlas en el servidor y no depender de una maquina con Python instalado...


Sus respectivos códigos de fuente...
De/Codificador Base64:
Código: python

#!/usr/bin/python
#Autor: 0x5d::JaAViEr
#Twitter: @0x5d
import cgi, os, base64

def form_inicial():
form_html = '''
<form action="" method="POST">
<textarea name="content"></textarea><br />
<select name="option">
<option value="encode">Codificar</option>
<option value="decode">Decodificar</option>
</select><br />
<input type="Submit" value="Enviar"><br />
Creado bajo Python CGI.<br />
Autor : JaAViEr (0x5d)
</form>'''
return base("De/Codificar Base64", form_html)

def base(title, content):
code = '''
<div class="ui-widget-content">
<div class="ui-widget-header">%s</div>
%s
</div>
'''%(title, content)
return code

print "content-type:text/html\r\n\r\n"

print '''
<title>De/Codificador Base64</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.1/themes/cupertino/jquery-ui.css" />
<script src="http://code.jquery.com/ui/1.9.1/jquery-ui.js"></script>
<link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css" />
<style>
div {
text-align:center;
font-size:0.5cm;
}
input, select {
height:0.7cm;
font-size:0.4cm;
}
</style>
'''

form = cgi.FieldStorage()
opcion = form.getvalue("option")
texto = form.getvalue("content")
method = os.environ['REQUEST_METHOD']
if method == "POST":
if opcion:
if opcion == "encode":
print form_inicial()
print base("Salida", "<textarea>"+cgi.escape(base64.b64encode(texto))+"</textarea>")
elif opcion == "decode":
print form_inicial()
print base("Salida", "<textarea>"+cgi.escape(base64.b64decode(texto))+"</textarea>")
else:
print form_inicial()
print base("Error", "Opción incorrecta")
else:
print form_inicial()
print base("Error", "Por favor selecciona una opción")
else:
print form_inicial()


Cifrar Rot13 / Atbash:
Código: python

#!/usr/bin/python
#Autor: 11Sep
#To CGI: 0x5d::JaAViEr
#Twitter: @0x5d
import cgi, os

def  formulario_inicial():
form_html = '''
<form action="" method="POST">
Data: <br/>
<textarea name="contenido"></textarea><br />
<select name="opcion">
<option value="rot13">ROT13</option>
<option value="atbash">Atbash</option>
</select><br />
<input type="Submit"><br/>
Programado por <b>11Sep</b><br />
Programado en CGI por <b>JaAViEr::0x5d</b>
</form>
'''
return base("Cifrar Rot13/Atbash", form_html)

def base(title, content):
code = '''
<div class="ui-widget-content">
<div class="ui-widget-header">%s</div>
%s
</div>
'''%(title, content)
return code

def rot13(palabra):
    Cifrado = ''
    for i in palabra:
        buff = ord(i)
        if (buff >= 65 and buff <= 90) or (buff >= 97 and buff <= 122):
            if ((buff + 13 > 90 and buff + 13 <= 103) or (buff + 13 > 122 and buff + 13 <= 135)):
                Cifrado += chr(buff -13)
            else:
                Cifrado += chr(buff + 13)
    return Cifrado
   
def atbash(palabra):
    V1 = "abcdefghijklm"
    V2 = "zyxwvutsrqpon"
   
    Buff = ""
   
    for i in range(len(palabra)):
        for a in range(len(V1)):
            if V1[a] == palabra[i]:
                Buff += V2[a]
            elif V2[a] == palabra[i]:
                Buff += V1[a]
    return Buff

print "content-type:text/html\r\n\r\n"
print '''
<title>Cifrar Rot13/Atbash 11Sep::JaAViEr</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.1/themes/blitzer/jquery-ui.css" />
<script src="http://code.jquery.com/ui/1.9.1/jquery-ui.js"></script>
<link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css" />
<style>
div {
text-align:center;
font-size:0.5cm;
}
input, select {
height:0.7cm;
font-size:0.4cm;
}
</style>
'''
form = cgi.FieldStorage()
method = os.environ['REQUEST_METHOD']
contenido = form.getvalue("contenido")
opcion = form.getvalue("opcion")
if method == "POST":
if opcion:
if opcion == "rot13":
print formulario_inicial()
print base("Salida", "<textarea>"+rot13(contenido)+"</textarea>")
elif opcion == "atbash":
print formulario_inicial()
print base("Salida", "<textarea>"+atbash(contenido)+"</textarea>")
else:
print formulario_inicial()
print base("ERROR","Opción inválida")
else:
print formulario_inicial()

Enviar peticiones POST:
Código: python

#!/usr/bin/python
#Autor: 0x5d::JaAViEr
#Twitter: @0x5d
import cgi, os, urllib, sys

def base(title, content):
code = '''
<div class="ui-widget-content">
<div class="ui-widget-header">%s</div>
%s
</div>
'''%(title, content)
return code

print "content-type:text/html\r\n\r\n"
print '''
<title>Enviar datos POST online :: JaAViEr(0x5d)</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.1/themes/cupertino/jquery-ui.css" />
<script src="http://code.jquery.com/ui/1.9.1/jquery-ui.js"></script>
<link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css" />
<style>
div {
text-align:center;
font-size:0.5cm;
}
input, select {
height:0.7cm;
font-size:0.4cm;
}
</style>
'''
form = cgi.FieldStorage()
method = os.environ['REQUEST_METHOD']
campos = form.getvalue("campos")
valores = form.getvalue("valores")
url = form.getvalue("url")
if method == "POST":
dic = {}
if not "http://" in url:
  print base("ERROR!","No se puede conectar a %s<br/><a href='send_post.py'>Volver</a>"%cgi.escape(url))
  sys.exit(1)
if len(campos)>0 and len(valores)>0:
for d,i in zip(campos.split(),valores.split(":-:")):
dic['%s'%d] = i
try:
print urllib.urlopen(url, urllib.urlencode(dic)).read()
except:
print "No se puede conectar a", cgi.escape(url)
else:
form_html = '''
<form action="" method="POST">
URL: <input type="Text" name="url" value="http://"><br />
Campos (separados por un espacio): <input type="Text" name="campos"><br />
Campos (separados por ":-:"): <input type="Text" name="valores"><br />
<input type="Submit"><br/>
Funcionando bajo Python CGI<br />
Author: <u>JaAViEr::0x5d</u>
</form>
'''
print base("ENVIAR DATOS POR POST", form_html)
form_example = '''
URL: <input type="Text" name="url" value="http://web.com/login.php" disabled><br />
Campos (separados por un espacio): <input type="Text" name="campos" value="user password" disabled><br />
Campos (separados por ":-:"): <input type="Text" name="valores" value="0x5d:-:miclave123" disabled><br />
<input type="Submit" onclick=alert("TEST");><br/>
'''
print base("Ejemplo de uso", form_example)


Fuente: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
   
Saludos , Javier.
#44
Hola, buen día.

No sé nada del tema, pero he visto tools en modo Root para android que permiten abrir las bases de datos de las aplicaciones, con SQLite y ver los contenidos, conversaciones y esas cosas.

Saludos, Javier.
#45
Off Topic / Re:Muestranos tu Labs!
Abril 23, 2013, 06:39:39 PM
¡ Genial chicos !
Yo no soy tan apasionado, como le decía a ANTRAX, mientras la maquina me corra Python o tenga una navegador para entrar a cPanel y usar el CGI, yo soy feliz <3 . Antes tenía mi pc malo y programaba desde la Nintendo Wii :3
#46
Python / Re:Cifrado rot13 y atbash
Abril 23, 2013, 06:11:34 PM
Colega ! , muy buen código !
Espero no te moleste que lo haya pasado a Python CGI para poder correrlo desde la Web :D

El código para los interesado:
Código: python

#!/usr/bin/python
#Original: 11Sep
#To CGI: JaAViEr::0x5d - @0x5d
import cgi, os

def  formulario_inicial():
form_html = '''
<form action="" method="POST">
Data: <br/>
<textarea name="contenido"></textarea><br />
<select name="opcion">
<option value="rot13">ROT13</option>
<option value="atbash">Atbash</option>
</select><br />
<input type="Submit"><br/>
Programado por <b>11Sep</b><br />
Programado en CGI por <b>JaAViEr::0x5d</b>
</form>
'''
return base("Cifrar Rot13/Atbash", form_html)

def base(title, content):
code = '''
<div class="ui-widget-content">
<div class="ui-widget-header">%s</div>
%s
</div>
'''%(title, content)
return code

def rot13(palabra):
    Cifrado = ''
    for i in palabra:
        buff = ord(i)
        if (buff >= 65 and buff <= 90) or (buff >= 97 and buff <= 122):
            if ((buff + 13 > 90 and buff + 13 <= 103) or (buff + 13 > 122 and buff + 13 <= 135)):
                Cifrado += chr(buff -13)
            else:
                Cifrado += chr(buff + 13)
    return Cifrado
   
def atbash(palabra):
    V1 = "abcdefghijklm"
    V2 = "zyxwvutsrqpon"
   
    Buff = ""
   
    for i in range(len(palabra)):
        for a in range(len(V1)):
            if V1[a] == palabra[i]:
                Buff += V2[a]
            elif V2[a] == palabra[i]:
                Buff += V1[a]
    return Buff

print "content-type:text/html\r\n\r\n"
print '''
<title>Cifrar Rot13/Atbash 11Sep::JaAViEr</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.1/themes/cupertino/jquery-ui.css" />
<script src="http://code.jquery.com/ui/1.9.1/jquery-ui.js"></script>
<link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css" />
<style>
div {
text-align:center;
font-size:0.5cm;
}
input, select {
height:0.7cm;
font-size:0.4cm;
}
</style>
'''
form = cgi.FieldStorage()
method = os.environ['REQUEST_METHOD']
contenido = form.getvalue("contenido")
opcion = form.getvalue("opcion")
if method == "POST":
if opcion:
if opcion == "rot13":
print formulario_inicial()
print base("Salida", "<textarea>"+rot13(contenido)+"</textarea>")
elif opcion == "atbash":
print formulario_inicial()
print base("Salida", "<textarea>"+atbash(contenido)+"</textarea>")
else:
print formulario_inicial()
print base("ERROR","Opción inválida")
else:
print formulario_inicial()
#47
Python / Re:[Función] ExisteEnLaWeB
Abril 22, 2013, 08:50:49 PM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
@JaAViEr No se me había ocurrido, me lo apunto.  ;)

-Saludos-
Va a estar buena la V2 ;)
#48
Python / Re:Skype Metadata Extractor
Abril 22, 2013, 03:03:11 PM
Buen código man, bien ordenado con su respectiva POO.
Es fantástico el SQLite , aún lo tengo pendiente !

Saludos, Javier.
#49
Hola, buen día.

Creo que me presenté hace como unos años... Pero veo tanto usuario nuevo que nadie me debe conocer por acá(y dudo que por otros lados). Mi nombre es Javier, nick JaAViEr ó 0x5d (@0x5d - Twitter), programador amante de Python (<3), a ratos me da por programar un PHP (+jQuery) + Python y a veces sale algo guapo. Soy Chileno(decorazón) , tengo 19 años :D

Espero verlos por Python colegas.

Saludos.
#50
Según mi experiencia en PyQT4, solo debes hacer una instancia a la otra clase... Luego solo utilizar instancia.function()
#51
Python / Re:[Función] ExisteEnLaWeB
Abril 22, 2013, 01:35:52 PM
Hola, buen día.

Podrías hacerlo más sencillo con urllib o urllib2 y solo usar getcode(), si es el status code es 200, existe.

Saludos.
#52
Hola, buen día.
Voy al grano :P El primer código que les mostraré extrae las imágenes del sitio ingresado.
Mientras que el segundo extraerá los links y el nombre del link.
Código: python

# Autor: JaAViEr (0x5d)
# Twitter: 0x5d
var = urllib.urlopen(raw_input("URL :: > ")).read()
url_imagenes = []
clear = ""
for imagen in re.findall("<img (.*)>",var):
  if "src" in imagen.lower():
    for imagenes in imagen.split():
      if re.findall("src=(.*)",imagenes):
    clear = imagenes[:-1].replace("src=\"","")
    url_imagenes.append(clear.replace("src='",""))
print "Imágenes:"
for salida in url_imagenes:
  print salida

Extractor de links:
Código: python

# Autor: JaAViEr (0x5d)
# Twitter: 0x5d
var = urllib.urlopen(raw_input("URL ::>")).read()
limpiando = ""
enlaces = []
nuevos = []
for url,nombre in re.findall("<a (.*)>(.*)</a>",var):
  if "href" in url.lower():
    for a in url.split():
      if re.findall("href=(.*)",a):
    limpiando = a[:-1].replace("href=\"","")
    enlaces.append("%s -> %s"%(limpiando,nombre))
for i in enlaces:
  if i not in nuevos:
    nuevos.append(i)
    print i

Fuente original : No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Saludos !
#53
Hola, buen día.
Como el colega Doddy me sugirió que detecte solo el formulario y los campos.
Me animé y lo hice jajaja.
La tool nos devolverá los datos principales, osea, a que archivo se le envían los datos
y los nombres de los campos que envía, sin más preámbulos :
Código: python

# -*- coding: utf-8 -*-
# Autor: JaAViEr (0x5d)
# Twitter: 0x5d
import re,urllib,sys
try:
  var = urllib.urlopen(raw_input("URL ::> ")).read()
except:
  print "No es posible conectar..."
  sys.exit(1)
url_enviar=""
for url in re.findall("<form (.*)>",var):
  if "action" in url.lower():
    for web in url.split():
      if re.findall("action=(.*)",web):
url_enviar=web.replace("action=","")
url_enviar = url_enviar.replace("\"","")
datos_r = []
for campos in re.findall("<input (.*)>",var):
  if "name" in campos.lower():
    for cam in campos.split():
      if re.findall("name=(.*)",cam):
datos_r.append(cam.replace('"',""))
print "URL a enviar POST:",url_enviar.replace(">","")
print "Campos Detectados:"
for s in datos_r:
  print s.replace("name=","")

Un ejemplo de salida con la web No tienes permitido ver los links. Registrarse o Entrar a mi cuenta :
Citar
root@Debian:/home/jaavier/codepy/x# python No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
URL ::> No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
URL a enviar POST: index.php?step=2
Campos Detectados:
PHPSESSID
anrede
pflichtanrede
name
pflichtname
email
pflichtemail
betreff
pflichtbetreff
nachricht
pflichtnachricht
vorname
pflichtvorname
strasse
pflichtstrasse
plz
pflichtplz
telefon
pflichttelefon
webseite
pflichtwebseite
hfarbe
sfarbe
schriftart
schriftgroesse
mail
anrede
anrede
sicherheitscode
Fuente : No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Saludos !
#54
Hola, buen día !
hace rato ya que no programaba nada, así que me "animé" a programar una pequeñita clase
para poder enviar datos por POST a algún archivo PHP.

  Antes de poner el código, quiero explicar como es su manera de uso...

Primero nos pedirá las variables separadas por ":" , por lo que si deseamos enviar usuario y clave deberíamos
insertar algo como esto usuario:clave , posteriormente cuando nos pida los valores, también separados por ":" , insertamos jaavier:clave123
Quedando finalmente "usuario:jaavier, clave:clave123", siendo estos enviados al archivo PHP especificado.

Una vez conectado al PHP, nos devolverá el código por pantalla, haciendo efectivo el  envío de sus datos
mediante POST vía Python, el código no es nada del otro mundo, pero espero les sirva.
Código: python

# -*- coding: utf-8 -*-
# Autor : JaAViEr (0x5d)
# Twitter: 0x5d
import urllib

class enviar_datos:
 
  def conectar(self,host,campo,valor):
    self.variables=[]
    self.valores=[]
    self.campo = campo
    self.valor = valor
    self.host = host
    self.datos = {}
    for campo_variables,valor_variables in zip(self.campo.split(":"),self.valor.split(":")):
      self.variables.append(campo_variables)
      self.valores.append(valor_variables)
    for variable,valor in zip(self.variables,self.valores):
      self.datos['%s'%variable] = valor
    try:
      return urllib.urlopen(self.host,urllib.urlencode(self.datos)).read()
    except:
      return "No se puede conectar a %s"%(self.host)

url = raw_input("Inserta la URL ::> ")
variables = raw_input("Inserta las variables, separadas por ':' ::> ")
valores = raw_input("Inserta los valores, separados por ':' ::> ")
conec = enviar_datos()

print conec.conectar(url,variables,valores)

Probemos la Tool, para esto hice un sencillo PHP que recibe 3 variables por POST.
La url en cuestión es <a href="No tienes permitido ver los links. Registrarse o Entrar a mi cuenta">ESTE</a> , las 3 variables
que recibe son "var1" , "var2" , "var3".
Un ejemplo:
Código: text

Inserta la URL ::> http://www.rootcodes.com/codes/test.php
Inserta las variables, separadas por ':' ::> var1:var2:var3
Inserta los valores, separados por ':' ::> Hola:Como:Estan?
var:Hola
var2:Como
var3:Estan?


Fuente Original : No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Saludos !
#55
Hola, buen día (Si, aparecí de nuevo)
Para buscar el último ID registrado no es nada fuera de lo normal, pero
habría que añadir un regexp para encontrarla, ya se me ocurre un patrón.

Sobre lo de organizar por rangos y esas cosas no creo que sea necesaria, pues no
fue una tool orientada al orden por rangos y fecha de registro, está orientada solo
a mostrar cada usuario y su rango.
Además de ello, si va desde un id inferior a uno superior, automáticamente está
ordenando por fecha de registro, gracias al SMF.

Saludos.
#56
Testeado al 100% :O ?
A Probar !

Saludos.
#57
Debe ser la versión del Python, yo lo hice en 2.7 , tú en cuál lo corres ?

Saludos.
#58
el ^ antes del | es para que sea tomado como realmente un | y no
un simple texto, ya que al tener solo el | dentro del FOR , lo toma como
texto y no para la función del ^|


Saludos.
#59
Me laten más las Regexp(import re)
#60
Python / Re:[codigo]simple chat
Agosto 29, 2011, 04:10:43 PM
Ese code anda dando vueltas por todos los foros XD
Yo ando trabajando uno con Python + PHP

Saludos.