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