【问题标题】:SQL Injection via Rest API Body通过 Rest API 主体进行 SQL 注入
【发布时间】:2020-04-19 21:25:51
【问题描述】:

我目前正在检查我的 Rest API 是否容易受到 SQL 注入的影响,但我对这个过程感到困惑。

我的 API 接受 JSON,然后将请求发送到 Mysql 数据库。我尝试发送 应该 导致 SQL 注入的字符串,例如' OR 'x'='x,但不是被执行,而是作为字符串发送到服务器,我想这意味着它们不是问题.

我现在正在使用 Postman 进行一些更密集的测试,但是如果我尝试将字符串添加到我的参数中,例如:

{
   "name": "test" OR 1 = 1 -- "
}

邮递员只会通知我 JSON 语法不正确,即使我发送它,我也会收到“无效 JSON”响应,甚至没有到达我的 Rest API。

这是好事还是坏事?我该如何实际测试我的 API?

【问题讨论】:

    标签: mysql sql security sql-injection


    【解决方案1】:

    邮递员是的,您的 JSON 已损坏。字段名或值中的双引号应转义,它是 JSON 中的特殊符号。

    您的查询应如下所示:

    {
       "name": "test\" OR 1 = 1 -- "
    }
    

    详细了解 JSON 中的特殊字符:https://www.json.org/json-en.html

    【讨论】:

    • 谢谢!永远不会想到这一点。
    猜你喜欢
    • 1970-01-01
    • 2010-10-26
    • 2019-12-02
    • 1970-01-01
    • 1970-01-01
    • 2016-04-03
    • 1970-01-01
    • 1970-01-01
    • 2017-05-20
    相关资源
    最近更新 更多