Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    86387647

Contributors to this blog

  • HireHackking 16114

About this blog

Hacking techniques include penetration testing, network security, reverse cracking, malware analysis, vulnerability exploitation, encryption cracking, social engineering, etc., used to identify and fix security flaws in systems.

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 总结

 这套源码不仅仅这几个洞,大家可以练练手自己挖一下。其次本来想着放出来采集未收录违法站点工具的,但是后来想想,避免让“其他”安全人士误入歧途,也就此消除了这个想法。依旧水文一篇,望各位表哥多多指点!


转载于原文链接: https://mp.weixin.qq.com/s/7R3OrGPmUesDz4YKuxoJjw