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

#761
A que se refiere?
#762
Nivel Web / Re: Ayuda con idea para Inyeccion SQL
30 Octubre 2009, 19:00 PM
Cita de: WHK en 29 Octubre 2009, 04:41 AM
puntaje.asp?UsuarioID=5623 and 1=1
puntaje.asp?UsuarioID=5623 and 1=2
puntaje.asp?UsuarioID=5623' and 1='1
puntaje.asp?UsuarioID=5623' and 1=1 --+
La web es así:
El usuario X tiene X puntaje, y le han dado un total de X votos y tiene un Promedio de X

Con la 1º opcion, todos los datos aparecen perfectamente..
Con la 2º opcion, dice: El usuario tiene puntaje, y le han dado un total de votos y tiene un Promedio de (o sea... es como que no toma nada la base de datos... como si el SELECT devolviese NADA
Con  la 3º y 4º opcion, da error la pagina...
Me parece que hay inyeccion del modo de la 2º opcion.. o me equivoco?
#763
JAJAJAJJAJAJAJAJJAJAJAJAJAJAJJAJAAJ
GENIALLLLLLLLLLLLL
GENIALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL

En fin... la "recomendacion" ya esta... bloqueen el tema hasta que decidan que hacer así se evita estoo..


Saludos..
#764
Nivel Web / Ayuda con idea para Inyeccion SQL
29 Octubre 2009, 04:35 AM
Hola GENTE..
Resulta que tengo una web donde se ejecuta una URL algo asi:
http://www.xxxxxxxx.com.ar/puntaje.asp?UsuarioID=5623

Esa URL muestra en un tablita, los datos de los PUNTAJES que tiene ese usuario.. La web es una web donde podes votar a los usuarios del 1 al 10 si la foto es linda o no (no es sexyono.. es parecida)

Resulta que la web tiene un XSS GIGANTEZCO TAMBIEN!!!.... donde puedo eter CUALQUIER CARACTER!!... (en otro valor.. de un mensaje)

La cuestion, es que seguramente esta haciendo un: SELECT XXXX FROM nombretabla Where ID='UsuarioID'
O no????
Bueno.. la idea es... que podria meterle de UsuarioID para probar si tengo la inyeccion SQL???
Alguna recomendacion?
#765
No no.. me referia a que tendre que concatenar porque:
Tengo 12 carpetas, y dentro de cada carpeta tengo 31 archivos de texto con cada linea una entrada para la base de datos.. entonces hago lo sigueinte:

(aunque se me presento otro problema.. leer debajo de todo)

Código (vbnet) [Seleccionar]
   Private Sub INSERTAR(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Dim conexión As New SQLite.SQLiteConnection()
       Dim Consulta As SQLite.SQLiteCommand
       Dim linea As String = ""
       conexión.ConnectionString = "Data Source=" & Database & ";"
       conexión.Open()
       Consulta = conexión.CreateCommand
       For Mess As Integer = 1 To 2 '12
           For Diaa As Integer = 1 To 2 '31
               Dim Lectura As StreamReader = New StreamReader("C:\Users\Noel\Desktop\BrodaSoft\Visual Basic Proyectos\BACKUP's\VIDay\Version 7 Oficial\DataBase\" & Mess & "\" & Diaa & ".txt", System.Text.Encoding.Default, False)
               While True
                   linea = Lectura.ReadLine
                   If linea = "" Then
                       Exit While
                   End If
                   linea = linea.Replace("'", "-")
                   linea = linea.Replace("\", "")
                   linea = linea.Replace("""", "-")
                   Consulta.CommandText = "INSERT INTO Efemerides (Fecha, Texto, Version) VALUES ('0000-" & Mess & "-" & Diaa & "', '" & linea & "', '1')"
                   Consulta.ExecuteNonQuery()
               End While
               Lectura.Dispose()
               Lectura.Close()
           Next
           MsgBox("Fin de mes")
       Next
       Consulta.Dispose()
       conexión.Close()
       MsgBox("Listo")
   End Sub



Como veran, leo éste archivo:
C:\Users\Noel\Desktop\BrodaSoft\Visual Basic Proyectos\BACKUP's\VIDay\Version 7 Oficial\DataBase\0" & Mess & "\" & Diaa & ".txt"
Que segun los valores de los FOR, entraré al 1º dia del 1º mes:
C:\Users\Noel\Desktop\BrodaSoft\Visual Basic Proyectos\BACKUP's\VIDay\Version 7 Oficial\DataBase\1\1.txt"
E insertará la 1º linea de ese archivo.. y colocará en la fecha de ingreso: 0000-1-1
:)
Como hago para que ese 0000-1-1 pase a ser 0000-01-01 ??? porque aunque no lo crean, da error en el formato data al hacer el Select :O



Las carperas van del 01 al 012 (era así porque en su momento RIPWAY no me permitia nombre tan corto en carpeta :P)
Y los archivos, del 1 al 31

Cambiarle el nombre a las carpetas, es facil... le pongo del 01 al 12 si quiero.. pero que hago con los archivos???
Capaz tenga que jugar un poco con acumuladores.. y problema solucionado.. ya vere que ahgo..
#766
Perdon por armar tanto disturbio al pedo...
Tal vez lo habia hecho mal anteriormente.. tal vez ponia datatime....

Hice lo siguiente:
Cree la base con un Fecha DATE

y luego:
Código (vbnet) [Seleccionar]
Public Class Form1

   Private database As String = "C:\databaseprueba.db3"
   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Dim SQLconnect As New SQLite.SQLiteConnection()
       Dim SQLcommand As SQLite.SQLiteCommand
       SQLconnect.ConnectionString = "Data Source=" & database & ";"
       SQLconnect.Open()
       SQLcommand = SQLconnect.CreateCommand
       'Insert Record into Foo
       SQLcommand.CommandText = "INSERT INTO Prueba (Fecha) VALUES ('1991-02-22')"
       SQLcommand.ExecuteNonQuery()
       SQLcommand.Dispose()
       SQLconnect.Close()
   End Sub

   Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
       Dim SQLconnect2 As New SQLite.SQLiteConnection()
       Dim SQLcommand2 As SQLite.SQLiteCommand
       SQLconnect2.ConnectionString = "Data Source=" & database & ";"
       SQLconnect2.Open()
       SQLcommand2 = SQLconnect2.CreateCommand
       SQLcommand2.CommandText = "SELECT * FROM Prueba"
       Dim SQLreader2 As SQLite.SQLiteDataReader = SQLcommand2.ExecuteReader()
       While SQLreader2.Read()
           MsgBox(SQLreader2(0))
       End While
       SQLcommand2.Dispose()
       SQLconnect2.Close()
   End Sub
End Class



Y perfectamente me mostró la fecha así:
22/02/1991


Muchisimas gracias!!!!!


Entonces ahora volviendo al tema... me recomiendas hacer un INDICE en el nuevo campo FECHA, y realizar una busqueda concatenando el dia con el mes...
Tendré que ponerle a todas las fechas el año 0000.. porque son efemerides.. se supone que no importa en que año fueron.. (aunque se detalla en el texto)..

Gracias a todos che.. como siempre, un AGRADO MUY GRANDE el aprendender con ustedes!


PD.: Agrego algo:
para hacer una busqueda, hay que escribirla de esta manera: "SELECT * FROM Prueba WHERE Fecha='1990-01-21'", y no como muestra el resultado (21/01/1990)


Y pregunto algo mas..
Supongamos que hago un INDICE así.
CREATE INDEX indice ON Prueba(Fecha)
Luego al hacer un SELECT, no tengo que poner el nombre del indice no?? tengo que seguir usando el "Prueba" como "nombre de columna"... o me equivoco?
#767
Cita de: seba123neo en 27 Octubre 2009, 23:51 PM
Cita de: Skeletron en 27 Octubre 2009, 19:28 PM
Porque cuando le pongo formato DATE, y hago un select y me devuelve tambien la HORA.. (supongamos que inserte: 21-01-1990, me devuelve 21-01-1990 00:00:00)
Y no quiero que sea así...

eso es obvio, pero en cualquier motor, ya sea SQL Server o SQL Lite podes formatear  en el select para traer solo la fecha...o lo que quieras, solo es cuestion de investigar un poco, ¿no hay?...en 10 segundos encontre...

Date And Time Functions



Lee bien lo que puesto.. dije que no hay EN CASTELLANO.. no soy muy bueno con el ingles...


Y ahorita pruebo loq ue em dices Tifa..
Gracias!!!
#768
Gracias por tus comentarios..
#769
Tifa.. tengo los 18.500 entradas en un .txt.. son lineas de texto.. aun no las he pasado a la base de datos original..
Digamos que no es ningun tipo de problema modificar las columas de la base de datos, porque aun no la he creado.. y las entradas en -txt son solamente los valores del campo: "Texto" porque el campo DIA y MES los voy creando automaticamente.. (dando valores respecto el nombre del archivo..)

Así que.. como me recomendas hacer la tabla?
una columna FECHA? y la columna TEXTO?
FECHA deberia ser un VARCHAR?
Porque cuando le pongo formato DATE, y hago un select y me devuelve tambien la HORA.. (supongamos que inserte: 21-01-1990, me devuelve 21-01-1990 00:00:00)
Y no quiero que sea así... tambien estoy renegando mucho con el formato DATE pqroue no encuentro ejemplos o documentacion en español de como utilizarlo.. hay poco en la red de SQLite (y he buscado mucho... lo juro..)

Dime que harias tu..
#770
Java es MUY de programacion..
javascript no...
pero JAVA si..

pero en fin.. no quiero desvirtuar el tema..