ics-07
Abra la página:
hay una fuente de visualización directa, abierta, un total de tres partes:
<?php
session_start();
if (!isset($_GET[page])) {
show_source(__FILE__);
die();
}
if (isset($_GET[page]) && $_GET[page] != 'index.php') {
include('flag.php');
}else {
header('Location: ?page=flag.php');
}
?>
<?php
if ($_SESSION['admin']) {
$con = $_POST['con'];
$file = $_POST['file'];
$filename = "backup/".$file;
if(preg_match('/.+\.ph(p[3457]?|t|tml)$/i', $filename)){
die("Bad file extension");
}else{
chdir('uploaded');
$f = fopen($filename, 'w');
fwrite($f, $con);
fclose($f);
}
}
?>
Aquí, la sesión debe ser el usuario administrador, y luego se cargará el archivo y se debe omitir la coincidencia regular.
<?php
if (isset($_GET[id]) && floatval($_GET[id]) !== '1' && substr($_GET[id], -1) === '9') {
include 'config.php';
$id = mysql_real_escape_string($_GET[id]);
$sql="select * from cetc007.user where id='$id'";
$result = mysql_query($sql);
$result = mysql_fetch_object($result);
} else {
$result = False;
die();
}
if(!$result)die("<br >something wae wrong ! <br>");
if($result){
echo "id: ".$result->id."</br>";
echo "name:".$result->user."</br>";
$_SESSION['admin'] = True;
}
?>
Hay una consulta de declaración SQL, pero se utiliza una comparación sólida.
Obtenga el valor de coma flotante de la variable, que no puede ser 1, y el último dígito de la variable es igual a 9.
Acabado de ideas:
Si la sesión es un usuario administrador, se puede resolver la consulta SQL.
Primero empalme el nombre del archivo en el directorio de respaldo, luego omita lo normal y haga coincidir el sufijo del último punto.
Utilice la carga de archivos para cargar un troyano de una frase.
Paso 1: Encuentra la sesión del usuario administrador.
carga útil:
Siempre que haya caracteres entre 1 y 9.
Paso 2: omita la regularidad.
/. Bypass, este método significa agregar un directorio vacío debajo del directorio de nombre de archivo, lo que equivale a no agregar.
El tercer paso: subir archivos.
Utilice POST para pasar parámetros:
Compruebe si la carga se ha realizado correctamente:
ok, conexión de hormiga espada.