来自:一言
var xhr = new XMLHttpRequest(); xhr.open('get', 'https://v1.hitokoto.cn/'); xhr.onreadystatechange = function () { if (xhr.readyState === 4) { var data = JSON.parse(xhr.responseText); var hitokoto = document.getElementById('hitokoto'); hitokoto.innerText = data.hitokoto; } } xhr.send();
最近在学c#,后端用go写接口,想到一个问题,如何抵挡如burp等工具的重放请求包,网上思路也挺多,在这里记录下自己的方法.[aru_21]
思路流程是这样的。采用验证签名的方法,前端和后端约定一个签名,先进行签名匹配,如果签名正确,然后再进行数据库搜索,如果数据库中存在这个签名,那就表示这个包已经执行过了,就直接丢掉这个包,在一定的程度上能够抵挡重放攻击.
与后端约定的加密签名的方法可能会被反编译找出来.
第一次构建包
第一次发包
第二次尝试重放发包
后端验证逻辑
[contact-form-7 id="2504" title="Contact form 1"]