Web 服务 URL 中的 SQL 注入作为参数值
Posted
技术标签:
【中文标题】Web 服务 URL 中的 SQL 注入作为参数值【英文标题】:SQL Injection in a Web Service URL as a Parameter Value 【发布时间】:2015-05-28 11:56:49 【问题描述】:显然,通过消息的负载进行 SQL 注入是一种非常常见的做法,因此涵盖这一点始终是关键(我的代码中已经有)。但是我只是想知道通过 URL 进行 SQL 注入的可能性有多大,以及这是否可以作为 SQL 注入的实际方法。
我将提供一个示例 URL 以更好地详细说明我的问题。如果我有这样一个 URL,其中包含用于注入的 SQL 语句作为其值包含在参数中(请注意,“SELECT”可以是任何 SQL 查询):
https://testurl.com:1234/webservicename?parameter=SELECT
我想知道这是否是有效的方式,这是否真的适用于黑客尝试注入所需 Web 服务的后端,如果是这样,什么是最好的覆盖方式为此?
【问题讨论】:
避免 SQL 注入的最简单方法是 use parameterized stored procedures 并且不要连接或信任来自用户的任何输入。 【参考方案1】:这与 POST 数据相同。如果它在 php 中,您将在 $_GET['parameter'] 中获得您的值。之后,您可以在构建 SQL 请求之前保护该值。通常,您还需要在字符串值结束时加上引号并编写您自己的请求。 GET 方法并不比 POST 数据安全,永远不要相信来自客户端的数据。这完全取决于您如何保护这些数据。如果它的安全性很好,被黑客入侵就不会破坏任何东西(通过这种方式),如果它不安全或根本不安全,黑客可以注入他的请求。
【讨论】:
以上是关于Web 服务 URL 中的 SQL 注入作为参数值的主要内容,如果未能解决你的问题,请参考以下文章