最近看到各种论坛群里满天飞红包段子链接,比如这种:
  穿山甲到底说了什么,打开“xxx”查看~
  支付宝被爆巨大漏洞,打开“xxx”查看~
  腾讯会员1毛钱一个月,速速打开“xxx”领取~
 
  点击链接,自动给你跳转到支付宝红包界面,好吧,又被人撸羊毛了~
  作为一个安全学习者,怎么能不追求热点去学习一波这种神奇的操作是如何进行的呢~
  特地去知乎搜了一波,果然有各路大佬在分享源码,特地弄了一个进行源码审计,学习学习~

<!DOCTYPE html><html lang="zh-cmn-hans"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge, chrome=1"><title>正在打开支付宝,请稍候……</title></head><body><script> var a = "https://qr.alipay.com/c1x09359aaxzejcv5cnzdc4";//替换你的红包链接var b = "https://qr.alipay.com/c1x09359aaxzejcv5cnzdc4";//替换你的红包链接function is_weixin() {if (/MicroMessenger/i.test(navigator.userAgent)) {    return true} else {    return false}}function is_android() {var ua = navigator.userAgent.toLowerCase();if (ua.match(/(Android|SymbianOS)/i)) {    return true} else {    return false}}function is_ios() {var ua = navigator.userAgent.toLowerCase();if (/iphone|ipad|ipod/.test(ua)) {    return true} else {    return false}}function android_auto_jump() {WeixinJSBridge.invoke("jumpToInstallUrl", {},function(e) {});window.close();WeixinJSBridge.call("closeWindow")}function ios_auto_jump() {if (a != "") {    location.href = a} else {    window.close();    WeixinJSBridge.call("closeWindow")}}function onAutoinit() {if (is_android()) {    android_auto_jump();    return false}if (is_ios()) {    ios_auto_jump();    return false}}/*1、来了解一下Navigator 对象,Navigator 对象包含有关浏览器的信息,下面的userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值。所以我们可以通过判断navigator.useragent里面是否有某些值来判断。简单来说,可以理解成http请求头读到的uesr-agent2、举个例子window.location.href = /Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent) ? "https://www.baidu.com/" :  "http://news.baidu.com/";利用了正则表达式和三目运算符,含义就是如果是移动端打开的话那就跳转到 "https:www.baidu.com/" ,如果不是就跳转到"http://new.baidu.com/",实际上就是利用正则去判断 navigator.useragent 是否含有 Android/webOs/iphone 等字符串,并且利用修饰符 "i" 做了不区分大小写,然后用正则的方法 test 去判断是否满足*/if (is_weixin()){    if (typeof WeixinJSBridge == "undefined") {//判断WeixinJSBridge的类型        if (document.addEventListener) {//firefox等            document.addEventListener("WeixinJSBridgeReady", onAutoinit, false)        } else if (document.attachEvent) {//ie等            document.attachEvent("WeixinJSBridgeReady", onAutoinit);            document.attachEvent("onWeixinJSBridgeReady", onAutoinit)//WeixinJSBridgeReady查到是微信的一个官方接口,通过此唤醒浏览器        }//添加事件,考虑到浏览器兼容问题} else {    onAutoinit()//主要逻辑,先判断是否微信,在判断ios或者安卓}} else {//如果不是,直接唤醒浏览器进行二次跳转    if (b != "") {        location.href = b    } else {        window.close()    }}</script></body></html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100

这是一个比较火的源码,上面的注释是我的一些分析,其实思路真的是比较简单,分几步给大家介绍一下吧
  1、从支付宝红包界面选择发红包->立即赚赏金->二维码,拿到一个这样的二维码!
 
  2、拿到二维码,使用各种免费的网站进行解析,分析出其中的文字链接,比如我的:
 
  3、将上述源码中开头的变量a,b进行替换,然后将网页丢入你自己的云服务器即可。为了增强别人的信任,还可利用新浪的短链接生成一个别人看不出来路短链接域名,配合上各种吸人眼球的段子就可以大量传播发红包了~
  4、代码思路分析:

  • 其实就是利用了链接跳转
  • 如果是知乎等app未设置拒绝浏览器唤醒,相当于进行了跳转到浏览器,再跳转到支付宝
  • 如果是微信,会进一步针对安卓或者ios进行接口调用,唤醒浏览器进行二次跳转
  • 归根结底,就是利用了浏览器做二次跳转~

5、截止到这篇博客发布前,实测:

  • 微信已经无法利用此代码进行浏览器的唤醒操作。
  • qq测试的结果是只能打开自带的内置qq浏览器然后不能唤醒支付宝~
  • 其他如uc浏览器直接测试,或者知乎等都还是可以的;
  • 总结下:其实如果针对这些不需要进行调用接口进行唤醒浏览器的app来说,直接可以将你得到的那个支付宝链接通过新浪短连接生成一个隐蔽的短连接去让别人点击即可~

你以为到这里就结束了?错了,作为一个安全学习者,怎么能不从安全的角度进行分析呢!
  从安全角度分析,虽然这是一场流量大V的发红包狂欢,但不得不防有犯罪分子乘机构造各种恶意链接混在其中去获取的个人信息!
  可能你点击的前一万个链接都是跳转支付宝的链接,你慢慢的就放松了警惕,忘记了爸爸妈妈所说的,新闻中报到的各种不明的链接不能乱点的警示案例~

下面我用通俗易懂的语言为大家剖析

CSRF攻击就是假装你去行骗

CSRF(Cross-site request forgery),它的中文名称是跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。
  简单地说,CSRF就是利用了我们的登录状态或者授权状态,然后做一些损害我们自身利益的事情。

举个例子:

比如说你转账的链接的链接是www.yinghan.com/money.php?count=10&&id=xxxxxxxxxxx,10代表的是金额,id代表的是转账到的账号。
  你可能说我没登录银行,我就点一下这个链接又能怎样。这个理解就错了。很多时候,绝大多人为了方便,你的一些账号你都点击了保存密码,免登录这个选项;这本来没问题,但是当你点击了不良链接的时候,你的身份(cookies)就会是你之前登录的身份,银行会默认这是你的操作,所以交易成功了!(当然,实际生活中银行的判断不是仅仅这样,这里这是举例子)

实际:

当黑客发现一个网站的csrf漏洞时,可能之前他没有什么好办法让你点击这个链接,但是,混在这个支付宝红包狂欢的时间,一个小小的链接,即可让你损失颇重~

关注下OWASP top10


  2017年csrf依旧稳居前十~
  一路前行,方便虽好,安全第一~

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

分析暴力的满天发红包 【方便虽好,安全第一 】相关推荐

  1. 分析暴力的满天发红包~【方便虽好,安全第一~】

    最近看到各种论坛群里满天飞红包段子链接,比如这种: 穿山甲到底说了什么,打开"xxx"查看 支付宝被爆巨大漏洞,打开"xxx"查看~ 腾讯会员1毛钱一个月,速速 ...

  2. vue3.0一句代码实现满屏红包雨

    vue3.0一句代码实现满屏红包雨 话不多说,先看效果 抢红包 <template><div class="home"><h1>一句代码实现满屏 ...

  3. 我分析了上万个微信红包数据,得到了这些发现(附数据集)

    引子 笔者在2015年7月创建了一个以分享滴滴打车红包为主的微信群聊,创建的本意是为了方便大家在分享红包时不打扰别人,在乘车需要红包时能方便地领到红包.随着群人数和分享红包种类的增加,该群已成为一个各 ...

  4. 猿创征文|磁盘满的本质分析——磁盘空间满与inode节点满

    欢迎关注博主 Mindtechnist 或加入[Linux C/C++/Python社区]一起探讨和分享Linux C/C++/Python/Shell编程.机器人技术.机器学习.机器视觉.嵌入式AI ...

  5. 算法设计与分析 暴力递归

    暴力递归 概述 题目一:汉诺塔问题 题目二:字符串的全部子序列问题 题目三:字符串的全排列问题(分支限界) 题目四:拿纸牌比最大问题 题目五:递归逆序栈 题目六:数字与字符串的转化问题 题目七:重量和 ...

  6. leetcode 42. 接雨水 思考分析(暴力、动态规划、双指针、单调栈)

    目录 题目 思路 暴力法 动态规划 双指针法 单调栈 题目 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水. 输入:height = [0,1,0,2 ...

  7. IG夺冠后王思聪天天发红包,来看看真实情况是什么样的?

    我发现,王思聪微博上最近有点忙,S8决赛IG夺冠看到他在发支付宝红包,吃个热狗又在发支付宝红包. 最近ig内部选手事件,更是看到无数个王思聪们在微博发支付宝红包hhhhh. 这一波骚操作,很多人都不知 ...

  8. 分析方法的基础 — 1. 拆分能力,分析师的第一技能

    如果问我:作为一名合格分析师的基本功中最为重要的技能是什么?我会回答说:第一是"会说话",第二会"会拆分". "会说话"是分析师与人交流的基 ...

  9. python共享单车案例分析_《Python大规模机器学习》 —2.2.2第一个示例——流化共享单车数据集...

    2.2.2第一个示例--流化共享单车数据集 第一个示例是使用共享单车数据集.此数据集包含两个CSV文件,其中收集了2011~2012年间在美国华盛顿特区共享单车系统中每小时和每天所出租的自行车数.这些 ...

最新文章

  1. 数据蒋堂 | 怎样生成有关联的测试数据
  2. 重磅 | 中国工程院提出新一代智能制造
  3. 中国汽车行业节能减排行业全景调研规划及投资投资战略咨询研究报告2022-2028年版
  4. UNDO Retntion
  5. 完整asp.net图形验证码程序
  6. JGroups:无需额外基础架构的领导人选举
  7. 有多个python版本_python 多版本共存
  8. ios 扫码枪外设 键盘模式_多平台连接:雷柏XK100蓝牙键盘评测
  9. python数据写入表格生成图片_使用Python制作一个GUI界面,将随机生成的姓名存入到Excel文件中...
  10. 安装iis 出现ASP无法访问的解决方法
  11. 使用traceview进行Android性能测试(转)
  12. 博客园修改TinyMCE编辑器为Markdown编辑器的方法
  13. mysql 求差函数_mysql 数学函数
  14. Memory barrier(内存屏障)
  15. Qt中文编程遇C2001错误,提示“常量中有换行符”
  16. element-ui Form表单验证
  17. ES6常问面试题(Promise,async和await 等)
  18. 博士研究生入学第一年就完成了毕业所需的发表论文要求是怎样的体验?
  19. 深圳软件测试培训:简述关系型数据库和非关系型数据库
  20. 我最有用的IntelliJ IDEA键盘快捷键

热门文章

  1. 20170221找女朋友之路思考总结
  2. 二维数组排序的三种方法
  3. “QQ空间”可定位“珠穆朗玛峰上空8844米”,安卓QQ空间机型定位装B器
  4. C语言库函数中的Strcat函数
  5. C#练手之项目10-1之正义永不缺席
  6. 【​观察】解读一加6手机“22天破百万”的成功密码
  7. Linux驱动在arm运行,如何在嵌入式ARM-Linux平台上进行编译 配置和运行使用
  8. 在计算机窗口中打开文件夹选项,电脑无法在同一窗口打开文件夹怎么办?如何设置在电脑原窗口中打开文件夹...
  9. 电脑删除文件不自动刷新
  10. Redis(设计与实现):---事务之WATCH命令(watched_keys字典、touchWatchKey函数、REDIS_DIRTY_CAS标识)