[原创]解密qq中流行的打开卡片消息跳转支付宝自动领取红包套路以
前言
最近发现群里发了某种卡片转账消息点开之后更加震惊,进入可以点击直接跳转到支付宝界面领取红包,简直了,套路太深,实在太深了,对于卡片消息的生成我的安卓版情迁qq机器人完全可以制作,而且我也开发了插件api,只要把这xml消息弄下来也是可以自己伪造一个卡片消息,但是这个点开卡片之后点击直接跳转支付宝马上被迫领取红包的代码就不好弄了,想不明白怎么搞的,他做的界面大概是这样的,
image.png
那么本想通过直接电脑直接右键源代码的,结果没辙,人家做了手段,电脑打开的界面是提示让你通过手机扫码。
模拟手机请求
通过编写php程序本地服务器print_r(getallheaders());
,然后用qq打开得到了这些信息,
Mozilla/5.0 (Linux; Android 7.0; FRD-AL10 Build/HUAWEIFRD-AL10; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.132 MQQBrowser/6.2 TBS/044204 Mobile Safari/537.36 V1_AND_SQ_7.7.0_882_YYB_D QQ/7.7.0.3640 NetType/WIFI WebP/0.3.0 Pixel/1080
模拟发起依然失败,那么原因大概是电脑的脚本是没有某些属性的,估计是根据这些手机判断是不是手机,不是手机就直接给弹出让你扫码二维码了。
所以破解方式还是得手机,
最终破解结果
各位首先用手机打开本网页吧。
通过手机浏览器成功保存为mht文件,然后打开发现是这样的东西。
<html><head><meta http-equiv="Content-Type" content="text/html; 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">
<meta itemprop="name" content="">
<meta itemprop="image" content="https://hb.emuban.com/assets/dist/img/alipay.png">
<meta name="description" itemprop="description" content="">
<title>正在跳转...</title>
<style>
.wxtip {
background: rgba(0, 0, 0, 0.5);
text-align: center;
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 998;
display: none;
}
.wxtip-icon {
width: 52px;
height: 67px;
background: url('assets/dist/img/weixin-tip.png') no-repeat;
display: block;
position: absolute;
right: 20px;
top: 20px;
}
.wxtip-txt {
margin-top: 107px;
color: #fff;
font-size: 16px;
line-height: 1.5;
}
body {
background: #019fe8;
background-size: 100%;
text-align: center;
font-size: 48px;
}
.actions {
position: absolute;
left: 0;
right: 0;
bottom: 150px;
margin: auto;
width: 70%;
text-align: center;
}
.actions a {
height: 45px;
line-height: 45px;
color: #1b99dc;
background: #fff;
font-size: 20px;
font-weight: 700;
letter-spacing: 2px;
border: 1px solid transparent;
border-radius: 6px;
display: block;
margin-bottom: .4rem;
}
a, a:hover {
text-decoration: none;
}
.spinner {
width: 60px;
height: 60px;
position: relative;
margin: 200px auto;
}
.double-bounce1, .double-bounce2 {
width: 100%;
height: 100%;
border-radius: 50%;
background-color: #67CF22;
opacity: 0.6;
position: absolute;
top: 0;
left: 0;
-webkit-animation: bounce 2.0s infinite ease-in-out;
animation: bounce 2.0s infinite ease-in-out;
}
.double-bounce2 {
-webkit-animation-delay: -1.0s;
animation-delay: -1.0s;
}
@-webkit-keyframes bounce {
0%, 100% { -webkit-transform: scale(0.0) }
50% { -webkit-transform: scale(1.0) }
}
@keyframes bounce {
0%, 100% {
transform: scale(0.0);
-webkit-transform: scale(0.0);
} 50% {
transform: scale(1.0);
-webkit-transform: scale(1.0);
}
}
</style>
</head>
<body>
<div class="spinner">
<div class="double-bounce1"></div>
<div class="double-bounce2"></div>
</div>
<div class="actions" id="goHome">
<a href="alipays://platformapi/startapp?saId=10000007&clientVersion=3.7.0.0718&qrcode=https://qr.alipay.com/c1x09104vwt0xobp1vmrr63" id="openSchemeLink">点击前往</a>
</div>
</body></html>
关键代码是
<div class="actions" id="goHome">
<a href="alipays://platformapi/startapp?saId=10000007&clientVersion=3.7.0.0718&qrcode=https://qr.alipay.com/c1x09104vwt0xobp1vmrr63" id="openSchemeLink">点击前往</a>
</div>
上面的东西 实际上&
就等于&
,我通过抓取支付宝的特征码也验证了这个结果,因为日志控制台打印了如下信息。
echo "<a href=\"alipays://platformapi/startapp?saId=10000007&lientVersion=3.7.0.0718&qrcode=https://qr.alipay.com/c1x09104vwt0xobp1vmrr63\">打开支付宝领取打赏红包</a>";
最后点击这里测试
https://qssq666.gitee.io/software/s.html
https://qssq666.cn/update/s.html
https://qssq666.gitee.io/software/
如何制造网页
国际版会导致某些国内用户无法访问,国内版本只能弄上面这样的域名。
alipays://platformapi/startapp?saId=10000007&lientVersion=3.7.0.0718&qrcode=https://qr.alipay.com/c1x09104vwt0xobp1vmrr63
实际上https://qr.alipay.com/c1x09104vwt0xobp1vmrr63
是通过情迁工具箱识别二维码图片提取出支付宝红包扫码图。然后通过修改网页就可以实现了,
android代码
public static boolean openAlipaySHnag(Context context ) {
Intent intent = new Intent();
intent.setData(Uri.parse("alipays://platformapi/startapp?saId=10000007&lientVersion=3.7.0.0718&qrcode=https://qr.alipay.com/c1x09104vwt0xobp1vmrr63"));
try {
context.startActivity(intent);
return true;
} catch (Exception e) {
// 未安装手Q或安装的版本不支持
return false;
}
}
html代码
<html>
<head>
<title>我是好人 </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes" />
<meta http-equiv="refresh" content="5;url=alipays://platformapi/startapp?saId=10000007&lientVersion=3.7.0.0718&qrcode=https://qr.alipay.com/c1x09104vwt0xobp1vmrr63"/>
</head>
<body>无法跳转?
<a href="alipays://platformapi/startapp?saId=10000007&lientVersion=3.7.0.0718&qrcode=https://qr.alipay.com/c1x09104vwt0xobp1vmrr63">领取福利红包(手机打开哈)</a><br/>
<a href="http://qssq666.cn/update">下载地址总入口(可能需要vpn翻墙)</a><br/>
<a href="https://qssq666.gitee.io/software">下载地址总入口(国内版)</a><br/>
<a href="http://qssq.ys168.com">下载地址3!!!!!!</a><br/>
</body>
</html>
各位不会弄自己网页的朋友需要我弄的朋友可以打个赏我给你整一个网页,另外网上的套路是为了自己的商业目的自己做了一个这样的系统作为程序员怎么能仍人摆布呢,直接给他原理破了。
外链生成
加密版
http://qssq666.cn/robot/sql.html?encryptData=url encodeURIComponent编码后的html代码填写到这里。
第一步
打开在线编码网站
http://www.bejson.com/enc/urlencode/
第二步
粘贴html代码然后点击url编码,
如粘贴如下代码
<a href="alipays://platformapi/startapp?saId=10000007&lientVersion=3.7.0.0718&qrcode=https://qr.alipay.com/c1x09104vwt0xobp1vmrr63">领取福利</a>
到编辑框中,然后点击url编码
然后从encodeURIComponent
中复制出编码的文本到剪辑版,,如果不进行编码,那么会出现问题的,因为包含了一些特殊符号在里面。
第三步
复制下面信息
http://qssq666.cn/robot/sql.html?encryptData=剪辑版的信息也就是url编码的数据,
第四步
打开网址后得到一个预览地址,复制预览地址给别人即可,或者你可以自己点击测试一下效果。
点击预览的界面,下面这个地址微信打开是无法测试效果的,所以建议各位用qq,安卓是肯定可以的,苹果目前不知道。
不懂啥原理?
访问http://qssq666.cn/robot/sql.html?encryptData=youarepigyouarepig是不是输出了youarepigyouarepig
所以上面的功能是输出一个链接地址而已。html的语法不用教了吧。当然
然后点开之后就有一个预览地址,预览之后就得到了真正的html解密后的界面。
不加密
注意点
各位,上面的地址只有手机qq或者某些浏览器点击才能直接跳转到支付宝,微信目前没有发现有这个bug.
制作自己的地址方案
首先你需要一张红包图,然后识别其中的文字,替换掉本教程中的c1x09104vwt0xobp1vmrr63
第二套风格
模拟详情
https://qssq666.gitee.io/software/succ1.html?money=200&key=c1x09104vwt0xobp1vmrr63
各位把后面的key改成二维码连接后面的一串乱码就行了。