文章目录
- ASP-默认安装-MDB数据库泄漏下载漏洞
- [ASP-中间件 HTTP.SYS(CVE-2015-1635)](#ASP-中间件 HTTP.SYS(CVE-2015-1635))
- [ASP-中间件 IIS短文件漏洞](#ASP-中间件 IIS短文件漏洞)
- [ASP-中间件 IIS文件解析漏洞](#ASP-中间件 IIS文件解析漏洞)
-
-
- [IIS 6 解析漏洞](#IIS 6 解析漏洞)
- [IIS 7.x 解析漏洞](#IIS 7.x 解析漏洞)
- 应用场景:
-
- [ASP-中间件 IIS写权限漏洞](#ASP-中间件 IIS写权限漏洞)
- ASP-SQL注入&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
获取网站目录方法
- 用字典跑
- 利用漏洞探针(ISS短文件
- 网站爬虫:获取架构中的目录和文件目录。