如何验证或检测graph-ql java中的其他请求参数?

时间:2019-03-06 06:36:26

标签: graphql graphql-java

我们正在为GraphQL服务器使用Graph-QL Java。 我们的用例是验证其他查询参数并抛出错误

突变请求:

mutation{actionHandler(action:"status",entity:"integration",ids:[1],value:"Run"){result}} OR 1=1

架构类:

public class ActionHandler {
    private String entity;
    private String action;
    private String value;
    private List<Integer> ids;
    private List<String> result;
}

具有附加请求参数OR 1 = 1的查询。这些不是已定义架构的一部分。请注意,这是为了验证使用布尔条件的漏洞攻击。

上面的查询给出的结果与实际模式请求给出的结果完全相同

预期/实际模式请求:      变异{actionHandler(action:“ status”,entity:“ integration”,ids:[1],value:“ Run”){result}}

注入了附加的布尔条件(OR 1 = 1),因为参数不处理查询结果。当图ql本机解析器将变异查询转换为相应的架构对象时,似乎被忽略了。

我们如何使用GraphQL本机库本身来验证不属于模式请求的其他输入参数?

0 个答案:

没有答案