SQL 通过休息注射 API Body
SQL Injection via Rest API Body
我目前正在检查我的 Rest API 是否容易受到 SQL 注入攻击,但我对这个过程感到困惑。
我的 API 接受 JSON,然后将请求发送到 Mysql 数据库。我试过发送 应该 导致 SQL 注入的字符串,比如 ' OR 'x'='x
,但它们没有被执行,而是作为字符串被发送到服务器,这我想这意味着它们不是问题。
我现在正在使用 Postman 进行更深入的测试,但是如果我尝试向我的参数添加字符串,例如:
{
"name": "test" OR 1 = 1 -- "
}
邮递员只会告诉我 JSON 语法不正确,即使我发送了它,我也会收到 "Invalid JSON" 响应,甚至没有到达我的休息 API .
这是好事还是坏事?我该如何实际测试我的 API?
邮递员对,您的 JSON 已损坏。你应该在字段名称或值中转义双引号,它是 JSON.
中的特殊符号
您的查询应如下所示:
{
"name": "test\" OR 1 = 1 -- "
}
阅读 JSON 中有关特殊字符的更多信息:https://www.json.org/json-en.html
我目前正在检查我的 Rest API 是否容易受到 SQL 注入攻击,但我对这个过程感到困惑。
我的 API 接受 JSON,然后将请求发送到 Mysql 数据库。我试过发送 应该 导致 SQL 注入的字符串,比如 ' OR 'x'='x
,但它们没有被执行,而是作为字符串被发送到服务器,这我想这意味着它们不是问题。
我现在正在使用 Postman 进行更深入的测试,但是如果我尝试向我的参数添加字符串,例如:
{
"name": "test" OR 1 = 1 -- "
}
邮递员只会告诉我 JSON 语法不正确,即使我发送了它,我也会收到 "Invalid JSON" 响应,甚至没有到达我的休息 API .
这是好事还是坏事?我该如何实际测试我的 API?
邮递员对,您的 JSON 已损坏。你应该在字段名称或值中转义双引号,它是 JSON.
中的特殊符号您的查询应如下所示:
{
"name": "test\" OR 1 = 1 -- "
}
阅读 JSON 中有关特殊字符的更多信息:https://www.json.org/json-en.html