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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Temas
Páginas: [1] 2 3 4 5 6 7 8
1  Seguridad Informática / Seguridad / FTPS - TLS/SSL en: 29 Octubre 2018, 18:56 pm
Buenas chicos,

Vengo con una consulta bastante simple. La primera vez que me meto con este protocolo, y no me queda claro la información que encuentro en otras fuentes, por eso recurro a ustedes.

Desarrollé un FTP, y quiero cifrar la comunicación con TLS/SSL para que pase a ser FTPS, y la verdad tengo nulo conocimiento en esto.

Estoy usando una libreria que levanta el certificado desde un archivo *.pfx, pero no me queda claro qué debo alojar ahí (del lado del servidor), y qué le tengo que disponibilizar al cliente para que pueda comunicarse correctamente. Por si se darán cuenta que me cuesta entender el protocolo, qué es necesario para una comunicación correcta.

Por otro lado, ¿cómo genero los certificados *.pfx o cert?.

Me conformo con un link explicativo pero los que leí no puedo comprenderlos.

Gracias, y saludos!
2  Programación / .NET (C#, VB.NET, ASP) / FTPS en ASP.NET Core en: 12 Octubre 2018, 19:33 pm
Buenas gente,

Hace mucho no posteaba en el foro, siempre lo uso como último recurso cuando no encuentro salida con algún problema.

Estoy desarrollando un FTP Server en ASP.NET Core utilizando la libreria Fubar FTP : http://fubardevelopment.github.io/FtpServer/index.html

Utilicé esta libreria porque te permite, a través de DI, cambiar el comportamiento del file system (o el file system completamente), lo diseñé para que almacene los archivos que recibe en un storage de Azure.

Ahora me encuentro con un problema bastante simple (para el que esté en tema), y es que quiero que la comunicación del FTP sea mediante SSL/TLS, estuve leyendo y en lo samples de la libreria ellos levantan un certificado X509 desde un .pfx.

El problema es que no entiendo bien cómo funciona este certificado, es decir, el servidor debe tener un .pfx para que lo levante y ahí tendrá su private key, y el usuario debe tener otro certificado con alguna relación al mio?

No sé bien cómo crear el .pfx y si debo hacerlo en runtime o ya debe estar alocado en el server que esté corriendo el FTP.

¿Me podrían orientar?, gracias.
Quizá este post debería ir en criptografía, ¿no?.
3  Programación / .NET (C#, VB.NET, ASP) / [C#] NHibernate Mapping one-to-one en: 8 Abril 2018, 03:40 am
Buenas,

Hace mucho no posteo en el foro, pero siempre va a ser mi última opción cuándo no encuentre la información en ningún otro lado o no pueda entender conceptos..

Vengo ahora con un problema de mapeos, estoy desarrollando un sistemita, para uso personal, donde voy a registrar las deudas o deudores que tengo.

Les paso código, que explica más que mil palabras:


Código:
    public class Person
    {
        protected virtual long Id { get; set; }
        protected virtual string Name { get; set;  }
        protected virtual string Nickname { get; set; }
        protected virtual string Surname { get; set; }

        public Person() { }

        public Person(string name, string nickname, string surname)
        {
            Name = name;
            Nickname = nickname;
            Surname = surname;
        }
    }

Código:
 
    public abstract class Transaction
    {
        protected virtual long Id { get; set; }
        protected virtual float OriginalAmount { get; set; }
        protected virtual float RemainingAmount { get; set; }
        protected virtual string Detail { get; set; }
        protected virtual DateTime Stamp { get; set; }
        protected virtual Person Person { get; set; }

        protected Transaction() { }

        protected Transaction(float originalAmount, string detail, Person person)
        {
            OriginalAmount = originalAmount;
            RemainingAmount = originalAmount;
            Detail = detail;
            Stamp = DateTime.Now;
            Person = person;
        }
    }

   public class Asset : Transaction
    {
        public Asset() { }

        public Asset(float originalAmount, string detail, Person person) :
            base(originalAmount, detail, person) { }
    }

Como es un sistema para mi, solo me centro en las transacciones que se producen y no en las personas, aunque quiero tenerlas registradas. Debido a esto, cada transacción tiene que estar registrada a una persona (clase Person).
Al registrar una transacción, si o si, debe estar asociada a una persona.

Vamos a la BD:

Código:
Table - Person

Id - bigint
Name - varchar(50)
Nickname - varchar(50)
Surname - varchar(50)

Código:
Table - Asset

Id - bigint
OriginalAmount - float
RemainingAmount - float
Detail - varchar(50)
Stamp - Date
PersonId - bigint (fk a Person.Id)

Ahora a los mapeos, el error que estoy teniendo es que no inserta el PersonId correspondientemente, lo intenta insertar como null y al tenerlo no nullable me rompe.

Código:
  <class name="Person">
    <id name="Id">
      <generator class="native"/>
    </id>

    <property name="Name"/>
    <property name="Nickname"/>
    <property name="Surname"/>
  </class>

Código:
  <class name="Asset">
    <id name="Id">
      <generator class="native"/>
    </id>

    <property name="OriginalAmount"/>
    <property name="RemainingAmount"/>
    <property name="Detail"/>
    <property name="Stamp"/>

    <one-to-one name="Person"
                constrained="true"
                foreign-key="none"
                property-ref="Id"
                class="Person" />
  </class>


Si les soy sincero, soy nuevo con NHibernate, me he copiado varios mapeos one-to-one y ninguno me funcionó. Siento que mi relación de clases no es consistente con mi relación de BD.
Si me pueden orientar fantástico.

Saludos y gracias!
4  Programación / Java / Quitar IF en: 24 Febrero 2018, 15:19 pm
Holas buenas,

Estoy intentando empezar a seguir la filosofía "real devs don't use if's", y me encuentro con códigos en los que no se como quitar el condicional, por eso les traigo uno, a ver si me tiran ideas y me abren un poco más la cabeza:

Código:
public static GregorianCalendar traerFecha (int año, int mes, int dia) {
GregorianCalendar fecha = null;

if (esFechaValida(año, mes, dia))
fecha = new GregorianCalendar(año, mes - 1, dia);

return fecha;
}

Creo que el codigo se entiende bastante bien, tiene nombres predictivos. Se le pasa un año, mes y dia, y te devuelve un GregorianCalendar con la fecha, pero solo si los parametros pasados son correctos (mes del 1 al 12, dia correcto dentro de ese mes, se contempla año bisiesto). Al mes le resto uno porque GregorianCalendar tiene los meses desfazados hacia abajo, el 0 es Enero.

Y les dejo otro de plus, que es justamente el que consume al que llama el código de arriba.

Código:
	public static boolean esFechaValida (int año, int mes, int dia) {
int[] meses = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
boolean response = false;

if (esBisiesto(año))
meses[1] = 29;

if (mes >= 1 && mes <= 12)
response = meses[mes - 1] >= dia;

return response;
}

Si pueden tirarme ideas sobre como podria quitar los condicionales buenisimos, también agradecido si me recomiendan lecturas. Estoy yendo de a poco, para mi los casos en donde se pueden aplicar polimorfismo son más fáciles.
5  Programación / Java / Duda, mala práctica? en: 9 Diciembre 2017, 23:51 pm
Buenas,

Vengo con una duda, estoy haciendo un programa para la facultad, nada complicado. No es más que un ABM, por eso lo estoy haciendo bastante 'rapido', es decir, sin mucha dedicación solo para recordar Java.

En un método me encontré con lo siguiente, hice esto para simplificar:

Código:
	private Producto traerProducto(int idProducto)
{
for(Producto prod: this.lstProducto)
{
if(prod.getIdProducto() == idProducto)
return prod;
}
return null;
}

En una lista de productos, busco un producto por id. Si lo encuentra retorna el producto, si no, null.
Mi duda es si es una buena o mala práctica utilizar múltiples return's en un mismo método. Yo lo hice para ahorrarme la variable flag.

Esta duda me surgió porque recuerdo haber visto en un analizador de código que cuándo tenía múltiples return's debía simplificarlo. Pero acudo a ustedes a ver que me dicen.

PD: Capaz haga una prueba de rendimiento (solo velocidad, aunque sospecho cual ganarà).
6  Seguridad Informática / Hacking / Ejecutar script en modo administrador en: 6 Octubre 2017, 22:57 pm
Buenas gente, no sé si es el lugar correcto, en realidad podría ir en el apartado Windows pero confío más en los consejos que me puedan brindar en este foro, o tal vez un camino alternativo.

Como bien dice el título, codeé un .bat, dónde hace X cosa que no viene al caso.

Quiero que ese script se pueda ejecutar automáticamente en modo administrador, ¿es posible?.

Probé el runas administrator pero pide una contraseña, ¿qué método se suele utilizar para engañar al sistema operativo y ejecutar comandos en modo administrador sin contar con esa contraseña?

¿Se puede cambiar desde otro .bat los permisos de ejecución de ese .bat para que ejecute siempre en administrador y salte solamente la advertencia "SI/NO"?


Muchas gracias, saludos!
7  Programación / Programación General / Importar módulos en Python en: 16 Septiembre 2017, 02:08 am
Buenas gente, duda sencilla, tal cual dice el título, vengo de java y c# y estoy complicado con Python.

He leído y todos dice que para importar una clase o módulo a otra se debe usar import nombreDeClase, o from nombreDeClase import */nombreDeMetodo.

Bien, he probado ambas alternativas en mi programa sencillo que hice justamente para ver cómo se resolvía este tema y no me reconoce la función a la que quiero llamar. Les paso el código:

Código:
import ClaseDePrueba

if __name__ == '__main__':
    '''Comentario: Aca va a iniciar el programa'''

    print "Iniciando juego"
    print ClaseDePrueba.llamadaAClase()
   
   

Código:
class MyClass(object):
    '''
    Clase de prueba para importarla a Main
    '''


    def __init__(self):
        '''Constructor'''
       
    def static llamadaAClase(self):
        print "Importada correctamente"
       
8  Programación / .NET (C#, VB.NET, ASP) / Error al subir archivo a FTP. C# en: 12 Septiembre 2017, 00:38 am
Buenas gente, miren, estoy en un proyecto dónde tuve que desarrollar un método para subir un .TIF a un FTP levantado con un IIS de Windows (un WebSite con FTP).

Ocurre algo muy raro, resulta que localmente el método funciona sin problemas, pero en el servidor no funciona, el error que me tira es: Underlying connection was closed: The server committed a protocol violation.

Estuve buscando en muchos foros, y encontré soluciones pero que en mi código no funcionan, les paso el código:

Código:
public static string SubirAFTP(string localPath, string numeroDeEnvio, string ftpKey, string extension, string user = null, string pass = null,
            string prefijoANumeroDeEnvio = null)
        {
            try
            {
                string nombreDeArchivo;
 
                if (prefijoANumeroDeEnvio == null)
                    nombreDeArchivo = numeroDeEnvio + extension;
                else
                    nombreDeArchivo = prefijoANumeroDeEnvio + numeroDeEnvio + extension;
 
                FileInfo toUpload = new FileInfo(nombreDeArchivo);
 
                FtpWebRequest request = (FtpWebRequest)WebRequest.Create(IcsCommonConfig.DeEsteComponente.AppSettings.GetString(ftpKey)
                    + "/" + numeroDeEnvio + extension);
 
                request.Method = WebRequestMethods.Ftp.UploadFile;
          
 
                if (user != null && pass != null)
                    request.Credentials = new NetworkCredential(user, pass);
 
                request.KeepAlive = true;
 
                Stream ftpStream = request.GetRequestStream();
                FileStream file = File.OpenRead(localPath);

                int length = 1024;
                byte[] buffer = new byte[length];
                int bytesRead = 0;
 
                do
                {
                    bytesRead = file.Read(buffer, 0, length);
                    ftpStream.Write(buffer, 0, bytesRead);
                } while (bytesRead != 0);
 
                file.Close();
                ftpStream.Close();
            }
            catch (Exception ex)
            {
                _log.Info("Fallo subida al FTP del proyecto");
                throw ex;
            }
 
            return IcsCommonConfig.DeEsteComponente.AppSettings.GetString(ftpKey) + "/" + numeroDeEnvio + extension;
        }


El error ocurre en esta línea:

Código:
Stream ftpStream = request.GetRequestStream();

El código lo fui haciendo con otros post porque es mi primera experiencia con FTP desde código C#.

Lo ideal sería realizar la subida sin librerias de terceros, por eso estoy usando estos métodos.

Acepto sugerencias, y si precisan más información me dicen.

Gracias por la ayuda.

EDIT:

Intenté acceder desde el servidor (remotamente) al FTP con el CMD y no logra conectarse, mientras que fuera del servidor en otra máquina pude entrar sin problemas.


EDI 2: SOLUCIÓN

Eran problemas de Bindings, lo solucionó un colega así que no se bien que camino tomo, pero les dejo el indicio de qué era el problema.
9  Programación / .NET (C#, VB.NET, ASP) / Configurar correctamente proyecto de pruebas unitarias. en: 7 Septiembre 2017, 03:05 am
Buenas noches gente, soy un programador novato en C#, y estoy haciendo una pasantía, les vengo con una duda.. para esto estoy utilizando el Visual Studio 2016.

Resulta que estoy a cargo de hacer los tests de un proyecto, el tema es que estoy teniendo varias dificultades..

Empecemos por lo principal, creé un proyecto aparte en la misma solución y debido a eso estoy teniendo problemas en acceder a las clases de mi proyecto principal, no sé si tengo que agregar alguna dependencia o referencia, o simplemente incluir los namespace.

Lo segundo, y esto es más específico, hacemos los mappings con Spring Object.
En los test tengo que teestear parte del mapeo en varias situaciones, y cuando realizar el mapeo, utilizo la funcion:

ContextRegistry.

Eso me provoca un error que dice Error de contexto inválido para ContextRegistry, la verdad sobre esto busqué en Google y no encontré nada, solo una solución de stack bastante ofusca.

Más allá de todo, si pueden recomendarme algún paper que pueda leer para llevar a cabo una configuración limpia se los agradecería.

Les agradecería una mano, saludos!
10  Informática / Software / ¿VPN gratuita fuera de 14 eyes? en: 2 Septiembre 2017, 06:18 am
Buenas gente, tal como lo dice el título ando buscando una VPN gratuita, va a ser mi primera experiencia con VPN's.

Vi que la mayoría son pagas, capaz puedan recomendarme alguna que conozcan, en lo posible que este fuera de la lista de los 14 eyes countries.


Muchas gracias.
Páginas: [1] 2 3 4 5 6 7 8
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines