一.概述
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