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

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

浏览量:630 时间: 来源:qq_42445496
防止软件进行微信小程序自动刷票、免费投票刷票器手机版的安全设计

网上各种投票特别多,很多没有做好安全设计,在各种投票漏洞,可以存在人为各种投票。最近发现有个站做法很值得大家借鉴,之前也听说过这种方法,可能之前关注不多,只是没有遇到过
小程序
一般防止重复投票,有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自动化手动也可以绕过,当然再加上其他防止刷票手段,就可以防止了。

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

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎