SQL注入DROP TABLE不起作用

我需要使用PHP / MySQL演示SQL Inject。 我想在登录表单中注入一个DROP TABLE查询,但它永远不会工作。 (TRUNCATE表工作正常OTOH)。 在我输入'; drop table users; # '; drop table users; # '; drop table users; #作为字段输入; 查询结果是

SELECT * FROM `users` WHERE `email` = ''; DROP TABLE users; #' AND `password` LIKE '3232';

但它永远不会使用mysql_query()函数。 当我直接将此查询复制/粘贴到PHPmyAdmin中时,它可以很好地工作,并且表被删除。 可能是什么问题?


这在php / MySQL中是不可能的,因为php不支持堆栈查询。 你注入分号(;)的那一刻就会失败。

虽然你可以在php-mysql应用程序中使用sql注入来做很多其他更有创意的攻击。

  • 枚举所有数据库
  • 表名称和列名称
  • 存储在表中的值
  • 上传一个php后门
  • 检出SQL-Map。


    默认情况下不启用MULTIPLE SQL执行。

    所以SQL注入类似;drop table将不起作用。 请启用多个sql执行。 如果你使用的是mysqli,可以像http://php.net/manual/en/mysqli.quickstart.multiple-statement.php那样启用它。

    有用的SQL注入是:

    SELECT COUNT(*) FROM users
    WHERE user_id = '$user_id' AND passwd = '$passwd'
    

    并且用户将passwd插入到' || '1' = '1 ' || '1' = '1

    链接地址: http://www.djcxy.com/p/93981.html

    上一篇: SQL Injection DROP TABLE not working

    下一篇: How to secure MySQL from SQL Injection?