快捷搜索:  汽车  科技

pptv会员怎么关?PPTVPPlive客户端批量刷会员漏洞

pptv会员怎么关?PPTVPPlive客户端批量刷会员漏洞localJSONObject.put("tk" MD5.MD5_32(MD5.MD5_32(str Build.MODEL "C42F31B008BF257067ABF115E0346E292313C746B3581FB0")));这段代码印证了很多猜想 包括之前的build.model.现在HMAC的算法也出来了.只是简单的拼接字符串后两次md5.果然进去就可以领到土豪码了 这设计太low了.这样就完了么?如果想批量刷会员了.接下来抓包看看.哟呵 改包不行会提示签名失败.通信做了签名 跟追下tk这个绝逼是HMAC的参数

pptv最近和s6搞了活动 送会员...俺就在想 他是肿么判断俺的手机是不是s6咧 非常有可能是通过Build.MODEL

pptv会员怎么关?PPTVPPlive客户端批量刷会员漏洞(1)

于是俺把自己N5的model改成SM-9250了.

adb shell cat /system/build.prop |grep model

ro.product.model=SM-G9250

果然进去就可以领到土豪码了 这设计太low了.

pptv会员怎么关?PPTVPPlive客户端批量刷会员漏洞(2)

pptv会员怎么关?PPTVPPlive客户端批量刷会员漏洞(3)

这样就完了么?如果想批量刷会员了.接下来抓包看看.

pptv会员怎么关?PPTVPPlive客户端批量刷会员漏洞(4)

哟呵 改包不行会提示签名失败.通信做了签名 跟追下tk这个绝逼是HMAC的参数

pptv会员怎么关?PPTVPPlive客户端批量刷会员漏洞(5)

这段代码印证了很多猜想 包括之前的build.model.现在HMAC的算法也出来了.只是简单的拼接字符串后两次md5.

localJSONObject.put("tk" MD5.MD5_32(MD5.MD5_32(str Build.MODEL "C42F31B008BF257067ABF115E0346E292313C746B3581FB0")));

同样也解决了批量了问题 pplive判断是否同一台设备是通过下面这段代码

String str = UUIDDatabaseHelper.getInstance(this.context).getUUID;

localJSONObject.put("udid" str);

pptv会员怎么关?PPTVPPlive客户端批量刷会员漏洞(6)

我擦咧 这不就是imei么 只要hook住这个函数的返回值就可以轻松批量了 当然这是我这个app安全人员的看法 其实pplive根本没对设备id的合法性进行效验(只验证了唯一性)所以是可以在PC上写脚本一键刷的..这里我只给出如何在手机上批量刷的poc(见测试代码)

pptv会员怎么关?PPTVPPlive客户端批量刷会员漏洞(7)

pptv会员怎么关?PPTVPPlive客户端批量刷会员漏洞(8)

pptv会员怎么关?PPTVPPlive客户端批量刷会员漏洞(9)

解决方案:

过滤

猜您喜欢: