4

使用 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 更改数据库?

4

1 回答 1

3

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

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

答案可耻地从这里复制

于 2017-05-07T11:24:35.240 回答