记一次收割BC天恒盛达
0x00 前言
随着菠菜类违法站点的肆虐,让无数人妻离子散。为此,献上一份微薄之力,希望能给“有关部门”提供一些帮助。今天给大家表演的是收割BC天恒盛达。
0x01 程序介绍
程序采用PHP5.4 + MySQL 程序结构如下
基本上目前做此类违法站点的不法分子,除了外包以外就是天恒、大发几套程序模改的。暂时,这边由于技术水平上面的问题,只能够发出天恒的。版本可能有点老。但是,一大部分还是用的。经某位不愿透露自己姓名的网友4月中旬实测,大约70%的存在这些问题,而使用这套程序的违法站点经过半个小时的采集大约在5000~20000左右。
0x02 漏洞详情
1、money - SQL注入
web\wjaction\default\PayOnlineBack.class.php
继续跟进money,此处为GET获取,接着看条件
条件展示,第一个为Key验证,这个在配置文件里。如果Key错误则表示所有订单都无法生效。也就是说Key肯定是在URL请求内,这个验证即可绕过。
继续看条件,这里是生成一个MD5值进行校验。但是这种校验是有缺陷的,此处并未把key的值带入进去。所以我们直接提交的时候,把$tno.$payno.$money都设为空。那么我们将获取$md5key的MD5值。因为$sign在URL中能展示出来。解密后,我们再按照他的验证机制就可以写脚本,进行注入了。
往下继续看,交易号随机来就行了。
继续看,最后一个验证。这里的用户名肯定是真实的,所以这里的验证就算是废掉了
接下来,根据前面的分析,就可以注入了。最重要的一点就是猜解出md5Key的值。
2、订单信息 - 存储XSS
订单信息 -> 用户名
在默认支付提交表单的地方,前台and后台未经过滤就导致了XSS存储型漏洞
3、后台无验证 - Getshell
lib/classes/googleChart/markers/GoogleChartMapMarker.php
任意代码执行漏洞,google变量通过GET获取数据接着就执行,比较低级的问题我就不写代码部分了。(此漏洞并不高效,大约30%几率)
0x03 总结
这套源码不仅仅这几个洞,大家可以练练手自己挖一下。其次本来想着放出来采集未收录违法站点工具的,但是后来想想,避免让“其他”安全人士误入歧途,也就此消除了这个想法。依旧水文一篇,望各位表哥多多指点!