影刀HTTP请求——操作超时问题(有关”x-secsdk-csrf-token“参数校验和CSRF攻击)

        在这几天,一个稳定的稳定的应用接口请求报了操作超时,如图:

打开应用查找这条报错指令,发现是HTTP请求报的错,报的这个超时我有点懵,在这条指令的选项里有个设置超时时间的,但是这个如果请求超时,应该报的是《The request was canceled due to the configured HttpClient.Timeout of 30 seconds elapsing》而不是“操作超时”,而且第一次操作超时后,过一段时间,再次发请求,就可正常响应返回了

        所以,我怀疑是我们发请求的问题,不是关于请求超时问题,刚开始,我以为是请求参数的问题,因为这个接口的请求参数是有加密参数的,有可能是平台更新了算法,我们还在使用旧的算法,导致不稳定,会出现操作超时,后来就更新了加密算法。

        可是过一段时间后,还是会出现这个问题,怎么拼接参数都不行,还是不稳定,偶尔会出现这个问题,怎的是百思不得其解,抓耳挠腮啊,算了,还是抓原接口,使用postman调试仔,细查看一下有什么不同。

        果然,被我发现了不同的地方,原接口的headers是有“x-secsdk-csrf-token”这个协议头的,而在影刀请求的headers里是没有这个协议头的:

那么,有可能就是这个问题了,为什么,总结:
1、如果是我们请求超时,会报:《The request was canceled due to the configured HttpClient.Timeout of 30 seconds elapsing》,而不是操作失败。
2、加密算法已更新,请求其他接口是正常的。
3、参数拼接和cookie是完全正常的。
4、如果2和3错误,会一直报错,不可能一会成功一会不成功。

所以根据这个协议头NAME和我们知道的情况来判断,可能是网站检测到我们的请求,有可能是CSRF攻击,所以返回一个异常给我们。说到这个,也提一嘴,在做HTTP请求时,不要忽略了协议头重定向referer这个参数,很多友友都会觉得这个参数意义不大,但是说到CSRF攻击那就有意义了,有关CSRF攻击可以查看这篇博文,讲的非常细:https://blog.youkuaiyun.com/qq_43378996/article/details/123910614?spm=1001.2014.3001.5506

        刷新网页发现,发现这个参数是动态的,唉,那就慢慢找咯,又得掉几根头发咯。最后,皇天不负有心人,也是找到了,封装成一个通用的工具指令:

通过几天的测试,发现没有任何接口报操作超时的异常了,哈哈哈哈哈哈哈哈,开心的一批。后面跟同事聊才知道,原来是他当时在做这个接口时,以为这个参数没有特殊的校验,他就给删了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林丑丑@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值