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

#1
Mmm los ejemplo que he encontrado de Swig han sido de C, y bueno la verdad no me sirve porque la clase esta en C++, pero de todas formas intentare a ver si puedo hacer algo, gracias por la respuesta  ;)
#2

Aquí esta un manual muy bueno http://foro.elhacker.net/scripting/tutorial_vbscript-t229032.0.html;msg1090556 Escrito por Novlucker en Diciembre del 2008, y abajo te cito la parte del Tutorial que te servira, mucha suerte!!


CitarLeer desde archivos de texto

Así  como abrimos archivos y podemos escribir en ellos, también existe la posibilidad de leer desde ellos, para lo cual utilizaremos readline, y readall.
Como se puede imaginar, con readline iremos leyendo una a una las líneas del archivo (cada vez que pongamos readline leeremos solo una), con este, leemos una línea, y el puntero se situa al final de la línea, para que a la próxima ejecución de esta función, sea la línea siguiente la que sea leída. Con readall en cambio, leeremos el total de archivo.
Existe además una función llamada skipline, con la cual saltaremos la lectura de una línea.

Ejemplo:
Código (vb) [Seleccionar]

Set objfso = createobject("scripting.filesystemobject")
Set archivotexto = objfso.opentextfile("C:\archivo.txt",1) 'abrimos el archivo
msgbox archivotexto.readline 'leemos una linea, la primera
archivotexto.skipline 'saltamos una linea
msgbox archivotexto.readline 'leemos una linea, la tercera
archivotexto.close 'cerramos el archivo


Atributos de archivos y carpetas

A continuación explicaré el método mediante el cual, se puede obtener, o bien cambiar, los atribuos de archivos y carpetas (es prácticamente igual para ambas cosas)...
#3
Buenas Noches  ;D.

Saludos a todos  ;), he colocado este post, porque tengo un pequeño problema  :huh:, deseo importar unas funciones de C++ que he creado en mi archivo pytiodvc.cpp, el cual utiliza como header tiniodbc.hpp, e utilizado el swig y bueno nada, y despues me dirigí al Boost y bueno no entendí nada, he intendo halar la función desde un archivo python utilizando el siguiente código:

Código (python) [Seleccionar]
cdef extern from "pytiodbc.cpp":
openconn(char *dsn, char *user, char *pwd)

def connect(dsn,user,pwd)
python son de tipo str
if not isinstance(dsn,unicode):
if not isinstance(dsn,str):
raise ValueError("'dsn' requires text input, got %s" % type(text))
udsn=dsn.encode('UTF-8')

if not isinstance(user,unicode):
if not isinstance(user,str):
raise ValueError("'user' requires text input, got %s" % type(text))
uuser=user.encode('UTF-8')

if not isinstance(pwd,unicode):
if not isinstance(pwd,str):
raise ValueError("'user' requires text input, got %s" % type(text))
upwd=pwd.encode('UTF-8')

#Llamamos a la función definida en pytiodbc.cpp
ret=openconn(udsn,uuser,upwd)


el archivo pytiodbc.cpp que importo es uno realizado por mi para probar si podía llamar la funcion desde el C++, anexo el código.

Código (cpp) [Seleccionar]
#include "tiodbc.hpp"
#include <iostream>

using namespace std;

bool openconn(char *dsn, char *user, char *pwd);

bool openconn(char *dsn, char *user, char *pwd){

// Crea la conexión al ODBC
   tiodbc::connection my_connection(dsn, user, pwd);

   // Verifica que la conexión sea éxitosa
   if (my_connection.connected())
       return true;
   else
       return false;

   // Se Desconecta
   my_connection.disconnect();
}


lo que deseo es poder llamar esa función desde Python  ;-), por ejemplo con un código así:

Código (python) [Seleccionar]

import sys
import os
import pytiodbc

print "Ejemplo conectar a Base de datos"
resp = pytiodbc.connect ("DSN=Test","Test","Test")
print resp
os.system("pause")




Quisiera saber si esta manera es correcta ó por obligatoriedad tendría que útilizar el Swig ó Boost  :silbar:, espero su respuesta, y de antemano muchas gracias por la ayuda.
#4
Hola, ¿Cómo estas?, Te felicito por tan excelente tutorial.

tengo unas preguntas que hacerte porque hay algo que me pone en duda para realizar la practica del tutorial, es que en una parte dices que el Payload tiene que ser de 524, luego dices que tiene que ser de 528, pero a la final dice que tienes que generarlo con 504, ¿Porque sucede esto con que extension lo genero de verdad no lo entiendo?

Mi otra duda es ¿donde veo la dirección 62 ya que lo unico que veo son puros 42??
Citar
Como se puede observar el EIP quedo sobreescrito por 62 y a partir de la dirección 0022FB60 tal cual se puede observar en la imagen, lo que ahora sigue es conocer el tamaño de nuestra cadena a inyectar en el buffer, para reservar espacio y conocer nuestra dirección de salto o retorno hacia el shellcode resultante.

Gracias por el tutorial la verdad estoy muy confundido y ya me he leido varios tutos porque quiero aprender sobre BOF, osea soy 100% novato en todo esto.