炽烬的、伊卡洛斯 2015-10-27 07:28 采纳率: 100%
浏览 1709
已采纳

关于PHP-MYSQL注入攻击实例

请问能实例一个基于PHP MYSQL类的注入攻击吗?

PHP VERSION 5.6.3

在尝试进行模拟注入攻击时失败。打印了SQL语句,直接复制脚本到Mysql Workbench是可以成功DROP掉数据库的,但是在本地运行的时候始终报语法错误,求问错误在哪里,如何实例化这样一次的攻击。

 error_reporting(E_ALL^E_NOTICE^E_WARNING^E_DEPRECATED);
$data = $_GET['sql'];
$data2 = mysql_real_escape_string($data);
$sql = "INSERT INTO test (test) VALUES ('$data');";
$sqlx = "INSERT INTO test (test) VALUES ('$data2');";
echo $sql.'<br/>';
echo $sqlx.'<br/>';
mysql_query($sql);
echo  mysql_error();

上面链接部分略,
访问的URL为 test.php?sql=values%27);%20DROP%20DATABASE%20test;%20--%20

输出为
INSERT INTO test (test) VALUES ('values'); DROP DATABASE test; -- ');
INSERT INTO test (test) VALUES ('values\'); DROP DATABASE test; -- ');
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DROP DATABASE test; -- ')' at line 1

第二行做过防注入处理的是可以执行的,但是一个没做处理,依然报错了

  • 写回答

1条回答 默认 最新

  • yue1123 2015-10-27 08:13
    关注

    mysql_query 是不支持多条SQL语句的,所以中间有分号的情况下,被认为是语法错误。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器