无语博客

花儿死翘翘


您的位置: 首页 无语分享 正文

谈谈某些商城优惠卡的漏洞。

在很多年前,有做过一个根据漏洞挣钱的不法软件。

嗯,具体是哪个商城给忘了。

那时候才写软件没多久。要说技术吧。还真没多高。

就会点POST,GET之类的。

但是对于一些很菜的漏洞,还是可以针对的了。

当时是一个人找的我。

给了一个地址,然后说扫出可用的优惠卡。看面值,然后他去卖,最后分成。

扫也很简单,无非就是在那个网页不停的试优惠卡。

因为优惠卡是一个固定长度的英语和数字的字符。

而且还有规则可寻。

比如前面是年份,然后月份,优惠卡类型这些。

真正不同的数据可能就7、8位。

软件怎么弄呢?

就把已知的固定的数字,字母给确定不动。

然后不确定的地方。

使用0~9,a~z这样循环来试。

也就比如4位的 0000,0001,0002,0003……

这样试下去。

挂一个晚上,还是能扫出很多卡的。

那时候大概做了几天。

每天挣几百。

对我来说,很多了。

过了几天之后那个人说不做了,有事。

然后我自己也就没做了。一个是对钱没太多概念。还在大学。

一个是这个钱来路不正,也不太敢。

还有就是麻烦,自己要去找买家。

大概优惠卡就是100元的卖70~80给别人一张。

来说说这种漏洞的防范措施。

其实一般是不会出现这种漏洞的。

只是可能程序员没想到有我们这种坏人。

嗯,其实这种坏人有很多,当时绝对不止我们在做。

防范措施有几个:

一、每次输入优惠卡时需要输入验证码。

这种不能杜绝,但能阻止一部份小菜鸟了,估计也能阻止当年的我。

二、每个IP地址一天内输错N次后封IP。

如果一个正常的客户有优惠码,肯定是复制粘贴。即使是手动输入,也不会错10次以上吧?

当然,这种还可以使用代理IP来绕过,只是会增加服务器的资源消耗和破解者的资源消耗。

三、终极措施,只在需要优惠卡时才生成。

什么意思呢?就是当用户获得优惠卡的时候,再生成,然后绑定到用户的帐号上。

而不是先生成一批空白卡在数据库,然后有用户获得了,再从数据库里读取一个发放给用户。

比如卡里不确定的数字有4位,没有字母。那总共出现的可能性就是10*10*10*10=10000。

也就是说这种情况下,软件只用试1W次,就可以把这批卡从头到尾的给试完。

这时候你如果生成了5000张卡放到数据库。

那软件就基本上试两次会得到一张正确的卡。

而如果是在需要时才生成呢?

还是一样的。有10000张卡。

现在没有用户获取优惠卡,后台并没有生成放到数据库。

这时候软件从头到尾的试,一张也试不出。

当有一个用户需要优惠卡时,后台才生成。而软件也要试10000次,才能得到这一张卡。

而且如果卡绑定用户名了,那么即使试出来了,也用不了。

换个角度说,如果必需让卡是不记名的。

也就是虽然A用户获得了,但是B用户也可以用的这种情况。

需要时再生成,也可以有效防止被撞库。



本文地址:https://wuyublog.com/wuyufenxiang/409.html,来源于【无语博客】,欢迎转载,转载请注明出处。
发表评论: