一次mssql注入+白名单上传绕过360的示例分析

一次mssql注入+白名单上传绕过360的示例分析
最新回答
快乐暗恋我

2026-03-14 20:05:58

本次渗透测试通过MSSQL注入获取高权限后,结合白名单上传绕过360防护的完整流程如下:

一、MSSQL注入获取系统权限
测试人员在目标站点的“批量整理”功能中,发现搜索参数keyword存在SQL注入漏洞。通过抓包并使用sqlmap工具验证,确认存在堆叠查询且拥有dba权限。直接利用--os-shell命令调用xp_cmdshell,成功获取系统最高权限NT AUTHORITYSYSTEM。这一步的关键在于漏洞利用的精准性:堆叠查询允许执行多条SQL语句,而dba权限进一步扩展了攻击面,为后续操作提供了基础。

二、绕过PowerShell执行策略失败
尝试通过os-shell执行PowerShell脚本反弹CS(Cobalt Strike)马时,发现命令执行失败。排查过程包括:

  1. 验证网络连通性(ping测试通过);
  2. 转义CMD引号(使用^符号);
  3. 修改PowerShell执行策略(通过Set-ExecutionPolicy Unrestricted)。
    尽管执行策略被成功修改,但任务列表显示360安全软件正在运行,推测其拦截了恶意脚本。此时,攻击者意识到需绕过终端防护。

三、白名单上传绕过360防护
由于直接上传ASPX后门被白名单限制,测试人员采用以下策略:

  1. 上传图片马:在头像上传功能处提交冰蝎(BingXie)工具生成的图片马bingxie.jpg(文件内容为ASPX代码,但扩展名为JPG,符合白名单规则);
  2. 文件重命名:通过os-shell的copy命令将图片马复制为bingxie.aspx,利用IIS的ASPX解析能力执行恶意代码;
  3. 建立连接:使用冰蝎客户端连接重命名后的文件,成功上线CS。
    关键点:白名单仅校验文件扩展名而非内容,结合IIS的解析特性(即使高版本IIS 8.5,若未严格配置仍可能解析ASPX),实现了绕过。360未对文件内容或重命名操作进行深度检测,导致防护失效。

四、总结与启示

  1. 漏洞利用链:SQL注入→堆叠查询提权→文件上传绕过→后门植入,形成完整攻击链;
  2. 防护绕过核心:利用白名单规则漏洞(仅校验扩展名)和IIS解析特性,规避360的内容检测;
  3. 防御建议:

    严格限制数据库权限,禁用xp_cmdshell;

    上传功能需结合MIME类型校验和内容检测;

    终端防护应监控文件重命名等高危操作。

此次渗透测试表明,即使面对高版本系统和安全软件,通过组合漏洞利用与绕过技巧,仍可突破防护。