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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


  Mostrar Mensajes
Páginas: [1] 2 3
1  Informática / Hardware / Duda sobre overclocking en: 22 Marzo 2024, 16:14 pm
Hola

Tengo una duda de overclock cuando hago cosas de diseño.

Actualmente hago algunos renders de diseños en 3D, y me ha ayudado mucho el hacer OC, no hago renders tipo la explosión de la bomba de oppenheimer, son solo videos cortos y diseños un poco simples, o ediciones de video, etc… además de que también lo hago para jugar algunos videojuegos.

Para esto por lo general hago OC a 4Gbytes, la Bios me permite hasta 16 pero nunca lo he llevado a tanto, por lo general lo dejo en 2 o 4 gigas.

He buscado información pero no encuentro algo en concreto, unos dicen que se va a descomponer, otros dicen que no pasa nada si no lo usas al límite y todo el tiempo.

Quisiera saber si lo que hago le está haciendo mucho daño a mi CPU, he estado checando el calor dentro de mi computadora y el aire que sale no es muy caliente, es entre tibia y caliente, solo varía si estoy haciendo render o solo jugando, incluso a veces es fría, la temperatura checada con gadgets me dicen entre 40 y 80 grados.

pero igual quisiera saber si lo que yo hago en específico está mal o lo estoy haciendo bien y con bien me refiero a que me va durar un poco más mi CPU.


Editado
——————-


Me acabo de dar cuenta que le puse 40 y 70 grados y es 80, bueno 80-84, tampoco es tan exacto
2  Seguridad Informática / Bugs y Exploits / Re: Duda explotando un buffer overflow en el stack en: 4 Febrero 2024, 22:57 pm
Esto pasa por diferentes factores, pondré los básicos.

El primero y más común es olvidar que estás usando un sistema de 64 bits y todo lo transformamos a 32bits, haciendo que la memoria no se sobre escriba correctamente y quede algún null, haciendo que la ejecución se detenga o el exploit está hecho para 32 bits y debería ser para 64bits.

Otra son las protecciones de tu sistema Linux, a veces solo compilar quitando protecciones no siempre funciona, hay que verificar porque podría detectar tu sistema como un posible smash y que lo detenga.

Otra es que GDB carga en memoria virtual la app, haciendo que cambie un poco a la memoria real, ya que activa los exécutables de forma virtual, así que puede que un exploit te funcione dentro de GDB y puede que no funcione fuera y viceversa. Puedes buscar como alinear lo más posible a GDB, no recuerdo ahorita las opciones pero en internet puedes buscar por como alinear la memoria de GDB por la real.

Una solución a eso es hacer las ejecuciones mediante fuerza bruta, con un bash intenta hacer que incremente o disminuya alguna dirección, ejemplo.

Me a pasado que la dirección de ret es por ejemplo: 0x77bbffc8 y cuando cambio manualmente a 0x77bbffce, bum!!, me aparece la Shell, incluso me ha pasado como a ti, hago una Shell, extraigo los opcodes y no funciona, y pongo una de internet y funciona y viceversa, no me funciona ninguno de internet pero hago una yo y listo.


A veces son cosas impredecibles y raras. Espero eso te ayude, suerte.
3  Programación / Programación C/C++ / Como iniciar y terminar un loop usando MFT? en: 28 Abril 2023, 04:29 am
Hola

Tengo una duda sobre MFT.

Se que cada MFT record tiene una longitud de 1024 y yo supongo que las apps que recuperan archivos borrados deben encontrar el tamaño total de la tabla MFT y con un while o un for ir buscando cada archivo borrado.

si por ejemplo quiero buscar en todo el disco duro los archivos borrados, ¿debo llegar a la tabla MFT, sacar el total de la tabla y entonces buscar con un loop?, o ¿debo llegar a la tabla MFT y después obtener el total del disco duro o espacio libre y con eso hacer el loop?

porque por ejemplo, con este comando puedo obtener el total de la tabla

defrag -a -u -v c:

Y según la tabla pesa 427mb

pero siento que es muy poco a diferencia de las apps de búsqueda que tardan mucho cuando analizan el disco duro.


prácticamente con qué debo iniciar y terminar la búsqueda con un loop los archivos borrados, ¿con el total de la tabla MFT o con el total del disco duro o con el total del espacio libre del disco duro?
 
Si es con el total de la tabla MFT, ¿qué debo sumar o multiplicar en Bios Parameter Block para encontrar el total de la tabla MFT?

Si es con el disco duro, ¿debo entonces encontrar el total del disco duro o es el espacio libre?, algo así

while(i < size_HD)

while(i<size_free_space_HD)

Espero puedan ayudarme con eso.

Saludos
4  Programación / Programación General / Re: como imprimo con python cierta cantidad de caracteres con signos delimitantes? en: 16 Abril 2023, 19:30 pm
Gracias  LlopoRobot

Esto es lo que estaba buscando y ya pude separa las lineas del texto  ;D

Saludos.
5  Programación / Programación General / como imprimo con python cierta cantidad de caracteres con signos delimitantes? en: 16 Abril 2023, 04:43 am
Hola

Alguien sabe como podría en Python imprimir en pantalla una frase aleatoria que se encuentre dentro de signos?, por ejemplo...

En un archivo de texto leo esto...

Código:
------
Hola, este es un ejemplo
------

Quisiera con python detectar esta linea "-----" e imprimir "Hola, este es un ejemplo" y cuando vuelva a detectar la siguiente linea "-----"  se detenga

La frase puede variar, pero no logro encontrar un manera de hacerlo, intenté googlear pero solo encuentro ejemplos de como detectar la primera llinea y mostrar en adelante pero no de como detenerlo, además de que los ejemplos son para una frase constante y la que yo tengo puede variar en caracteres

Alguien sabe como puedo solucionar eso?

Saludos.
6  Programación / Programación General / Re: Ayuda con ChatGPT y javascript en: 30 Marzo 2023, 18:49 pm
Hola

Gracias Locura_23, ya lo pude solucionar.

Tratando de hacerlo funcionar con el ejemplo que me diste, me di cuenta que al parecer ya como un objeto los datos, pero no conocía Promise ni tampoco como funcionaba Response.json completamente.

Buscando encontré info sobre Promise y funciones de Response, por ejemplo

response.status
response.text()
etc...

Al buscar en developer.mozilla encontré una pequeña explicación sobre response y ahí encontré el array con los datos y listo, ya funciona.

Muchas gracias,

Saludos.
7  Programación / Programación General / Ayuda con ChatGPT y javascript en: 30 Marzo 2023, 05:56 am
Hola

Estaba leyendo la Dococumentación de OpenAi para aprender a usarlo, y se me ocurrió hacerlo con javascript, pero tengo una duda que no logro resolver. no tengo mucho conocimiento con JSON, les explico.

desarrollé esté codigo basandome en la Doc, le muestro como lo hice

Código:
 const response = await fetch('https://api.openai.com/v1/chat/completions', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        'Authorization': 'Bearer openAPI.Key'
      },
      body: JSON.stringify({"model": "gpt-3.5-turbo",
      "messages": [{"role": "user", "content": "Say this is a test!"}],
      "temperature": 0.7})
    }).then(response =>{


    //console.log( response.json();


y me muestra lo siguiente en la consola.

Código:
Promise {<pending>}
[[Prototype]]
:
Promise
[[PromiseState]]
:
"fulfilled"
[[PromiseResult]]
:
Object

Si lo busco tal cual lo haría en python, por ejemplo

choices[0].message.content

Efectivamente, me sale la respuesta de ChatGPT

Código:
[[PromiseResult]]
:
Object
choices
:
Array(1)
0
:
finish_reason
:
"stop"
index
:
0
message
:
content
:
"This is a test!"
role
:
"assistant"

¿Cómo puedo llegar a 'content' usando Json y que solo me muestre en console.log lo que hay en 'content' usando el código de javascript de arriba?

Porque me gustaría mostrar la respuesta después usando

document.getElementById('mostrar).innerText = respuesta;

Estuve googleando pero solo encuentro ejemplos de JSON.stringfy pero no de como mostrar solo el contenido de un array, en este caso el array de 'choices'

Espero me puedan ayudar con esto y haber podido explicar bien mi duda.

Gracias.
8  Programación / PHP / error interno en php cuando uso query con un valor de letras y numeros. en: 3 Octubre 2022, 03:23 am
Hola

Estoy tratando de mostrar los valores de una tabla de mysql en un formulario, pero me pasa algo raro que no entiendo que puede ser.

en la tabla tengo un numero que es la referencia, pero solo puedo buscar por numero y no por letras y numeros. por ejemplo.

mi tabla en mysql tiene.

id  referencia prueba1          prueba2
1    5412       FDD-DSD        XXX-RRR
2    abc12     FDD-DSD        YYY-RRR

Cuando busco 5412, no tengo ningun problema, el query me da los rows de 5412, pero cuando busco abc12 me aparece como error interno 500.

Pero no entiendo porque... utilizo en mysql a select * from tabla where referencia, pero como menciono si en input le escribo abc12 falla.

por cierto, referencia es varchar not null.... mmm, no se que más datos puedo dar para que sea más fácil ayudarme.

espero me haya podido dar a entender, y me puedan ayudar.

Saludos.
9  Programación / Programación C/C++ / Re: ¿como evito bugs usando argv y memcpy? en: 17 Abril 2022, 02:56 am
Jajajaja, lo siento, me diste la respuesta con tu pregunta.

Se me olvido quitarle el char, estaba tan concentrado en tratar de proteger memcpy que no puse atención a eso,ya lo puse como int y ya no me sale el problema.

Solucionado.

Igual, si me pueden dar consejos para proteger memcpy cuando la cantidad de bytes a copiar es variable, se los agradecería, porque eso lo utilicé para una url, como pueden variar, pues decidí utilizar un espacio tan grande memoria. Por eso me preocupaba el overflow, porque facilmente puede entrar cualquier shell.



10  Programación / Programación C/C++ / ¿como evito bugs usando argv y memcpy? en: 16 Abril 2022, 19:46 pm
Hola, ¿como estan?.


Bueno, estoy haciendo un programa con sockets y estoy tratando de usar memcpy, al parecer creo ya estoy comprendiendo más la utilidad, pero se me ocurrio tratar de ver si hay un bug, coloque las clásicas A's, ya que he visto retos de como explotar errores usando memcpy y efectivamente, me aparecio el fallo de segmento.

Obviamente hice la exploración con un debugger y adivinen.

Código:
0x7fffffffdb2c:	0x00000002	0x00000000	0x0000e800	0x00000000
0x7fffffffdb3c: 0x00000000 0x03000105 0x000000e8 0x00000000
0x7fffffffdb4c: 0x00000000 0x41414141 0x41414141 0x41414141
0x7fffffffdb5c: 0x41414141 0x41414141 0x41414141 0x41414141
0x7fffffffdb6c: 0x41414141 0x41414141 0x41414141 0x41414141
0x7fffffffdb7c: 0x41414141 0x41414141 0x41414141 0x41414141
0x7fffffffdb8c: 0x41414141 0x41414141 0x41414141 0x41414141
0x7fffffffdb9c: 0x41414141 0x41414141 0x41414141 0x41414141

Y ok, ya encontré un error en mi programa y seguro con un poco de imaginación consiguiría un "SIGTRAP". Pero lo que me interesa saber es como evitar ese problema.

¿Qué me aconsejan para evitar ese bug?, ¿utilizar memcpy_s?, ¿nunca usar argv en un memcpy?, pero entonces donde coloco el parametro de argv para que no perjudique a memcpy.

Como seguridad ¿como evito ese tipo de bugs y de que otra forma segura lo puedo hacer?.

Saludos.


EDITADO

--------------------------------------------------------------------------------------

Acabo de observar algo, se que esto es para la zona de exploits, sin embargo, me interesa más la programación de seguridad, solo lo coloco como dato extra por si alguien me puede explicar.

Ok, mientras esperaba se me ocurrió hacer el sigtrap, sin embargo, no lo lograba y me recordé que estoy usando un sistema de 64 bits, y los datos mostrados por el debugger son de double word.

Lo modifique a g para verlo en formato de 8 bytes y me di cuenta que lo que yo pensaba que era el jump del ret, pues resulta que no se sobreescribe del todo.
Código:
0x4548530042424242

Llegue a pensar en un GOT a memcpy, pero viendolo así como se los coloco, no sé, aun soy muy ignorante en muchas cosas. ¿Pero creen que sea el método one byte (creo así se le llama)?. Sé que debe ser 1 byte, pero no se si también así funcione.

No lo he intentado, porque aun no lo entiendo del todo el one byte... ¿pero creen que sirva ese método?, o creen que simplemente sea un falso positivo en mi programa, ya que si aumento la sobreescritura, ya no me aparece ningun mensaje de error.

Repito, esto lo pongo como detalle que para mi es interesante, y talvez podría ser util para ayudarme con la duda mejor.

Por cierto, si se preguntan que hice... este es la parte del problema
Código:
char datos = (char)strlen(argv[1]);  <-- esto lo reutilizo después.
memcpy(buffersend+6,argv[1],  datos)

Páginas: [1] 2 3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines