$ac $f php 代码审计,代码审计之ThinkSNS v4.6.0最新版前台getshell

前言

对于一个后台的至getshell的漏洞点,若需要当作前台来利用,最直接的idea会想到什么?当然是XSS、CSRF了,这已经不是什么新鲜话题或trick了,较早的wordpress 前台XSS之Getshell、最近安全客也有人发过zzzphp1.6前台的Getshell方式使用类似的方法。所以笔者对ThinkSNS审计的后台漏洞分析及其利用同样结合CSRF进行。

漏洞类型

通用漏洞

015d13ed9732e9f2f9af0e991d698063.png

简介

后台升级存在逻辑错误与变量覆盖未验证升级链接参数upurl导致可升级远程下载shell结合后台csrf漏洞可导致攻击人员在前台发表payload链接即可getshell 。

漏洞分析

漏洞代码发生在路径ts4/apps/admin/lib/Action/UpgradeAction.class.php文件。

bb111a3c8ecd077341042aab0992e7aa.png

aba89eb7407b4fb63d80328080b364c1.png

46行处,升级时调用check函数升级通过C('UPURL').'?v='.C('VERSION')获取升级链接

f67727494cc4de8b0f2e11684eb60245.png

在169行,直接再次调用且upurl可控,覆盖之前的&upurl远程升级下载包含.php的test.zip压缩包先下载再校验,存在逻辑问题,直接构造url payload下载。此为漏洞的引发起始点,再往下看在226行处step2,Step2解压也存在问题未进行校验文件就进行解压到网站根目录

0312bc5c75c4435ac590c894b24b8e1e.png

复现

1.直接在后台Getshell

1)根据对漏洞的定位,直接构造step1步的触发链接payload如下图所示

assetsimagesthinksns5.png

assetsimagesthinksns6.png

即可通过升级的step1远程下载shell压缩文件。

2)根据step2定位的漏洞点继续构造触发解压的payload如下图所示:

Step2

解压也存在问题未进行校验文件就进行解压到网站根目录

assetsimagesthinksns7.png

assetsimagesthinksns8.png

3)解压成功,shell.php被解压下载解压到了WWWts4test目录

4)getshell

assetsimagesthinksns9.png

2. 后台Gethsell组合后台CSRF(无需登陆管理员前台getshell)

结合step1和step2构造一个CSRF getshell payload页面 html

用户在前端留言处发表连接留言管理员点击查看getshell当点击时执行step1和step2已在不知情的情况下执行了载shell和加压shell.zip两步

assetsimagesthinksns10.png

成功下载shell

assetsimagesthinksns11.png

被解压

assetsimagesthinksns12.png

assetsimagesthinksns13.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值