Web攻防01-ASP应用相关漏洞-HTTP.SYS&IIS短文件&文件解析&ACCESS注入

文章目录

目前ASP网站已经很少了,主流的是PHP和Java为多,ASP只有一小部分了,在一些老的系统、Web应用中有。

在一些新的业务Web应用中基本看不到ASP了。

ASP-默认安装-MDB数据库泄漏下载漏洞

漏洞描述

由于大部分ASP程序与ACCESS数据库搭建,但ACCESS无需连接 ,都在脚本文件中定义配置好数据库路径即用,不需要额外配置安装数据库,所以大部分提前固定好的数据库路径,如默认未修改,当攻击者知道数据库的完整路径,可远程下载后解密数据实现攻击。

若使用SQL Server数据库则存在账号密码。

php、Java等语言开发的web应用则没有此类漏洞

ASP-中间件 HTTP.SYS(CVE-2015-1635)

参考文章:https://blog.csdn.net/qq_41210745/article/details/103437683

1、漏洞描述

远程执行代码漏洞存在于 HTTP 协议堆栈 (HTTP.sys) 中,当 HTTP.sys 未正确分析经特殊设计的 HTTP 请求时会导致此漏洞。 成功利用此漏洞的攻击者可以在系统帐户的上下文中执行任意代码。

虽然是15年的漏洞,但是现在还有很多真实应用中存在,该漏洞和权限不相关,只是利用它做一个崩溃(蓝屏)漏洞,该漏洞利用成功就会导致崩溃(蓝屏),对业务有破坏性。

即利用该漏洞拿不到权限,但是可以对目标系统造成破坏(蓝屏)。

2、影响版本

Windows 7、Windows Server 2008 R2、Windows 8、Windows Server 2012、Windows 8.1 和 Windows Server 2012 R2

3、漏洞利用条件

安装了IIS6.0以上的Windows 7、Windows Server 2008 R2、Windows 8、Windows Server 2012、Windows 8.1 和 Windows Server 2012 R2版本

只要安装过IIS就行

4、漏洞复现

shell 复制代码
msfconsole

use auxiliary/dos/http/ms15_034_ulonglongadd

set rhosts xx.xx.xx.xx

set rport xx

run

实在没有漏洞提交可以提交该漏洞,但是在测试时要小心,会导致目标系统崩溃

使用以下命令验证网站是否存在该漏洞:返回416,说明该系统存在漏洞

curl http://[目标地址] -H "Host: [目标地址]" -H "Range: bytes=0-18446744073709551615"

ASP-中间件 IIS短文件漏洞

1、漏洞描述

此漏洞实际是由HTTP请求中旧DOS 8.3名称约定(SFN)的代字符(~)波浪号引起的。它允许远程攻击者在Web根目录下公开文件和文件夹名称(不应该可被访问)。攻击者可以找到通常无法从外部直接访问的重要文件,并获取有关应用程序基础结构的信息。

Windows自己的命名造成的安全问题

2、漏洞成因:

为了兼容16位MS-DOS程序,Windows为文件名较长的文件(和文件夹)生成了对应的windows 8.3短文件名。在Windows下查看对应的短文件名,可以使用命令dir /x

利用条件:基本上只要是IIS搭建的源码都可以用

3、应用场景:

后台路径获取,数据库文件获取,其他敏感文件获取等

只能探侦前六位

4、利用工具:

https://github.com/irsdl/IIS-ShortName-Scanner

https://github.com/lijiejie/IIS_shortname_Scanner

扫网站目录方法:

字典扫,看运气

该漏洞通过网站自身的IIS短文件扫到,而且只能扫到前六位,运用价值:找后台。

比较鸡肋,但是有时候可以发挥作用。

5、漏洞复现:

使用上述工具

cmd 复制代码
python iis_shortname_scan.py http://192.168.0.42:89/

结果:

ASP-中间件 IIS文件解析漏洞

该漏洞只有两个版本存在

IIS 6 解析漏洞

1、该版本默认会将*.asp;.jpg 此种格式的文件名,当成Asp解析

2、该版本默认会将*.asp/目录下的所有文件当成Asp解析。

如:

logo.asp;.jpg

xx.asp/logo.jpg

6版本一般是Windows2003搭建在一起

2008就是7版本和7.5版本了

IIS 7.x 解析漏洞

在一个文件路径(/xx.jpg)后面加上/xx.php会将/xx.jpg/xx.php 解析为php文件

(有补丁)

应用场景:

配合文件上传获取Webshell

该版本本身就少,以后会越来越少,windows用iis服务器的也不多。而且7版本有很多补丁已经修复了。

很少有该漏洞。

出漏洞时官方不认定6版本漏洞,所以没有补丁,但是7版本有补丁。所以7版本很少漏洞,6版本该漏洞多。

即只有低版本有该漏洞

ASP-中间件 IIS写权限漏洞

IIS<=6.0 目录权限开启写入,开启WebDAV,设置为允许

可以直接上传文件。(postman)

搭建时配置导致的安全问题。
漏洞很少很老,只有老网站服务器系统才可能会有

真实的新上线的系统中不可能有该漏洞

参考利用:

https://cloud.tencent.com/developer/article/2050105

ASP-SQL注入&ACCESS注入

1、SQL注入

**数据库注入,某一个数据库注入。注入的攻击方法和攻击流程是和数据库类型相关的,并不是和脚本语言相关的。**语言使用Java,php等都无关。

程序对用户输入的数据没有过滤,导致重新定义查询结果的SQL被执行(攻击者定义想要的执行结果语句)

SQL语句在数据库中执行,不同数据库有不同SQL语句,有SQL执行功能

数据库不同,功能不同,架构不同,攻击流程也不同。
判断是否存在SQL注入:and 1=1,报错

报错情况应是查询后没有数据的报错,而不是代码程序的容错页面(404页面),容错页面是代码逻辑的设置。而不是存在注入的表现。

2、漏洞描述

ACCESS数据库无管理帐号密码,顶级架构为表名,列名(字段),数据,所以在注入猜解中一般采用字典猜解表和列再获取数据,猜解简单但又可能出现猜解不到的情况,由于Access数据库在当前安全发展中已很少存在,故直接使用SQLMAP注入,后续再说其他。

手工注入复杂一点,学习手工注入的意义在于了解原理,去合适的变形,WAF绕过等情况可能会用到。

大部分都会选择工具,工具简单便捷。

3、漏洞复现-靶场测试-使用SQLMAP

python sqlmap.py -u "" --tables //获取表名

python sqlmap.py -u "" --cloumns -T admin //获取admin表名下的列名

python sqlmap.py -u "" --dump -C "" -T admin //获取表名下的列名数据

执行命令:

cmd 复制代码
python sqlmap.py -u "http://192.168.0.42:89/Pic.asp?id=2" --tables //获取表名

结果:获取到三个表明,后续可根据表明继续进行测试。

若扫描到管理员账号,需要找到后台,即可使用前面的短文件漏洞以及目录扫描

进入后台后利用文件上传可以上传后门拿到webshell

获取网站目录方法

  1. 用字典跑
  2. 利用漏洞探针(ISS短文件
  3. 网站爬虫:获取架构中的目录和文件目录。
相关推荐
嚯——哈哈14 分钟前
高防服务器HOT:网络安全的无形盾牌,护航业务稳定
服务器·安全·web安全
美式小田35 分钟前
Altium Designer学习笔记 21.PCB板框的评估及叠层设置
笔记·嵌入式硬件·学习·ad
NightCyberpunk1 小时前
请求响应(学习笔记)
笔记·学习
企业通用软件开发1 小时前
大语言模型提示词工程学习--写小说系列(文心一言&豆包&通义千问):2~确定核心谜团
学习·语言模型·ai应用·ai编写长篇小说·大语言模型应用
嘉琪0012 小时前
websocket是什么?
网络·websocket·网络协议
一只小菜鸡..2 小时前
241125学习日志——[CSDIY] [ByteDance] 后端训练营 [16]
学习
熬了夜的程序员3 小时前
使用Go语言实现线程安全的Map
安全·golang
索迪迈科技3 小时前
渣土车治理新方案:智能化引领安全与环保新时代
人工智能·安全·音视频·视频监控·车载监控·车辆安全
高耳机High-Earphone3 小时前
不只是请求和响应:使用Fiddler抓包URL和Method全指南(中)
网络协议·测试工具·http·fiddler·method·url·get/post