最近看到各种论坛群里满天飞红包段子链接,比如这种:

  • 穿山甲到底说了什么,打开“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-agent
2、举个例子
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. 将上述源码中开头的变量a,b进行替换,然后将网页丢入你自己的云服务器即可。为了增强别人的信任,还可利用新浪的短链接生成一个别人看不出来路短链接域名,配合上各种吸人眼球的段子就可以大量传播发红包了~
4. 代码思路分析:

  • 其实就是利用了链接跳转
  • 如果是知乎等app未设置拒绝浏览器唤醒,相当于进行了跳转到浏览器,再跳转到支付宝
  • 如果是微信,会进一步针对安卓或者ios进行接口调用,唤醒浏览器进行二次跳转
  • 归根结底,就是利用了浏览器做二次跳转~
  1. 截止到这篇博客发布前,实测:
  • 微信已经无法利用此代码进行浏览器的唤醒操作。
  • 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依旧稳居前十~
一路前行,方便虽好,安全第一~

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

  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. 百试不爽的30条职场经验(转)
  2. C++协程库coroutine使用指南
  3. 新开activity并且新旧窗口之间传值
  4. java异常 The origin server did not find a current representation for the target resource or is not
  5. 《大数据》第1期“专题”——大数据机器学习系统研究进展(下)
  6. ·必须《飞鸽~飞鸽传书》
  7. vim剪切指定行_10 分钟上手 Vim,常用命令大盘点
  8. 如何监控 Elasticsearch 集群状态?
  9. 【Maven】log4j-slf4j-impl cannot be present with log4j-to-slf4j
  10. 【Vue】—数组对象变更检测
  11. 用动态规划解决最长公共子序列
  12. 海康人脸库上传人脸图片和人员扩展信息踩坑记
  13. CAD中的曲线长度如何测量?
  14. 计算机等级考试的资料,计算机等级考试(资料).pdf
  15. 凡诺CMS一处文件包含漏洞
  16. NoteFirst的Word插件(WordAddIn)安装过程中遇到的问题和解决方案
  17. 玩转oled屏(基于SPI协议)
  18. 7个程序员常用的接单平台推荐
  19. MinGW-w64 C/C++编译器下载和安装
  20. c语言编程计算原子态密度,准静态C_V法测量硅表面态密度分布及数据处理.pdf

热门文章

  1. Flink Broadcast State 使用示例
  2. 接口文档管理神器 Apifox,我爱了
  3. 计算机科学怎么撤稿,科学网-那些发生过大型撤稿事件的期刊,现在还好吗?-傅慧真的博文...
  4. Ubuntu分区方案(菜鸟方案、常用方案和进阶方案)
  5. shell中的数学运算
  6. cocos2d x 入门学习(一)实例制作简单的射击小游戏Star Fighter
  7. 《CSS样式》二三章知识点总结
  8. git 撤回操作总结
  9. 海康4200平台与国标GB28181视频平台EasyGBS级联后不能播放的排查及解决方法
  10. 笔记 | 人工智能导论 索引