才睡醒的我...
昨天拖更了一期不好意思各位。由于手头项目忙不过来被迫营业淦到凌晨4点多,团队很热情的把我留到了最后,让我一时间忘记自我。感谢大家一如既往的支持我们~,下次失踪前一定打个招呼!
随着菠菜类违法站点的肆虐,让无数人妻离子散。为此,献上一份微薄之力,希望能给“有关部门”提供一些帮助。
程序介绍
程序采用PHP5.4 + MySQL 程序结构如下
基本上目前做此类违法站点的不法分子,除了外包以外就是天恒、大发几套程序模改的。暂时,这边由于技术水平上面的问题,只能够发出天恒的。版本可能有点老。但是,一大部分还是用的。经某位不愿透露自己姓名的网友4月中旬实测,大约70%的存在这些问题,而使用这套程序的违法站点经过半个小时的采集大约在5000~20000左右。
漏洞详情
1、money - SQL注入
webwjactiondefaultPayOnlineBack.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%几率)
这套源码不仅仅这几个洞,大家可以练练手自己挖一下。其次本来想着放出来采集未收录违法站点工具的,但是后来想想,避免让“其他”安全人士误入歧途,也就此消除了这个想法。依旧水文一篇,望各位表哥多多指点!
本文作者:SecPulse
本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/123923.html