带反斜杠的SQL注入

时间:2015-02-08 16:03:16

标签: sql function code-injection backslash

这是示例代码:

include("db_connect.php");
//
function foo($string){
    $s_array = array("'", '"');
    $result = str_replace($s_array, "\\", $string);
    return $result;
}
//
$first_var = $_POST['first_var'];
$second_var = intval($_POST['second_var']);
//
$first_var_result = foo($first_var);
//
mysql_query("UPDATE some_table SET first_column='".$first_var_result."', second_column='".$second_var."'  WHERE id='id'");

当$ _POST [' first_var']等于'时, foo 功能用\替换' ,而mysql返回ERROR。 这不是我的代码。如果这段代码易受攻击(SQL注入),我对此感兴趣吗?感谢。

1 个答案:

答案 0 :(得分:0)

不是这一个,但你非常接近。如果first_var_result'"结尾,则替换\将在SQL查询中转义撇号,second_var将作为代码执行。如果你也可以使用foo来转义它,那么你可以使用SQL注入。

相关问题