comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Tools Python CGI + Source | JaAViEr::0x5d

  • 5 Respuestas
  • 1979 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado JaAViEr

  • *
  • Underc0der
  • Mensajes: 163
  • Actividad:
    0%
  • Reputación 0
  • http://codigo.ga
    • Ver Perfil
    • Blog de Programación :: Python
« en: 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
  1. #!/usr/bin/python
  2. #Autor: 0x5d::JaAViEr
  3. #Twitter: @0x5d
  4. import cgi, os, base64
  5.  
  6. def form_inicial():
  7.         form_html = '''
  8.         <form action="" method="POST">
  9.                 <textarea name="content"></textarea><br />
  10.                 <select name="option">
  11.                         <option value="encode">Codificar</option>
  12.                         <option value="decode">Decodificar</option>
  13.                 </select><br />
  14.                 <input type="Submit" value="Enviar"><br />
  15.                 Creado bajo Python CGI.<br />
  16.                 Autor : JaAViEr (0x5d)
  17.         </form>'''
  18.         return base("De/Codificar Base64", form_html)
  19.  
  20. def base(title, content):
  21.         code = '''
  22.         <div class="ui-widget-content">
  23. <div class="ui-widget-header">%s</div>
  24. %s
  25. </div>
  26. '''%(title, content)
  27.         return code
  28.  
  29. print "content-type:text/html\r\n\r\n"
  30.  
  31. print '''
  32. <title>De/Codificador Base64</title>
  33. <script src="http://code.jquery.com/jquery-latest.js"></script>
  34. <link rel="stylesheet" href="http://code.jquery.com/ui/1.9.1/themes/cupertino/jquery-ui.css" />
  35. <script src="http://code.jquery.com/ui/1.9.1/jquery-ui.js"></script>
  36. <link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css" />
  37. <style>
  38. div {
  39.         text-align:center;
  40.         font-size:0.5cm;
  41.         }
  42. input, select {
  43.         height:0.7cm;
  44.         font-size:0.4cm;
  45. }
  46. </style>
  47. '''
  48.  
  49. form = cgi.FieldStorage()
  50. opcion = form.getvalue("option")
  51. texto = form.getvalue("content")
  52. method = os.environ['REQUEST_METHOD']
  53. if method == "POST":
  54.         if opcion:
  55.                 if opcion == "encode":
  56.                         print form_inicial()
  57.                         print base("Salida", "<textarea>"+cgi.escape(base64.b64encode(texto))+"</textarea>")
  58.                 elif opcion == "decode":
  59.                         print form_inicial()
  60.                         print base("Salida", "<textarea>"+cgi.escape(base64.b64decode(texto))+"</textarea>")
  61.                 else:
  62.                         print form_inicial()
  63.                         print base("Error", "Opción incorrecta")
  64.         else:
  65.                 print form_inicial()
  66.                 print base("Error", "Por favor selecciona una opción")
  67. else:
  68.         print form_inicial()
  69.  
  70.  
Cifrar Rot13 / Atbash:
Código: Python
  1. #!/usr/bin/python
  2. #Autor: 11Sep
  3. #To CGI: 0x5d::JaAViEr
  4. #Twitter: @0x5d
  5. import cgi, os
  6.  
  7. def  formulario_inicial():
  8.         form_html = '''
  9.         <form action="" method="POST">
  10.         Data: <br/>
  11.         <textarea name="contenido"></textarea><br />
  12.         <select name="opcion">
  13.         <option value="rot13">ROT13</option>
  14.         <option value="atbash">Atbash</option>
  15.         </select><br />
  16.         <input type="Submit"><br/>
  17.         Programado por <b>11Sep</b><br />
  18.         Programado en CGI por <b>JaAViEr::0x5d</b>
  19.         </form>
  20.         '''
  21.         return base("Cifrar Rot13/Atbash", form_html)
  22.  
  23. def base(title, content):
  24.         code = '''
  25.         <div class="ui-widget-content">
  26. <div class="ui-widget-header">%s</div>
  27. %s
  28. </div>
  29. '''%(title, content)
  30.         return code
  31.  
  32. def rot13(palabra):
  33.     Cifrado = ''
  34.     for i in palabra:
  35.         buff = ord(i)
  36.         if (buff >= 65 and buff <= 90) or (buff >= 97 and buff <= 122):
  37.             if ((buff + 13 > 90 and buff + 13 <= 103) or (buff + 13 > 122 and buff + 13 <= 135)):
  38.                 Cifrado += chr(buff -13)
  39.             else:
  40.                 Cifrado += chr(buff + 13)
  41.     return Cifrado
  42.    
  43. def atbash(palabra):
  44.     V1 = "abcdefghijklm"
  45.     V2 = "zyxwvutsrqpon"
  46.    
  47.     Buff = ""
  48.    
  49.     for i in range(len(palabra)):
  50.         for a in range(len(V1)):
  51.             if V1[a] == palabra[i]:
  52.                 Buff += V2[a]
  53.             elif V2[a] == palabra[i]:
  54.                 Buff += V1[a]
  55.     return Buff
  56.  
  57. print "content-type:text/html\r\n\r\n"
  58. print '''
  59. <title>Cifrar Rot13/Atbash 11Sep::JaAViEr</title>
  60. <script src="http://code.jquery.com/jquery-latest.js"></script>
  61. <link rel="stylesheet" href="http://code.jquery.com/ui/1.9.1/themes/blitzer/jquery-ui.css" />
  62. <script src="http://code.jquery.com/ui/1.9.1/jquery-ui.js"></script>
  63. <link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css" />
  64. <style>
  65. div {
  66.         text-align:center;
  67.         font-size:0.5cm;
  68.         }
  69. input, select {
  70.         height:0.7cm;
  71.         font-size:0.4cm;
  72. }
  73. </style>
  74. '''
  75. form = cgi.FieldStorage()
  76. method = os.environ['REQUEST_METHOD']
  77. contenido = form.getvalue("contenido")
  78. opcion = form.getvalue("opcion")
  79. if method == "POST":
  80.         if opcion:
  81.                 if opcion == "rot13":
  82.                         print formulario_inicial()
  83.                         print base("Salida", "<textarea>"+rot13(contenido)+"</textarea>")
  84.                 elif opcion == "atbash":
  85.                         print formulario_inicial()
  86.                         print base("Salida", "<textarea>"+atbash(contenido)+"</textarea>")
  87.                 else:
  88.                         print formulario_inicial()
  89.                         print base("ERROR","Opción inválida")
  90. else:
  91.         print formulario_inicial()
Enviar peticiones POST:
Código: Python
  1. #!/usr/bin/python
  2. #Autor: 0x5d::JaAViEr
  3. #Twitter: @0x5d
  4. import cgi, os, urllib, sys
  5.  
  6. def base(title, content):
  7.         code = '''
  8.         <div class="ui-widget-content">
  9. <div class="ui-widget-header">%s</div>
  10. %s
  11. </div>
  12. '''%(title, content)
  13.         return code
  14.  
  15. print "content-type:text/html\r\n\r\n"
  16. print '''
  17. <title>Enviar datos POST online :: JaAViEr(0x5d)</title>
  18. <script src="http://code.jquery.com/jquery-latest.js"></script>
  19. <link rel="stylesheet" href="http://code.jquery.com/ui/1.9.1/themes/cupertino/jquery-ui.css" />
  20. <script src="http://code.jquery.com/ui/1.9.1/jquery-ui.js"></script>
  21. <link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css" />
  22. <style>
  23. div {
  24.         text-align:center;
  25.         font-size:0.5cm;
  26.         }
  27. input, select {
  28.         height:0.7cm;
  29.         font-size:0.4cm;
  30. }
  31. </style>
  32. '''
  33. form = cgi.FieldStorage()
  34. method = os.environ['REQUEST_METHOD']
  35. campos = form.getvalue("campos")
  36. valores = form.getvalue("valores")
  37. url = form.getvalue("url")
  38. if method == "POST":
  39.         dic = {}
  40.         if not "http://" in url:
  41.           print base("ERROR!","No se puede conectar a %s<br/><a href='send_post.py'>Volver</a>"%cgi.escape(url))
  42.           sys.exit(1)
  43.         if len(campos)>0 and len(valores)>0:
  44.                 for d,i in zip(campos.split(),valores.split(":-:")):
  45.                         dic['%s'%d] = i
  46.                 try:
  47.                         print urllib.urlopen(url, urllib.urlencode(dic)).read()
  48.                 except:
  49.                         print "No se puede conectar a", cgi.escape(url)
  50. else:
  51.         form_html = '''
  52.         <form action="" method="POST">
  53.         URL: <input type="Text" name="url" value="http://"><br />
  54.         Campos (separados por un espacio): <input type="Text" name="campos"><br />
  55.         Campos (separados por ":-:"): <input type="Text" name="valores"><br />
  56.         <input type="Submit"><br/>
  57.         Funcionando bajo Python CGI<br />
  58.         Author: <u>JaAViEr::0x5d</u>
  59.         </form>
  60.         '''
  61.         print base("ENVIAR DATOS POR POST", form_html)
  62.         form_example = '''
  63.         URL: <input type="Text" name="url" value="http://web.com/login.php" disabled><br />
  64.         Campos (separados por un espacio): <input type="Text" name="campos" value="user password" disabled><br />
  65.         Campos (separados por ":-:"): <input type="Text" name="valores" value="0x5d:-:miclave123" disabled><br />
  66.         <input type="Submit" onclick=alert("TEST");><br/>
  67.         '''
  68.         print base("Ejemplo de uso", form_example)

Fuente: No tienes permisos para ver links. Registrate o Entra con tu cuenta
   
Saludos , Javier.
« Última modificación: Mayo 03, 2014, 11:20:32 am por Flemon »
No tienes permisos para ver links. Registrate o Entra con tu cuenta

Desconectado Once

  • *
  • Underc0der
  • Mensajes: 391
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • El blog de Once
  • Twitter: @don_once
« Respuesta #1 en: Abril 23, 2013, 11:34:19 pm »
Muy bueno brother, le tengo que hechar un vistazo al módulo CGI.

Saludos!






No tienes permisos para ver links. Registrate o Entra con tu cuenta

Desconectado Sanko

  • *
  • Underc0der
  • Mensajes: 541
  • Actividad:
    0%
  • Reputación 0
  • ¿Puedes?
    • Ver Perfil
    • Underc0de
« Respuesta #2 en: Abril 24, 2013, 02:29:47 am »
Buena hermano.
Sigueme en Twitter : @Sankosk
Estos nuevos staff no tienen puta idea XD

Desconectado JaAViEr

  • *
  • Underc0der
  • Mensajes: 163
  • Actividad:
    0%
  • Reputación 0
  • http://codigo.ga
    • Ver Perfil
    • Blog de Programación :: Python
« Respuesta #3 en: Abril 24, 2013, 10:32:57 am »
No tienes permisos para ver links. Registrate o Entra con tu 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 permisos para ver links. Registrate o Entra con tu cuenta
Buena hermano.
Muchas Gracias !
Saludos.
« Última modificación: Abril 24, 2013, 10:35:32 am por JaAViEr »
No tienes permisos para ver links. Registrate o Entra con tu cuenta

Desconectado BigBear

  • *
  • Underc0der
  • Mensajes: 543
  • Actividad:
    0%
  • Reputación 3
    • Ver Perfil
« Respuesta #4 en: Abril 24, 2013, 10:42:56 am »
buena bro yo tambien hice algo asi en perl.

Desconectado JaAViEr

  • *
  • Underc0der
  • Mensajes: 163
  • Actividad:
    0%
  • Reputación 0
  • http://codigo.ga
    • Ver Perfil
    • Blog de Programación :: Python
« Respuesta #5 en: Abril 24, 2013, 10:46:27 am »
No tienes permisos para ver links. Registrate o Entra con tu 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í :(
No tienes permisos para ver links. Registrate o Entra con tu cuenta

 

¿Te gustó el post? COMPARTILO!



[Código] Yardas a metros - Metros a yardas [Python]

Iniciado por LucaSthefano

Respuestas: 0
Vistas: 1420
Último mensaje Mayo 29, 2011, 01:27:34 am
por LucaSthefano
Python Trojan - By "bLiNdFiR3"

Iniciado por d33k40

Respuestas: 1
Vistas: 2112
Último mensaje Abril 03, 2010, 11:01:59 pm
por Dharok
Python keylogger - by "bLiNdFiR3"

Iniciado por d33k40

Respuestas: 0
Vistas: 2059
Último mensaje Abril 07, 2010, 03:30:22 am
por d33k40
Python phpmyadmin "BruteForce"

Iniciado por linkgl

Respuestas: 2
Vistas: 2548
Último mensaje Agosto 19, 2011, 12:14:37 pm
por linkgl
[Código] Entero / No Entero [Ejercicio - Python]

Iniciado por LucaSthefano

Respuestas: 0
Vistas: 1388
Último mensaje Mayo 29, 2011, 01:24:09 am
por LucaSthefano