漏洞发现-API接口服务之漏洞探针类型利用修复
一、思维导图
二、测试思路
1、信息收集之信息利用
第一步:首先识别网站是否有cdn,waf等产品,有则需要绕过。
第二步:扫描收集到的网站的端口信息,真实ip地址。ip绑定的其他域名等。
第三步:网站敏感路径扫描
第四步:域名+端口敏感信息收集
第五步:ip+端口敏感目录扫描
备注:字典不应该只是敏感路径,还应该有备份文件:zip ,rar,tar等格式文件。
2、接口服务类安全测试
根据前期信息收集针对目标端口服务类探针后进行的安全测试,主要涉及攻击方法:口令安全,WEB类漏洞,版本漏洞等,其中产生的危害可大可小。属于端口服务/第三方服务类安全测试面。一般在已知应用无思路的情况下选用的安全测试方案。
三、常见服务相关漏洞
1、web服务类
tomcat--80/8080/8009
manager弱口令
put上传webshell
HTTP慢速攻击
ajr文件包含漏洞 CVE-2020-1938
Jboss--8080
后台弱口令
console后台部署war包
Java反序列化
远程代码执行
webSphere--9080
后台弱口令
任意文件泄露
Java反序列化
Weblogic--7001/7002
后台弱口令
console后台部署war包
SSRF
测试页面上传webshell
Java反序列化
CVE-2018-2628
CVE-2018-2893
CVE-2017-10271
CVE-2019-2725
CVE-2019-2729
Glassfish--8080/4848
暴力破解
任意文件读取
认证绕过
Jetty--8080
远程共享缓冲区溢出
Apache--80/8080
HTTP慢速攻击
解析漏洞
目录遍历
Apache Solr--8983
远程命令执行
CVE-2017-12629
CVE-2019-0193
IIS--80
put上传webshell
IIS解析漏洞
IIS提权
IIS远程代码执行 CVE-2017-7269
Resin-8080
目录遍历
远程文件读取
Axis2--8080
后台弱口令
Lutos--1352
后台弱口令
信息泄露
跨站脚本攻击
Nginx--80/443
HTTP慢速攻击
解析漏洞
2、数据库类
MySQL--3306
弱口令
身份认证漏洞 CVE-2012-2122
拒绝服务攻击
phpmyadmin万能密码or弱口令
UDF/MOF提权
Mssql--1433
弱口令
存储过程提权
Oralce--1521
弱口令
TNS漏洞
Redis--6379
弱口令
未授权访问
PostgreSQL--5432
弱口令
缓冲区溢出 CVE-2014-2669
MongoDB--27001
弱口令
未授权访问
DB2--5000
安全限制绕过进行未授权操作 CVE-2015-1922
SysBase--5000/4100
弱口令
命令注入
Memcache-11211
未授权访问
配置漏洞
ElasticSearch--9200/9300
未授权访问
远程代码执行
文件办理
写入Webshell
3、大数据类
Hadoop--50010
远程命令执行
Zookeeper--2181
未授权访问
4、文件共享
ftp--21
弱口令
匿名访问
上传后们
远程溢出
漏洞攻击
NFS--2049
未授权访问
Samba--137
弱口令
未授权访问
远程代码执行 CVE-2015-0240
LDAP--389
弱口令
注入
未授权访问
5、远程访问
SSH--22
弱口令
28退格漏洞
OpenSSL漏洞
用户名枚举
Telnet--23
弱口令
RDP--3389
弱口令
shift粘滞键后门
缓冲区溢出
MS12-020
CVE-2019-0708
WNC--5901
弱口令
认证口令绕过
拒绝服务攻击 CVE-2015-5239
权限提升 CVE-2013-6886
Pcanywhere-5632
拒绝服务攻击
权限提升
代码执行
X11-6000
未授权访问 CVE-1999-0526
6、邮件服务
SMTP--25/465
弱口令
未授权访问
邮件伪造
POP3-110/995
弱口令
未授权访问
IMAP-143/993
弱口令
任意文件读取
7、其他服务
DNS--53
DNS区域传输
DNS劫持
DNS欺骗
DNS缓存投毒
DNS隧道
DHCP-67/68
DHCP劫持
DHCP欺骗
SNMP--161
弱口令
Rlogin-512/513/514
rlogin登录
Rsync--873
未授权访问
本地权限提升
Zabbix-8069
远程命令执行
RMI--1090/1099
java反序列化
Docker-2375
未授权访问
案例1:基于端口web站点又测试
很多网站域名是一个网站,域名+端口又是一个网站,这样当你渗透测试时,相当于多了一个目标,相应的成功几率也会变高。
举例:http://yc.zjgsu.edu.cn和http://yc.zjgsu.edu.cn:8080/
带端口不带端口显示出来的是不一样的。
案例2:基于域名web站点又测试
思路1:当我们拿到一个域名的时候,我们可以去查询他的子域名,通过子域名扩大方向。
思路2:查询相关域名,通过百度,域名查询网等,查询域名被注册的网站、
比如www.jmisd.cn,我们进入后搜索jmisd,会显示以下3个域名已被注册。
分别查看它们的whois信息、下方版权信息等。
查看它们与是否与原网站有相同点,若有,说明这两个网站是同一个公司的,然后就为渗透这个网站找到了一条新路。
思路3:当我们拿到一个域名时,通过查看它的whois信息、下方版权信息等获取到该网站特有的一些关键信息,然后直接百度搜索这些信息,就有可能得到一些与该网站相关的其他域名。
案例3:基于IP配合端口又测试
思路1:假设xx.com对应目录d:/wwwroot/xx/,192.168.33.2对应目录d:/wwwroot/,此时目录d:/wwwroot/下有一个网站备份压缩包xx.zip,那么访问xx.com/xx.zip不能下载,但是访问192.168.33.2/xx.zip可以成功下载。
怎么知道有xx.zip文件:
通过自行构造字典
,对网站某一目录下,指定字典进行爆破,常见的扫描工具
有wwwscan、御剑后台扫描工具等。
Dirmap:一款高级Web目录文件扫描工具 - FreeBuf网络安全行业门户
下载先扫描放虚拟机内打开防防止后门,木马。
思路2:给定一个域名,我们先找到对应的ip,然后扫描IP,可以发现开放的端口,我们进行目录扫描或敏感文件扫描时,不仅需要对域名扫描,还要对IP以及IP:端口进行扫描,这样会发现更多的漏洞。
nmap -sV ip 端口扫描:
Goby端口扫描:
案例4:Tomcat弱口令安全问题
1.使用Vulhub一键搭建漏洞测试靶场(https://vulhub.org/)
docker-compose 启动报错时,试试命令:sudo docker-compose up -d
2.在Vulhub网站搜索tomcat弱口令漏洞洞,按照步骤,启动环境,漏洞复现。
超级弱口令检测工具
下载地址:
https://github.com/shack2/SNETCracker/releases
https://www.uedbox.com/post/57215/
SNETCracker超级弱口令检查工具是一款Windows平台的弱口令审计工具,支持批量多线程检查,可快速发现弱密码、弱口令账号,密码支持和用户名结合进行检查,大大提高成功率,支持自定义服务端口和字典。
工具采用C#开发,需要安装.NET Framework 4.0,工具目前支持SSH、RDP、SMB、MySQL、SQLServer、Oracle、FTP、MongoDB、Memcached、PostgreSQL、Telnet、SMTP、SMTP_SSL、POP3、POP3_SSL、IMAP、IMAP_SSL、SVN、VNC、Redis等服务的弱口令检查工作。
工具特点:
- 1.支持多种常见服务的口令破解,支持RDP(3389远程桌面)弱口令检查。
- 2.支持批量导入IP地址或设置IP段,同时进行多个服务的弱口令检查。
- 3.程序自带端口扫描功能,可以不借助第三方端口扫描工具进行检查。
- 4.支持自定义检查的口令,自定义端口。
界面:
前提是要支持外链,如果对方数据库是在内网,那就不行了。
还有hrdra等命令工具。
案例5:端口服务类-Glassfish任意文件读取
(34条消息) GlassFish漏洞总结复现_1ance.的博客-CSDN博客
任意文件读取:可以利用此漏洞读取到受害机的任意文件。
漏洞复现:
glassfish任意文件读取漏洞 - FreeBuf网络安全行业门户
环境搭建:我们这里使用docker中的vulhub漏洞环境
启动镜像:docker-compose up -d
访问https://192.168.28.128:4848/theme/META-INF/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/etc/passwd,返回服务器文件。
案例6:API接口类-网络服务类探针利用测试-AWVS
一、WDSL语言
https://www.w3school.com.cn/wsdl/wsdl_summary.asp
WSDL 是基于 XML 的用于描述 Web Services 以及如何访问 Web Services 的语言。
WSDL 可描述网络服务(Web Services):
Web services 可把您的应用程序转换为 web 应用程序。
WSDL 是一种使用 XML 编写的文档。这种文档可描述某个 Web service。它可规定服务的位置,以及此服务提供的操作(或方法)。
二、API接口测试
连接:
API 接口渗透测试 - 先知社区 (aliyun.com)
地址后面可能存在的wsdl后缀:
通过字典,爬虫进行猜解。
三、AWVS工具漏洞扫描
awvs下载:https://www.cnblogs.com/xyongsec/p/12370488.html
测试WSDL网络服务可使用AWVS扫描
添加目标->选择扫描内容
扫描进度:
扫描结果:
发现sql注入,这里面是漏洞的注入语句,复制数据包
把复制的数据包,在sqlmap安装目录,新建一个文档
将数据包复制进去。
把他的测试注入语句给删掉,换成x*告诉sqlmap你要在此处进行注入。
sqlmap工具启动注入
sqlmap -r wsdl.txt --batch
//--batch就是遇到yes or no的时候全部yes
sqlmap列出表:
sqlmap -r wsdl.txt --batch --tables