1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 防止软件进行微信小程序自动刷票 投票刷票器手机版的安全设计

防止软件进行微信小程序自动刷票 投票刷票器手机版的安全设计

时间:2024-05-26 03:58:17

相关推荐

防止软件进行微信小程序自动刷票 投票刷票器手机版的安全设计

防止软件进行微信小程序自动刷票、免费投票刷票器手机版的安全设计

网上各种投票特别多,很多没有做好安全设计,在各种投票漏洞,可以存在人为各种投票。最近发现有个站做法很值得大家借鉴,之前也听说过这种方法,可能之前关注不多,只是没有遇到过

一般防止重复投票,有http报文加签名,限制IP,限制浏览器,限制设备等。这些方法一般都可以通过技术手段绕过。而此站他们是在http报文里有个参数,是通过js方法动态计算出来的,即需要通过浏览器渲染,才能计算。方法名及方法体通过参数动生成的。

他们做法是:如有个简单投票 ,用浏览器打开这个页面时会加载一段js代码。其中

var show_vcode = false;

var estimate_map = {"5a7d604292beb53979067ff3": 4};

var total_seconds = 7;

var rand_int = 51;

var s_func_id = "78";

var vvv = "f76d6013749255a7a8768888c810fe28";

var func_name = "hEtdqAvW";

eval(eval("s1(10)+s1(102)+s1(117)+s1(110)+s1(99)+s1(116)+s1(105)+s1(111)+s1(110)+s1(32)+s1(104)+s1(69)+s1(116)+s1(100)+s1(113)+s1(65)+s1(118)+s1(87)+s1(40)+s1(112)+s1(51)+s1(55)+s1(50)+s1(41)+s1(32)+s1(123)+s1(10)+s1(32)+s1(32)+s1(32)+s1(32)+s1(114)+s1(101)+s1(116)+s1(117)+s1(114)+s1(110)+s1(32)+s1(56)+s1(45)+s1(51)+s1(42)+s1(49)+s1(48)+s1(43)+s1(57)+s1(45)+s1(54)+s1(42)+s1(55)+s1(42)+s1(52)+s1(43)+s1(53)+s1(43)+s1(112)+s1(51)+s1(55)+s1(50)+s1(59)+s1(10)+s1(125)+s1(10)"));

其中js方法名(函数名)通过参数func_name 服务端动态生成,下面一段eval生成对应的函数体。function hEtdqAvW(p372) {

return 8-3*10+9-6*7*4+5+p372;}

函数体也是服务后台动态生成以页面js脚本形式,返回给前端。

在投票提交表单时,通过一个另一个js调这个函数拼接此参数到http报文里。完成一次投票。

此种方法很好防止通过一般程序重复投票,可以阻止绝大部分的人。当然只靠此一种手法还是做不到防止人为刷票,如通过UI自动化手动也可以绕过,当然再加上其他防止刷票手段,就可以防止了。

如果你有对外开放的公共数据服务接口,此种方法也可以防止人为恶意爬取你的数据。对于能操作浏览器内核的人来说,他还是可以绕过。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。