laravel如何写出sql注入的语句?

框架使用的laravel5.8
根据网上的说法,使用rawSQL有注入风险
而进行操作后,发现无法实现

    $sql = "3;delete from xxx where val='xxxx'";
    DB::select("select * from xxx where id=".$sql);

直接报错,无法执行。

阅读 2.3k
1 个回答

比如

// 你原本打算仅接收name,结果用户输入了下面这些
$param= 'username from users UNION select name';
DB::table('test')->select(DB::raw($param))->get();
// 上面代码转成了sql select username from users UNION select name from test 

这样用户就成功拿到了,用户表的useranme

用户把username换成password,再执行一遍,就拿到了密码。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题