在Insert语句中使用子查询Select的SQL注入

在Insert语句中使用子查询Select的SQL注入,sql,sql-injection,sql-insert,sql-subselect,Sql,Sql Injection,Sql Insert,Sql Subselect,我正在学习SQL注入,遇到了如下SQL查询 SQL查询如下所示: INSERT INTO documents (name, filename, mimetype, sessid) VALUES ("name", "filename", "mimetype", "sessid"); 我想做一些类似的事情: INSERT INTO documents (name, filename, mimetype, sessid) VALUES ((SELECT * FROM level8.documents

我正在学习SQL注入,遇到了如下SQL查询

SQL查询如下所示:

INSERT INTO documents (name, filename, mimetype, sessid) VALUES ("name", "filename", "mimetype", "sessid");
我想做一些类似的事情:

INSERT INTO documents (name, filename, mimetype, sessid) VALUES ((SELECT * FROM level8.documents), "filename", "mimetype", "sessid");
甚至

INSERT INTO documents (name, filename, mimetype, sessid) VALUES ((SELECT * FROM level8.documents), "filename", "mimetype", "sessid");

当我运行这个时,我会得到
错误代码:1241。
当我运行这个时。我做错了什么?

您的select语句返回的列超过1列

试一试

在此处阅读有关子查询错误的更多信息


您的select语句返回超过1列

试一试

在此处阅读有关子查询错误的更多信息



我肯定也有消息。@usr什么?我不明白。每一个错误都应该伴随着一条消息——sql注入相关的部分在哪里?@geomagas可能不相关。您希望从表中选择*并将其插入单个字段,这似乎有些奇怪。这更多的是为了上下文。我肯定也有一个信息。@usr什么?我不明白。每一个错误都应该伴随着一条消息——sql注入相关的部分在哪里?@geomagas可能不相关。您希望从表中选择*并将其插入单个字段,这似乎有些奇怪。这更多是为了上下文。我得到了一个错误1093(使用了ER_UPDATE_TABLE_),因为我正在插入一个表,我也从中选择了所有内容。然后,可能可以使用一个临时表来创建-从文档中插入所有内容-运行查询-删除临时表如果我想删除
SELECT@@VERSION
而不是“name”呢?您不能删除选择@@Version?这不是一张实体桌子。或者您的意思是希望将SQL版本写为name?是的,只是将其写为name。抱歉,我正在重载术语drop。我得到一个错误1093(使用了ER\U UPDATE\U TABLE\U)因为我要插入到一个表中,所以我也要从中选择所有内容。然后,也许可以使用您创建的临时表-插入所有文档-运行查询-删除临时表如果我想删除
SELECT@@VERSION
而不是“name”?您不能删除SELECT@@VERSION吗?这不是一张实体桌子。或者您的意思是希望将SQL版本写为name?是的,只是将其写为name。对不起,我把drop这个词写得太多了。
INSERT INTO documents (name, filename, mimetype, sessid) 
VALUES ((SELECT GROUP_CONCAT(names of all your columns) FROM 
level8.documents), "filename", "mimetype", "sessid");