使用 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/