其实要让你的QQ空间发个卖X的说说,压根不需要盗号那么麻烦,分分钟教你做人……

方法一:获取授权

有一个场景,大家一定不会陌生。现在互联网产品越来越多,每个人注册的账号也越来越多,为了优化大家的体验,不至于每个产品都要重新注册一遍账号。许多平台推出了授权登录,比如:QQ、微信、微博以及邮箱等,大家无需重复注册,一键授权即可。但是,很少有人会留意这一键登录背后,第三方平台已经掌握了我们大量隐私信息,其中就包括“让第三方获得可以借助我们的空间推送广告的权利”。

但是这个其实大家都在做,所以空间官方账号运营人员在大中午看小电影授权给第三方又忘记切换账号的小概率事件反生,不然“获取授权”导致卖片广告发布几率约等于零。

适合发qq空间的说说被人拒绝(在别人QQ空间发条说说)(1)

适合发qq空间的说说被人拒绝(在别人QQ空间发条说说)(2)

“发表分享到QQ空间” 目前是模块权限中的标配

方法二:空间钓鱼

与第一种不同,外挂木马简单粗暴,速度快。符合黑产的核心价值观,所以在老师傅口中,这类手段才是主流。

级别低一点的,一般通过在QQ空间等平台推广钓鱼链接,诱惑他人领红包、登录色情网站等方式盗取QQ号。一旦点击链接,输入了QQ账号和密码,网站后台就会记录下来,一般黑产是不会下功夫去登录你账号发说说。这些账号,在黑市上供不应求,一个高质量的一手账号甚至可以买到5-10元不等。老师傅告诉Magiccc,去年有个大学生就用这个,半年多搞了200万QQ号,最后搞太狠了,被公安查了。

因为低级无门槛,所以上面的方式转化率很低。所以,像老师傅这类黑产人员,会下功夫仿制钓鱼页面,比如:完全模仿QQ登录的样式,做一个QQ相册登录页面,几乎可以以假乱真。然后,在你点进去以后,提示你快捷登录失效,要求你重新输入帐号密码,一旦你输入自己的帐号密码,就会直接发送到该钓鱼网站所有者的后台数据库里面,然后登录你的QQ账号密码继续群发给你的好友。

钓鱼的方式几率的确很大,运营人员如果安全意识不够高,被盗取信息也不奇怪。

适合发qq空间的说说被人拒绝(在别人QQ空间发条说说)(3)

方法三:平台漏洞

光利用平台漏洞在QQ空间发广告的事儿就不算新鲜事!是人家黑产人士早在2015年就玩剩下的产物……

猎豹团队就在15年通过Freebuf曝光过,以下是当时的文章内容摘录:

“转发机制

腾讯地图的一个实时竞价页面存在一个XSS漏洞,由于没有对请求参数做严格检查,通过精心构造的请求数据导致返回信息中的数据可被利用来执行js代码,同时服务器没有对请求来源进行检测,因此可以造成CSRF攻击。

查看之前抓取到的利用该漏洞进行不良信息转发的页面,在该页面开头嵌入了一个iframe标签如下:

适合发qq空间的说说被人拒绝(在别人QQ空间发条说说)(4)

标签style为隐藏属性,从而使得该插入页面不会被用户发现,插入的页面链接就是构造好的url地址。

当页面被加载时,页面通过这个url接口向腾讯地图的RealTime Bidding服务器发送一个请求,服务器没有对请求来源进行效验,直接将请求的数据返回,并附带了一些查询信息,如下图所示,其中exploit是构造的利用代码。

适合发qq空间的说说被人拒绝(在别人QQ空间发条说说)(5)

当exploit = “</script><svg><script>eval(window.name);//”,请求服务器之后iframe标签里的内容就变成下边的内容:

适合发qq空间的说说被人拒绝(在别人QQ空间发条说说)(6)

利用代码中的标签“</script><svg><script>”用于绕过浏览器的XSS过滤器,浏览器会将这三个标签忽略掉只留下后边的内容,然后第一个注释符号将后边的内容都给注释掉了,最后的有效内容就一句:eval(window.name)。之后eval会将字符串name里边的内容当作js代码执行,其执行结果就是在文档结尾创建<script></script>标签去加载执行js主功能模块conf3.gamexm/moo.js。

主功能js部分代码如下所示:

适合发qq空间的说说被人拒绝(在别人QQ空间发条说说)(7)

该js代码做了混淆,其按照OlOlll=”(x)”的方式进行替换,我们还原第一部分代码为:

eval("var l = function(x){return String.fromCharCode(x)}");

该处生成一个函数I,其功能是返回数字对应的ascii码,下边利用该函数将一些数字还原成新的函数,依次类推,最后解出来的功能代码如下所示:

适合发qq空间的说说被人拒绝(在别人QQ空间发条说说)(8)

代码通过document.cookie获取用户的cookie信息,然后从中提取uin值和skey值,通过抓包可以看到,uin值是由o开头加上QQ号组成,因此相当于就获取了用户的QQ号,skey是以@开头的一段字符。之后调用函数document.createElement创建了一对script标签来执行如下脚本:

适合发qq空间的说说被人拒绝(在别人QQ空间发条说说)(9)

其中参数q是QQ号,k为skey的值,getGTK(str)是为了给skey签名,这样可以确保skey是有效的。该脚本把获取到的QQ号和skey值通过附加到链接参数提交给远程服务器。

利用Skey进行敏感操作

Skey 是一次性口令,服务器为每个用户建立一个skey作为用户的权限代码,服务器验证该值即可获取用户的一些权限操作,该值会被浏览器记录在cookie信息中,只要用户不退出登录就会有效。也就是说如果获得一个QQ号码的Skey代码,也就相应的拿到了对方QQ登陆和管理权限,通过调用相应的操作接口API,即可不通过用户密码实现对用户空间,相册的访问权限,同时也可以发表说说,删除留言等一些敏感操作。

下边进行一个简单的测试来实现在QQ空间发表状态。

首先通过抓包获取到cookie信息中的uin值和skey

适合发qq空间的说说被人拒绝(在别人QQ空间发条说说)(10)

然后我使用curl命令通过发表说说的api向服务器发送一个包,包内容如下:

适合发qq空间的说说被人拒绝(在别人QQ空间发条说说)(11)

Curl命令执行过后,会在我的空间就自动发了一条说说:this is a test ”

适合发qq空间的说说被人拒绝(在别人QQ空间发条说说)(12)

不管是授权也好,钓鱼也罢,亦或是漏洞攻击,黑产的确对我们的个人乃至企业造成了极大威胁。

适合发qq空间的说说被人拒绝(在别人QQ空间发条说说)(13)

这位兄弟直接将微信账号密码给到玩游戏认识的人,辛亏家人及时电话提醒,后来发现超过10位朋友向对方提供的二维码打钱转账!安全意识几乎为零……

最后,给大家一个核查自己授权历史明细的平台,大家可以根据情况,自行解除某些风险授权。

connect.qq/

适合发qq空间的说说被人拒绝(在别人QQ空间发条说说)(14)

本文作者:GEETEST极验(geetest_jy )

,