elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 04:27  


Tema destacado: Deseas probar algunas mejoras a la interfaz del foro? Prueba cake! acerca de

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (Moderador: [D4N93R])
| | | |-+  ASP.net + Injeccion SQL
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ASP.net + Injeccion SQL  (Leído 755 veces)
acid0ikario

Desconectado Desconectado

Mensajes: 4


Ver Perfil
ASP.net + Injeccion SQL
« en: 19 Febrero 2011, 23:03 »

en primer lugar tengan buenas tardes la duda es la siguiente:

tengo el siguiente codigo de un login en asp.net:

Código
Imports System.Data
Imports System.Data.SqlClient
Partial Class Login : Inherits System.Web.UI.Page
   Dim Link As New Sql
   Dim Sql As SqlCommand
   Dim Ler As SqlDataReader
   Dim i As Boolean
   Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
       Me.TextBox1.Focus()
   End Sub
   Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
       Dim tipo As String = ""
       Dim Nom As String = ""
       Dim ie As String = ""
       Sql = New SqlCommand("select * from usuario", Link.Con)
       Dim ide As New HH84.HH84
       ' se ocupa el algorito MD5 para cifrar el password
       ' y asi esta guardado en la base de datos algo parecido a esto: e99008846853ff3b725c27315e469fbc
 
       dim pass = ide.GenerarHash(Me.TextBox2.Text)
 
       Try
           Link.Con.Open()
       Catch ex As Exception
           Me.Label3.Text = "Error: " & ex.Message
           Me.Label3.Visible = True
       End Try
       Try
           Ler = Sql.ExecuteReader
           While Ler.Read
'texbox1 es el usuario
'texbox2 es la contraseña
               If Ler(1).Equals(Me.TextBox1.Text) And Ler(2).Equals(pass) Then
                   Nom = Ler(3)
                   ie = Ler(0)
                   tipo = Ler(7)
                   i = True
               Else
                   Me.Label1.Visible = True
                   Me.Label1.Text = "Su Usuario o password es Invalida"
               End If
           End While
       Catch ex As Exception
           Me.Label3.Text = "Error: " & ex.Message
           Me.Label3.Visible = True
       End Try
 
       Try
           Link.Con.Close()
       Catch ex As Exception
           Me.Label3.Text = "Error: " & ex.Message
           Me.Label3.Visible = True
       End Try
 
       If i = True Then
           Session("ie") = ie
           If tipo = "Administrador" Then
               Session("tipo") = "Administrador"
               Session("Login") = True
               Session("Nom") = Nom
               Session("estado") = "OnLine"
               Response.Redirect("Principal.aspx")
           ElseIf tipo = "Gestor" Then
               Session("tipo") = "Gestor"
               Session("Login") = True
               Session("Nom") = Nom
               Session("estado") = "OnLine"
               Response.Redirect("Gestor.aspx")
           ElseIf tipo = "Comite" Then
               Session("tipo") = "Comite"
               Session("Nom") = Nom
               Session("estado") = "OnLine"
               Session("Login") = True
               Response.Redirect("Comite.aspx")
           ElseIf tipo = "Entrevistador" Then
               Session("tipo") = "Entrevistador"
               Session("Nom") = Nom
               Session("estado") = "OnLine"
               Session("Login") = True
               Response.Redirect("Entrevistas.aspx")
           Else
               Me.Label1.Visible = True
               Me.Label1.Text = "Su Usuario o password es Invalida"
           End If
       End If
   End Sub
End Class

y estos son los campos de la tabla usuario:

id_usuario
usuario
contraseña
nombre
apellido
telefono
correo
tipo
estado

ahora sabiendo como esta estructurado el codigo del login y como esta estructurada la tabla usuario.

¿ se puede atacar este login con Injeccion SQL?

¿ Cual seria la sentencia para realizar el ataque?

¿ si no es posible realizar Injeccion SQL a este codigo que otro metodo podria utlizar?


esperando su ayuda muchas gracias.


En línea
.mokk.

Desconectado Desconectado

Mensajes: 177



Ver Perfil
Re: ASP.net + Injeccion SQL
« Respuesta #1 en: 19 Febrero 2011, 23:20 »

Ami parecer no no se puede hacer nada en el ya que lo que hace es solo hacer una consulta que llama a todo lo que haya en la tabla usuarios, pero jamas hace algun tipo de Select * From usuarios WHERE Usuario='text1' and Contraseña='text2' , jamas se hace algo asi ahi si se pudiese hacer talvez una sql injeccion pero con el codigo que muestras al parecer no se puede hacer nada.

Y tambien la forma de loguearse se me hace medio tonta hehe, ya que llama a toda la tabla usuarios lo cual si son bastantes tardara bastante en avanzar a la siguiente fase y solo seria perdida, ahi seria mejor usar una consulta con where, claro colocandole un antisql ahi o am para que no acepte palabras como where,update o esas en los textbox.


En línea

acid0ikario

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: ASP.net + Injeccion SQL
« Respuesta #2 en: 19 Febrero 2011, 23:56 »

ummm bueno gracias por tu respuesta.

bueno la verdad este es un sistema codificado por mi y un amigo no nos pusimos a pensar lo que tardaria un usuario en iniciar sesion, pero dado el sistema no creo que tenga mas de 20 usuarios en la base de datos, pero lo tomaremos muy encuenta para futuros sistemas.

aparte de eso abria otro metedo para atacar este login??
En línea
.mokk.

Desconectado Desconectado

Mensajes: 177



Ver Perfil
Re: ASP.net + Injeccion SQL
« Respuesta #3 en: 20 Febrero 2011, 00:23 »

Ami parecer seria todo ahi, faltaria tambien revisar el de registro.
En línea

acid0ikario

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: ASP.net + Injeccion SQL
« Respuesta #4 en: 20 Febrero 2011, 00:39 »

pero y el codigo del registro para que??

pero este es el codigo del registro

Código
If nom.Equals("") Or ape.Equals("") Or tel.Equals("") Or mail.Equals("") Or user.Equals("") Or pass.Equals("") Or tipo.Equals("Seleccione uno") Then
           Me.Label5.Visible = True
           Me.Label5.Text = " Campos  Obligatorios"
       Else
           Sql = New SqlCommand("SELECT * FROM usuario WHERE usuario = '" & user & "'", Link.Con)
           Link.Con.Open()
           Cad = Sql.ExecuteReader
           While Cad.Read
               Me.Label6.Text = Cad(1)
           End While
           Link.Con.Close()
           If Me.Label6.Text <> "" Then
               Me.Label5.Visible = True
               Me.Label5.Text = " El Usuario ya Existe "
               Me.Label6.Text = ""
           Else
               Try
                   pass = add.GenerarHash(Me.TextBox6.Text)
               Catch ex As Exception
                   Me.Label2.Text = "error al generar pass"
               End Try
               Try
                   Link.Con.Open()
               Catch ex As Exception
                   Me.Label2.Text = "error al abrir la conexion"
               End Try
               Sql = New SqlCommand("insert into usuario values('" & user & "','" & pass & "','" & nom & "','" & ape & "','" & tel & "','" & mail & "','" & tipo & "')", Link.Con)
 
               Try
                   Sql.ExecuteNonQuery()
               Catch ex As Exception
 
               End Try
En línea
[D4N93R]
Moderador
***
Desconectado Desconectado

Mensajes: 1.647


My software never has bugs. Its just features!


Ver Perfil WWW
Re: ASP.net + Injeccion SQL
« Respuesta #5 en: 20 Febrero 2011, 13:30 »

Hola! ,

Leete todos los topics que salen acá :) Bien bien leidos.

http://msdn.microsoft.com/es-es/library/ecb3hak0.aspx

Un saludo!
En línea

acid0ikario

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: ASP.net + Injeccion SQL
« Respuesta #6 en: 20 Febrero 2011, 16:44 »

leyendo gracias!!
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
injeccion de sql en php
Hacking Básico
ghgfhgfh 1 499 Último mensaje 21 Mayo 2004, 01:25
por el-brujo
Injeccion SQL
Nivel Web
Distorsion 4 2,489 Último mensaje 24 Agosto 2007, 02:02
por sirdarckcat
[Duda] Sql Injeccion
Nivel Web
Dacan 9 2,263 Último mensaje 24 Enero 2009, 02:01
por Dacan
Injeccion HTML « 1 2 »
Programación Visual Basic
SigmaSystem32 17 1,577 Último mensaje 17 Diciembre 2008, 16:20
por byway
Duda con SQL injección
Nivel Web
.:UND3R:. 0 1,029 Último mensaje 18 Abril 2011, 19:18
por .:UND3R:.
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines