[Sqli-labs] Récords de avance 11 ~ 16

[Sqli-labs] Récords de avance 11 ~ 16


[Menos-11] Inyección posterior al método basada en '

1. Proceso de prueba

  • Intente usar la contraseña universal primero
1' or 1=1#
imagen-20210309165743460

imagen-20210309165843053

Como se muestra en la figura, ¡inició sesión correctamente!

  • Usa eructos para capturar paquetes

    Ingrese payload1' order by 5# Ver eco
    imagen-20210309170247337 imagen-20210309170316162

    Usando la dicotomía para finalmente medir el número de campos en la consulta principal como 2

    // Consulta información básica de la base de datos

    Ingrese la carga útil Información de eco
    imagen-20210309170835504 imagen-20210309170849629

    El resto de los pasos son los mismos que antes, incluido el nombre de la tabla, el nombre del campo y el valor del campo. No lo repetiré aquí.

2. Análisis del código fuente

<?php
//including the Mysql connect parameters.
include("../sql-connections/sql-connect.php");
error_reporting(0);

// take the variables
if(isset($_POST['uname']) && isset($_POST['passwd']))
{
    
    
	$uname=$_POST['uname'];
	$passwd=$_POST['passwd'];

	//logging the connection parameters to a file for analysis.
	$fp=fopen('result.txt','a');
	fwrite($fp,'User Name:'.$uname);
	fwrite($fp,'Password:'.$passwd."\n");
	fclose($fp);


	// connectivity     //对传入的参数没有做任何的处理,直接拼接到sql语句中,明显存在sql注入漏洞
	@$sql="SELECT username, password FROM users WHERE username='$uname' and password='$passwd' LIMIT 0,1";
	$result=mysql_query($sql);
	$row = mysql_fetch_array($result);

	if($row)
	{
    
    
  		//echo '<font color= "#0000ff">';	
  		
  		echo "<br>";
		echo '<font color= "#FFFF00" font size = 4>';
		//echo " You Have successfully logged in\n\n " ;
		echo '<font size="3" color="#0000ff">';	
		echo "<br>";
		echo 'Your Login name:'. $row['username'];
		echo "<br>";
		echo 'Your Password:' .$row['password'];
		echo "<br>";
		echo "</font>";
		echo "<br>";
		echo "<br>";
		echo '<img src="../images/flag.jpg"  />';	
		
  		echo "</font>";
  	}
	else  
	{
    
    
		echo '<font color= "#0000ff" font size="3">';
		//echo "Try again looser";
		print_r(mysql_error());
		echo "</br>";
		echo "</br>";
		echo "</br>";
		echo '<img src="../images/slap.jpg" />';	
		echo "</font>";  
	}
}

?>

[Menos-12] Inyección posterior al método basada en ")

Excepto por los diferentes métodos de cierre, no hay diferencia con el nivel anterior. Tanto la contraseña universal como la captura y reproducción de paquetes pueden ser exitosas.

imagen-20210309173505254

[Menos-13] Inyección posterior al método basada en ')

Excepto por los diferentes métodos de cierre, no hay diferencia con el nivel anterior. Tanto la contraseña universal como la captura y reproducción de paquetes pueden ser exitosas.

imagen-20210309173400177

[Menos-14] Basado en "post inyección"

Excepto por los diferentes métodos de cierre, no hay diferencia con el nivel anterior. Tanto la contraseña universal como la captura y reproducción de paquetes pueden ser exitosas.

Prueba de cierre Inicio de sesión con contraseña universal
imagen-20210309173918574 imagen-20210309174007807

[Menos-15] Inyección posterior basada en '(sin eco de error)

Además de los diferentes métodos de cierre, esta frecuencia cerrada cerró la información del eco de error, lo que dificulta un poco la determinación del método de cierre, pero se puede juzgar mediante intentos repetidos. Tanto la contraseña universal como la captura y reproducción pueden tener éxito.

imagen-20210309174611588

[Menos-16] Inyección posterior al método basada en ") (sin eco de error)

Además de los diferentes métodos de cierre, esta frecuencia cerrada cerró la información del eco de error, lo que dificulta un poco la determinación del método de cierre, pero se puede juzgar mediante intentos repetidos. Tanto la contraseña universal como la captura y reproducción pueden tener éxito.


para resumir:

De menos 11 a menos 16, puede iniciar sesión con una contraseña universal, pero el método de cierre es diferente [', "),'),"]

Obtenga la contraseña de administrador:

Hay ecos específicos de menos-11 a menos-12, y puede inyectar directamente la unión (lógica superior de terceros)

Hay informes de error de menos 13 a menos 16 y se puede utilizar la inyección de errores.

Solo hay dos formas de hacer eco de menos 15 a menos 16, y se puede usar la inyección a ciegas

Supongo que te gusta

Origin blog.csdn.net/qq_43665434/article/details/114595421
Recomendado
Clasificación