使用 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 注入插入数据(当然,除非你已经在插入查询中,即使这样你通常也无法控制表名(。你不能简单地堆叠查询,这只允许在Microsoft SQL Server,PostgreSQL和漫画书中。您可以使用子选择或联合选择来访问另一个表中的数据,SQLMap 正在后台执行此操作。
SQLMap的真正优势在于数据泄露。如果你想要更复杂的东西,比如给你一个shell的多阶段攻击,那么你需要编写一个漏洞利用。摘下训练轮,成为男人(或女人(。
回答可耻地从这里复制