Hola s00rk, aplique la función ! pero no me ha funcionado, las inyecciones siguen teniendo efecto.
Aquí puse la función cuando recibe los $_POST[] :
Código PHP:
Ver original<?php
include_once('../modelo/Publicar.php');
if(isset($_SESSION['Random']) == isset($_POST['math']) && isset($_POST['idCiudad']) && isset($_POST['idCategoria'])){
/*function seguridad($value){
return mysql_real_escape_string($value);
}*/
/* function escape($str){
$search=array("\\","\0","\n","\r","\x1a","'",'"');
$replace=array("\\\\","\\0","\\n","\\r","\Z","\'",'\"');
return str_replace($search,$replace,$str);
}*/
function clean($value)
{
$check = $value;
$value = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables|#|\*|--|\\\\)/"),"",$value);
if( $check != $value )
{
$logf = fopen("logs/injection.txt", "a+"); fprintf($logf, "Fecha: %s IP: %s Valor: %s, Corregido: %s\r\n", date("d-m-Y h:i:s A"), $_SERVER['REMOTE_ADDR'], $check, $value ); alertbox("Que intentas hacer? (: , Mejor mira esto xD", "http://www.google.com/");
}
return( $value );
}
function alertbox($text, $url)
{
echo "<body bgcolor='#000000'><script>alert('$text');document.location = '$url'</script></body>";
die("Javascript disabled"); }
}
$idCiudad = strip_tags(clean
($_POST['idCiudad'])); $idComuna = strip_tags(clean
($_POST['idComuna'])); $idCategoria = strip_tags(clean
($_POST['idCategoria'])); $idSubcategoria = strip_tags(clean
($_POST['idSubcategoria']));
$telefono = strip_tags(clean
($_POST['telefono'])); $contenido = clean($_POST['contenido']);
$random = rand(123456789,987654321); $archivo = $_FILES['file']['tmp_name'];
Al volver a inicar el programita (acunetix)
Luego :
Se aprecia que el metodo sql_regcase() dice que esta obsoleta :S
http://php.net/manual/es/function.sql-regcase.php
Bueno y al final con presionar Start y hacer las inyecciones, voy a la página y :
------------
Muestro mi método donde inserto a MySQL, el cual también he colocado la función: mysql_real_escape_string()
Código PHP:
Ver original// Método que hace inserción de una publicacion.
public function setPublicaciones($idCiudad,$idComuna,$idCategoria,$idSubcategoria,$nombre,$email,$telefono,$titulo,$contenido,$precio,$tipo,$tiempo,$imagen,$random){
try{
//Instanciamos la Clase Conexion para MySQL.
$dbConectar = new Conexion;
$dbCon = $dbConectar->conectarClasico();
if($idComuna == 0) $idComuna = 'NULL';
$this->SQL = "INSERT INTO `publicaciones` VALUES(
'',
$idComuna,
)";
//Cerramos conexion.
}catch(Exception $e){
//Cerramos conexion.
return $e;
}
}
Las Inyecciones SQL aún afectan a mi página :(
Ayuda!!!!! SOS