sábado, agosto 31, 2024
sábado, agosto 24, 2024
Codebreaker, TrojanPuzzle, Covert & Simple: Cómo envenenar LLMs para inyectar Bugs & Backdoors en los programas que haces con los Copilots de Developers
![]() |
Figura 17: Libro de Machine Learning aplicado a Ciberseguridad de Carmen Torrano, Fran Ramírez, Paloma Recuero, José Torres y Santiago Hernández |
Publicado por
Chema Alonso
a las
6:23 a. m.
0
comentarios
Etiquetas: AI, bug, bugs, ChatGPT, developer, GenAI, Generative-AI, GenerativeAI, GitHub, GitHub Copilot, Hacking, IA, Inteligencia Artificial, LLM, LLMs, pentest, pentesting, programación, SQL Injection, SQLi
jueves, agosto 01, 2024
Test de uso de GenAI para la detección de bugs de "Connection String Parameter Pollution" (CSPP) usando Ollama
Figura 2: Connection String Attacks en DefCON18
{
string cadenaConexion = $"Server=UK5FCMI;Database=WebApp;User Id={usuario};Password={contraseña};";
using (SqlConnection con = new SqlConnection(cadenaConexion)){using (SqlCommand cmd = new SqlCommand("SELECT * FROM Products")){using (SqlDataAdapter sda = new SqlDataAdapter()){cmd.Connection = con;sda.SelectCommand = cmd;using (DataTable dt = new DataTable())
{sda.Fill(dt);GridViewProductos.DataSource = dt;GridViewProductos.DataBind();}
}}}
El método construye, mediante interpolación de cadenas, una cadena de conexión a una BD tipo SQL Server a partir de los parámetros de usuario y contraseña. Estos parámetros no se validan en ningún momento (ni en el llamador). Con esta cadena de conexión, se lanza una conexión contra la BD y se lee la información de la tabla Products (si el usuario de BD tiene permisos SELECT sobre dicha tabla) para mostrarla en la grid del formulario ASPX. Todos estos ataques se explican en mucho detalle en el libro "Hacking Web Technologies 2ª Edición" de 0xWord.
Una forma de explotarlo sería, por ejemplo, introducir como contraseña la cadena ;Integrated Security=True;, con cualquier usuario. Si se permite la autenticación integrada en SQL Server y el usuario del pool de IIS con que se está ejecutando la aplicación tiene permisos de conexión y consulta a la BD de la aplicación, podemos conseguir acceder a información que no nos corresponde.
El modelo detecta un problema en la cadena de conexión, identificando que los parámetros de usuario y contraseña, que provienen de los campos de un formulario, no se han validado ni comprobado. Detecta que esto puede presentar un problema de SQL Injection, sin embargo, la propuesta de solución NO es acertada. En la cadena de conexión, elimina los parámetros de usuario y contraseña:
string cadenaConexion = $"Server=UK5FCMI;Database=WebApp;";using (SqlConnection con = new SqlConnection(cadenaConexion)){...
Y propone utilizar consultas parametrizadas, de la siguiente manera:
using (SqlCommand cmd = new SqlCommand("SELECT * FROM Products WHERE Usuario = @Usuario AND Contraseña = @Contraseña")){
cmd.Parameters.AddWithValue("@Usuario", usuario);cmd.Parameters.AddWithValue("@Contraseña", contraseña);...
}
Parece que el modelo está intentando encajar la solución de una SQL Injection clásica a este tipo de vulnerabilidad. Una solución podría ser utilizar la clase SqlConnectionStringBuilder, de la que Chema habla en la segunda parte de su serie en el blog.
El modelo CodeGemma 7B también propuso el uso de consultas parametrizadas y además sacar la cadena de conexión a la sección ConnectionStrings del fichero Web.config. Esto tampoco soluciona la vulnerabilidad, aunque se saque la cadena a otro sitio.
Publicado por
Chema Alonso
a las
6:01 a. m.
0
comentarios
Etiquetas: .NET, auditoría, Blind SQL Injection, BSQLi, CSPP, GenAI, hardening, LLM, LLMs, pentest, pentesting, programación .NET, SQL Injection, SQLi
miércoles, enero 04, 2023
Cómo buscar vulnerabilidades en SmartContracts, SQL Injection, XSS o bugs Python con ChatGPT
@chema_alonso ¿Generan código inseguro los asistentes de inteligencia artificial? #ai #ia #bug #sqli #copilot #chatgpt #seguridad #aprendoentiktok #aprendocontiktok ♬ Terminator 2: Judgment Day Theme - Everrune
- Descubrir vulnerabilidades: Lo que es bueno para los pentesters y auditores.
- Securizar código existente y revisarlo en profundidad: Lo que es bueno para QA y DevOps.
- Generar código de forma rápida y segura: Lo que es bueno para los desarrolladores.
Publicado por
Chema Alonso
a las
7:26 a. m.
2
comentarios
Etiquetas: Artificial Intelligence, auditoría, bug, bugs, ChatGPT, IA, Inteligencia Artificial, pentest, pentesting, Python, SmartContracts, SQL Injection, SQLi, Web3, XSS
lunes, diciembre 26, 2022
ChatGPT hace código con SQL Injection, CoPilot mete Security Bugs y los programadores que usan Asistentes AI hacen más "Buggy Code"
![]() |
Figura 4: Libro Hacking de Aplicaciones Web: SQL Injection de Enrique Rando y Chema Alonso |
Publicado por
Chema Alonso
a las
10:02 a. m.
5
comentarios
Etiquetas: AI, Artificial Intelligence, BSQLi, bug, bugs, Hacking, IA, Inteligencia Artificial, pentest, pentesting, PHP, Python, SQL Injection, SQLi
Entrada destacada
+300 referencias a papers, posts y talks de Hacking & Security con Inteligencia Artificial
Hace un mes comencé a recuperar en un post mi interés en los últimos años, donde he publicado muchos artículos en este blog , y he dejado mu...

Entradas populares
-
Circula por la red un truco que llegó a mí de casualidad , donde se explica cómo conseguir ver más de una vez - e incluso capturar - las fot...
-
Ayer publiqué un post que tiene ver con las opciones de privacidad de Facebook asociadas a los correos electrónicos , y mañana sacaré la se...
-
Las técnicas de OSINT son aquellas que te permiten buscar información en fuentes abiertas. O lo que es lo mismo, sacar datos de plataformas...
-
Hoy os traigo una " microhistoria " peculiar que tiene que ver con la historia de la tecnología. Es una historia de esas que empie...
-
Hace mucho tiempo, cuando se creo el " Modo Incógnito " de los navegadores, que algunos llamaron también " Modo Privado ...
-
Dentro de una investigación de una fotografía, tal vez te interese saber dónde está hecha, o a qué hora se hizo. Cualquiera de esas dos info...
-
Conseguir la contraseña de Facebook de una cuenta es una de las peticiones más usuales que se suele recibir de la gente que busca solucion...
-
Una de las opciones que se puede configurar a nivel de hipervínculo, de documento o de servidor web en los navegadores es el funcionamiento...
-
El SEPE (Servicio Público de Empleo Estatal) ha sido víctima de la archiconocida crisis del COVID-19 enlazando la avalancha de expedientes...
-
La app de mensajería instantánea Telegram tiene muchos fans por el atributo de seguridad que ha querido potenciar desde el principio, per...