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

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: 1 ... 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 [399] 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 ... 456
3981  Seguridad Informática / Nivel Web / Re: como evitar la inyeccion sql en: 20 Abril 2009, 01:02 am
hola!

tengo este codigo:
Código:
if (isset($_GET['ID'])) {
  $colname_Recordset1 = (get_magic_quotes_gpc()) ? $_GET['ID'] : addslashes($_GET['ID']);
}
mysql_select_db($database_prueba, $prueba);
$query_Recordset1 = sprintf("SELECT * FROM noticias WHERE ID = %s", $colname_Recordset1);

y me gustaria como evitar la inyeccion sql.

salu2

Eso tiene sql inyección ya que el addslashes solo agrega slashses a carácteres que puedan influir en la query, en este caso reemplazaría las comillas dobles y simples pero en el ejemplo que tu pusiste no se necesita una comilla para lanzar la sql inyección.


Código
  1. $_GET['ID'] = '-1 union select 1,concat(shell_en_dword),3 into outfile test.php --';
  2.  
  3. if (isset($_GET['ID'])) {
  4.  $colname_Recordset1 = (get_magic_quotes_gpc()) ? $_GET['ID'] : addslashes($_GET['ID']);
  5. }
  6. mysql_select_db($database_prueba, $prueba);
  7. $query_Recordset1 = sprintf("SELECT * FROM noticias WHERE ID = %s", $colname_Recordset1);

Para poder evitar esto necesitas encerrar el valor entre comillas y de todas formas tendrías problemas con los slashses asi que simplemente puedes utilizar mysql_real_escape_string:
Código
  1. if(isset($_GET['ID'])) $colname_Recordset1 = $_GET['ID']; else die('No hay valor');
  2.  
  3. mysql_select_db($database_prueba, $prueba);
  4. $query_Recordset1 = sprintf("SELECT * FROM noticias WHERE ID = '%s'", mysql_real_escape_string($colname_Recordset1));

O también:
Código
  1. if(isset($_GET['ID'])) $colname_Recordset1 = $_GET['ID']; else die('No hay valor');
  2.  
  3. mysql_select_db($database_prueba, $prueba);
  4. $query_Recordset1 = 'SELECT * FROM noticias WHERE ID = \''.mysql_real_escape_string($colname_Recordset1.'\'';

Ahra si ID es un valor numérico puedes hacer:
Código
  1. if(isset($_GET['ID'])) $colname_Recordset1 = $_GET['ID']; else die('No hay valor');
  2.  
  3. mysql_select_db($database_prueba, $prueba);
  4. $query_Recordset1 = 'SELECT * FROM noticias WHERE ID = '.(int)$colname_Recordset1;

O también:

Código
  1. if(isset($_GET['ID'])) $colname_Recordset1 = $_GET['ID']; else die('No hay valor');
  2.  
  3. mysql_select_db($database_prueba, $prueba);
  4. $query_Recordset1 = 'SELECT * FROM noticias WHERE ID = '.(int)preg_replace('|[^0-9.]|i', '', $colname_Recordset1);
De esta forma tomará carácteres válidos y no devolverá error si realmente hay un valor numérico.
3982  Programación / Programación Visual Basic / El Label no se sobrepone al UserControl en: 19 Abril 2009, 08:13 am
Hola, tengo un pequeño problema,
_hize un control de diseño y este no se sobrepone a un label asi que intenté crear otro control con un label nuevo que se comportara exatamente igual pero quería hacerlo transparente para que pudiera verse como un label cualquiera, al hacerlo solo pude poner transparente el control pero no el label o si no desaparece y si pongo transparente el label y no el control se ve normal... alguien sabe como hacer que todo se vea transparente menos las letras?

También lo intenté con una caja de texto ya que este tiene un manejador de objeto asociado pero el Getwindowa no me modifica la transparencia, debe ser porque no se interpreta en los controles de usuario o que se yo.

alguien puede darme una mano?

La idea principal era crear enlaces estilo web donde uno pueda hacer click en el label para hacer ciertas acciones ya que es un menú lateral y no se vería muy bién con un botón.

Gracias.
3983  Seguridad Informática / Abril negro / Re: [Abril Negro 2009] Concurso de desarrollo de malware en: 17 Abril 2009, 15:47 pm
No se vale.. mad se va a llevar el primer segundo y tercer lugar  :xD
Esto es un monopolio  :¬¬
3984  Seguridad Informática / Abril negro / Re: [Abril Negro 2009] Concurso de desarrollo de malware en: 17 Abril 2009, 06:27 am
donde se hace la presentacion?

Te haces un nuevo tema y le mandas la url a E0N por privado para que te lo agrege.
3985  Seguridad Informática / Abril negro / Re: Ghost SMF (Version 1.2) by WHK (Proyecto solo para "Abril Negro") en: 14 Abril 2009, 07:33 am
jaja si porque ahi solo posteé como dos veces pero el de acá tiene mas de 20 incluyendo carácteres especiales.
En el archivo que subí de muestra no le incluí mi verdadero pass, obio.
3986  Seguridad Informática / Abril negro / Re: Ghost SMF (Version 1.2) by WHK (Proyecto solo para "Abril Negro") en: 14 Abril 2009, 05:01 am
Jugoso.. ahora si que me entraron ganas de ver el source, la parte de inicio de sesion llevaba tiempo planeando usarla para un juguete :rolleyes:
WHK, tienes que enseñarme a hacer eso del login, escríbeme por el msn cuando estés en linea.

Esto lel login lo hize en un proyecto aparte, cuando lo terminé solo copié las funciones al proyecto del ghost.

Código
  1. Private Sub Command1_Click()
  2. Winsock.RemoteHost = separar_host(Text3.Text, "host")
  3. Winsock.RemotePort = "80"
  4. Winsock.Connect
  5. Estado.Caption = "Conectando ..."
  6. End Sub
  7.  
  8. Private Sub Command2_Click()
  9. End
  10. End Sub
  11.  
  12. Public Function separar_host(Ruta As String, Tipo As String) As String
  13. Dim Datos() As String
  14. If Not Left$(Ruta, 7) = "http://" Then
  15. Ruta = "http://" & Ruta
  16. End If
  17. If Tipo = "host" Then
  18. Datos = Split(Ruta, "/")
  19. separar_host = Datos(2)
  20. ElseIf Tipo = "ruta" Then
  21. Datos = Split(Ruta, separar_host(Ruta, "host"))
  22. separar_host = Datos(1)
  23. End If
  24. End Function
  25.  
  26. Private Sub Winsock_Connect()
  27. Dim Post_Data As String
  28. Estado.Caption = "Enviando datos ..."
  29. Post_Data = "user=" & URLEncode(Text1.Text) & "&passwrd=" & URLEncode(Text2.Text)
  30.  
  31. Winsock.SendData _
  32. "POST " & separar_host(Text3.Text, "ruta") & "?action=login2 HTTP/1.1" & vbCrLf & _
  33. "Host: " & separar_host(Text3.Text, "host") & vbCrLf & _
  34. "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8 (.NET CLR 3.5.30729)" & vbCrLf & _
  35. "Connection: Close" & vbCrLf & _
  36. "Content-Type: application/x-www-form-urlencoded" & vbCrLf & _
  37. "Content-Length: " & Len(Post_Data) & vbCrLf & vbCrLf & _
  38. Post_Data & vbCrLf
  39. End Sub
  40.  
  41. Private Sub Winsock_DataArrival(ByVal bytesTotal As Long)
  42. Dim Paquetes As String
  43. Estado.Caption = "Obteniendo paquetes ..."
  44. Winsock.GetData Paquetes
  45. If Not Eregi("302 Found", Paquetes) Then Estado.Caption = "Error de datos"
  46.  
  47. Text4.Text = Obtener_Cookies(Paquetes)
  48. DoEvents
  49. Winsock.Close
  50. Estado.Caption = "Finalizado"
  51. End Sub
  52.  
  53. Private Function Obtener_Cookies(Buffer As String) As String
  54. Rebuscar:
  55. Cookie = InStr(1, Buffer, "Set-Cookie: ")
  56. If Cookie = 0 Then
  57. Exit Function
  58. Else
  59. Buffer = Mid$(Buffer, Cookie, Len(Buffer))
  60. Cookie = InStr(1, Buffer, ";")
  61. Temporal = Mid$(Buffer, 1, Cookie)
  62. Buffer = Mid$(Buffer, Cookie, Len(Buffer))
  63. Temporal = Replace(Temporal, "Set-Cookie: ", "")
  64. Obtener_Cookies = Obtener_Cookies & " " & Temporal
  65. Pause "0.01"
  66. GoTo Rebuscar
  67. End If
  68. End Function
  69.  
  70. Public Function Eregi(Condicion As String, Buffer As String) As Boolean
  71. If InStr(1, Buffer, Condicion) > 0 Then Eregi = True Else Eregi = False
  72. End Function
  73.  
  74.  
  75. Public Function URLEncode(sRawURL As String) As String
  76.  
  77.    On Error GoTo Catch
  78.    Dim iLoop As Integer
  79.    Dim sRtn As String
  80.    Dim sTmp As String
  81.    Const sValidChars = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz:/.?=_-$(){}~&"
  82.  
  83.  
  84.    If Len(sRawURL) > 0 Then
  85.        ' Loop through each char
  86.  
  87.  
  88.        For iLoop = 1 To Len(sRawURL)
  89.            sTmp = Mid(sRawURL, iLoop, 1)
  90.  
  91.  
  92.            If InStr(1, sValidChars, sTmp, vbBinaryCompare) = 0 Then
  93.                ' If not ValidChar, convert to HEX and p
  94.                '     refix with %
  95.                sTmp = Hex(Asc(sTmp))
  96.  
  97.                If sTmp = "20" Then
  98.                    sTmp = "+"
  99.                ElseIf Len(sTmp) = 1 Then
  100.                    sTmp = "%0" & sTmp
  101.                Else
  102.                    sTmp = "%" & sTmp
  103.                End If
  104.  
  105.            End If
  106.  
  107.            sRtn = sRtn & sTmp
  108.        Next iLoop
  109.  
  110.        URLEncode = sRtn
  111.    End If
  112.  
  113. Finally:
  114.    Exit Function
  115. Catch:
  116.    URLEncode = ""
  117.    Resume Finally
  118. End Function
  119.  
  120. Public Sub Pause(interval)
  121. On Error Resume Next
  122. Dim atime
  123. atime = Timer
  124. Do While Timer - atime < Val(interval)
  125.  DoEvents
  126. Loop
  127. End Sub

Les dejo el ejemplo ejecutable y su fuente acá.



Si tienen alguna duda pueden preguntar en el subforo de visual basic.
3987  Seguridad Informática / Abril negro / Re: Ghost SMF (Version 1.2) by WHK (Proyecto solo para "Abril Negro") en: 13 Abril 2009, 18:31 pm
Hola, hize algunos cambios en el programa ya que habian algunos foros que impedian el ingreso y solo dejaban ver los temas a los usuarios registrados asi que....



 :D Ahora le di la opción de ingresar sesión a los fantasmas jajaja.
Las instrucciones siguen en el primer post al igual que la descarga.

Cualquer duda, consulta, reclamo no duden en decirlo.

PD: dejé un video también en el primer post.
3988  Programación / PHP / Re: Duda con simplexml_load_file en: 13 Abril 2009, 08:47 am
Bueno olvidenlo  :P no lo arreglé asi que procesé los datos de forma manual con explode y ahi si funciona bién.

De todas formas quedé intrigado xD
3989  Programación / PHP / Duda con simplexml_load_file en: 13 Abril 2009, 07:33 am
Hola, tengo una pequeña duda..

Estoy cargando un archivo XML desde simplexml_load_file() pero este no me debuelve los valores en blanco y si necesito que los considere para poder crear las tablas, es como si fuera un excel donde hay columnas vacías que pueden ser datos extras pero no las toma y al procesarlo me indica como si la siguiente columna lo reemplazara.

Se que hay un valor "LIBXML_NOBLANKS" que es "Remove blank nodes" o sea que no los muestre pero yo quiero todo lo contrario.. que si los muestre.

Alguien tiene alguna idea?
3990  Seguridad Informática / Nivel Web / Re: [?]Bypass de htmlentities()[/?] en: 12 Abril 2009, 22:30 pm
No, no se puede pero por eso depende mucho del sitio web porque si está dentro de un input o un código javascript puedes hacer un xss igual sin esos carácteres.

https://foro.elhacker.net/nivel_web/temas_mas_destacados_fallas_y_explotaciones_a_nivel_web_actualizado_10409-t244090.0.html
Puedes leer los temas que tengan relación con XSS para que tengas mas claro como hacerlo.
Páginas: 1 ... 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 [399] 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 ... 456
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines