• <legend id='mFt9P'><style id='mFt9P'><dir id='mFt9P'><q id='mFt9P'></q></dir></style></legend>

      <tfoot id='mFt9P'></tfoot>

      <small id='mFt9P'></small><noframes id='mFt9P'>

        <i id='mFt9P'><tr id='mFt9P'><dt id='mFt9P'><q id='mFt9P'><span id='mFt9P'><b id='mFt9P'><form id='mFt9P'><ins id='mFt9P'></ins><ul id='mFt9P'></ul><sub id='mFt9P'></sub></form><legend id='mFt9P'></legend><bdo id='mFt9P'><pre id='mFt9P'><center id='mFt9P'></center></pre></bdo></b><th id='mFt9P'></th></span></q></dt></tr></i><div id='mFt9P'><tfoot id='mFt9P'></tfoot><dl id='mFt9P'><fieldset id='mFt9P'></fieldset></dl></div>

        • <bdo id='mFt9P'></bdo><ul id='mFt9P'></ul>

      1. MySQL 注入 - 使用 SELECT 查询来更新/删除

        MySQL Injection - Use SELECT query to UPDATE/DELETE(MySQL 注入 - 使用 SELECT 查询来更新/删除)
            • <small id='Tyw6l'></small><noframes id='Tyw6l'>

              1. <i id='Tyw6l'><tr id='Tyw6l'><dt id='Tyw6l'><q id='Tyw6l'><span id='Tyw6l'><b id='Tyw6l'><form id='Tyw6l'><ins id='Tyw6l'></ins><ul id='Tyw6l'></ul><sub id='Tyw6l'></sub></form><legend id='Tyw6l'></legend><bdo id='Tyw6l'><pre id='Tyw6l'><center id='Tyw6l'></center></pre></bdo></b><th id='Tyw6l'></th></span></q></dt></tr></i><div id='Tyw6l'><tfoot id='Tyw6l'></tfoot><dl id='Tyw6l'><fieldset id='Tyw6l'></fieldset></dl></div>
                  <tbody id='Tyw6l'></tbody>

                <legend id='Tyw6l'><style id='Tyw6l'><dir id='Tyw6l'><q id='Tyw6l'></q></dir></style></legend>
                  <bdo id='Tyw6l'></bdo><ul id='Tyw6l'></ul>

                  <tfoot id='Tyw6l'></tfoot>
                  本文介绍了MySQL 注入 - 使用 SELECT 查询来更新/删除的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我有一个简单的问题:假设有一个网站的查询如下:

                  I've got one easy question: say there is a site with a query like:

                  SELECT id, name, message FROM messages WHERE id = $_GET['q'].

                  有什么方法可以在数据库 (MySQL) 中更新/删除某些内容?到目前为止,我从未见过能够使用 SELECT 查询 删除/更新的注入,所以,它甚至可能吗?

                  Is there any way to get something updated/deleted in the database (MySQL)? Until now I've never seen an injection that was able to delete/update using a SELECT query, so, is it even possible?

                  推荐答案

                  如果你说你使用的mysql_query不支持多查询,你不能直接添加DELETE/UPDATE/INSERT,但在某些情况下可以修改数据.例如,假设您有以下功能

                  If you say you use mysql_query that doesn't support multiple queries, you cannot directly add DELETE/UPDATE/INSERT, but it's possible to modify data under some circumstances. For example, let's say you have the following function

                  DELIMITER //
                  CREATE DEFINER=`root`@`localhost` FUNCTION `testP`()
                  RETURNS int(11)
                  LANGUAGE SQL
                  NOT DETERMINISTIC
                  MODIFIES SQL DATA
                  SQL SECURITY DEFINER
                  COMMENT ''  
                  BEGIN      
                    DELETE FROM test2;
                    return 1;
                  END //
                  

                  现在你可以在 SELECT 中调用这个函数:
                  SELECT id, name, message FROM messages WHERE id = NULL OR testP()(id = NULL - 总是 NULL(FALSE),所以 testP() 总是被执行.

                  Now you can call this function in SELECT :
                  SELECT id, name, message FROM messages WHERE id = NULL OR testP() (id = NULL - always NULL(FALSE), so testP() always gets executed.

                  这篇关于MySQL 注入 - 使用 SELECT 查询来更新/删除的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  How to update a record using sequelize for node?(如何使用节点的 sequelize 更新记录?)
                  How to provide a mysql database connection in single file in nodejs(如何在 nodejs 中的单个文件中提供 mysql 数据库连接)
                  Looping Over Result Sets in MySQL(在 MySQL 中循环结果集)
                  How to get Top 5 records in SqLite?(如何获得 Sqlite 中的前 5 条记录?)
                  SQL Server SELECT where any column contains #39;x#39;(SQL Server SELECT,其中任何列包含“x)
                  Default row order in SELECT query - SQL Server 2008 vs SQL 2012(SELECT 查询中的默认行顺序 - SQL Server 2008 与 SQL 2012)
                • <tfoot id='RUsZJ'></tfoot>

                      <tbody id='RUsZJ'></tbody>
                      <i id='RUsZJ'><tr id='RUsZJ'><dt id='RUsZJ'><q id='RUsZJ'><span id='RUsZJ'><b id='RUsZJ'><form id='RUsZJ'><ins id='RUsZJ'></ins><ul id='RUsZJ'></ul><sub id='RUsZJ'></sub></form><legend id='RUsZJ'></legend><bdo id='RUsZJ'><pre id='RUsZJ'><center id='RUsZJ'></center></pre></bdo></b><th id='RUsZJ'></th></span></q></dt></tr></i><div id='RUsZJ'><tfoot id='RUsZJ'></tfoot><dl id='RUsZJ'><fieldset id='RUsZJ'></fieldset></dl></div>

                        <small id='RUsZJ'></small><noframes id='RUsZJ'>

                            <bdo id='RUsZJ'></bdo><ul id='RUsZJ'></ul>
                            <legend id='RUsZJ'><style id='RUsZJ'><dir id='RUsZJ'><q id='RUsZJ'></q></dir></style></legend>