mysql - SQLMAP - 如果在 MYSQL 服务器上无法进行堆叠查询,如何插入数据库?

标签 mysql sql sql-insert stacked sqlmap

使用 SQLMAP 提取数据库表和列可以正常工作,但是当我尝试执行 INSERT 语句时,出现以下错误:

询问:

sqlmap -u "http://www.example.com/details.php?item_id=327" -D main_db -T orders --columns --sql-query \ "INSERT INTO orders (order) VALUES ('test')"


Table:orders

+---------+----------+
| Column  | Type     |
+---------+----------+
| order   | longtext |
| data    | date     |
| timp    | time     |
+---------+----------+

[22:47:50] [WARNING] execution of custom SQL queries is only available when stacked queries are supported
 INSERT INTO orders (order) VALUES ('test'):    None
[22:47:50] [INFO] fetched data logged to text files under '/root/.sqlmap/output/www.example.com'

是否有任何解决方法可以在 MYSQL 服务器上使用 SQLMAP 更改数据库?

最佳答案

大多数数据库不允许您仅使用 SQL 注入(inject)插入数据(当然,除非您已经在插入查询中,即使那样您通常也无法控制表名)。您不能简单地堆叠查询,这仅在 Microsoft SQL Server、PostgreSQL 和漫画书中允许。您可以使用子选择或联合选择来访问另一个表中的数据,而 SQLMap 在幕后执行此操作。

SQLMap 的真正优势在于数据泄露。如果你想要更复杂的东西,比如给你一个 shell 的多阶段攻击,那么你需要编写一个漏洞利用程序。脱掉训练轮,做个男人(或女人)。

答案可耻地复制自 here

关于mysql - SQLMAP - 如果在 MYSQL 服务器上无法进行堆叠查询,如何插入数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35452118/

相关文章:

c# - 将字符串转换为有效的 MS SQL 日期时间以用于在数据库中进行搜索

python - COPY 是如何工作的,为什么它比 INSERT 快得多?

php - 即使我输入了正确的凭据,错误仍然是用户名或密码不正确

MySQL 在 --batch 模式下处理空值

mysql - SQL: COUNT() 分组结果

mysql - 动态复选框 - 保存到数据库

php - 我的数据不会保存到 SQL

php - 获取用户排名(mySQL)

mysql - 创建查询以使用外键将数据插入 MySQL

sql - 向 postgresql 插入唯一值