mysql - 是否可以将 SQL 注入(inject)到此查询中?

标签 mysql sql code-injection

所以基本上,在我的 PHPMYADMIN 中,我正在玩弄 SQL 注入(inject),以便我最终可以成为渗透测试员

SELECT *
FROM `ip` as ipstr
WHERE 'id' = $USERINPUT_HERE
ORDER BY
ipstr.id ASC
LIMIT 0 , 30

我遇到了困难,因为当我尝试将它注入(inject)我的 phpmyadmin 时,它说不再定义“ipstr”。

我知道如果它是一个子查询,我就能做到这一点。但它不是子查询,那么我怎样才能做出像下面这样的工作呢?

SELECT *
FROM `ip` as ipstr
WHERE 'id' = $USERINPUT_HERE
UNION ALL SELECT 1,2,3,4,5
ORDER BY
ipstr.id ASC
LIMIT 0 , 30

我认识的人说可以进行这种注入(inject),但如果不重写整个查询并使用子查询,我无法弄清楚如何进行。谢谢。

最佳答案

让我们看看。如果字符串包含 '';删除ip; select * from (select 1 as id) ipstr,那么代码可能会做一些你意想不到的事情。 (老实说,整个语句可能会被拒绝,因为它是多个语句,但这是一个例子。)

SQL注入(inject)的解决方案是使用参数化查询。这不是一个硬概念。这是一个好习惯。你应该养成这个习惯。

关于mysql - 是否可以将 SQL 注入(inject)到此查询中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18477428/

相关文章:

c++ - LLVM Clang C++ 代码注入(inject)

php - 这个字符串替换足以抵御 SQL 注入(inject)攻击吗?

php - Codeigniter - 单个 mysql 列中可能存在多维数组数据存储吗?

php - 墙贴和评论

mysql - 如何在 mysql 中只允许字母数字值

c# - WPF AvalonEdit SQL xhsd 请求

mysql - 汇总mysql中的许多表

java - struts 2.5.13 表达式语言注入(inject)漏洞

mysql - 使用 mysql_fdw 或将表从 Postgres 连接到 MySQL

php - 更好地重写 3 个 mySQL 查询序列?