这节课一样首要任务就是理解,复现可做可不做
演示案例:
➢ Web-拓展应用-蜜罐-钓鱼诱使
➢ Web-拓展应用-堡垒机-突破口
➢ Web-拓展应用-API接口-突破口
➢ Web-拓展应用-其他架构-突破口
测试系统:Ubuntu 20.04
一键安装:bash <(curl -sS -L https://hfish.net/webinstall.sh)
复现:就是租一台服务器然后上面搭建一个蜜罐系统,然后有人攻击,蜜罐后台就可看到攻击者信息
有害影响:用来钓鱼或诱惑测试人员的防护系统,攻击者攻击半天没什么卵用,还有可能被防护方反制(一般在护网中常见,正常测试一般不会碰到)
#堡垒机:https://www.jumpserver.org/
测试系统:Ubuntu 20.04
一键安装:curl -sSL https://resource.fit2cloud.com/jumpserver/jumpserver/releases/latest/download/quick_start.sh |bash
有利影响:Web应用或其他应用提供给测试人员一个能获取到价值信息的系统(运维用的),堡垒机=服务器唯一的入口,所有运维人员,只能先登录堡垒机,才能去连接内网服务器,不能直连业务主机,对渗透测试人员这个不一定是一个坏事,因为好多堡垒机产品本身就有漏洞。
#API接口:是一个允许不同软件应用程序之间进行通信和数据交换的接口。API定义了一组规则和协议,软件开发者可以使用这些规则和协议来访问操作系统、库、服务或其他应用程序的功能。
1、Web API:
通过HTTP协议进行通信的API,常用于Web服务和应用程序。
例如,RESTful API、GraphQL API。
2、库和框架API:
提供特定编程语言或框架功能的API,供开发者在应用程序中使用。
例如,Java API、Python标准库。
3、操作系统API:
提供操作系统功能访问的API。
例如,Windows API、POSIX API。
4、远程API:
允许在网络上远程访问服务的API。
例如,SOAP API、XML-RPC API。
例子:
内部API:比如我自己开发了一个收银系统,使用API接口可以查询到顾客数据,收入支付,销售提成等
外部API:比如我自己搭建了一个网站应用,功能需求有要借助到外部的资源,如地图,归属地,短信收发等
识别API就是看url,比如里面出现api那肯定就是了
有利影响:
内部API:Web应用提供给测试人员一个能获取到价值信息的接口
外部API:可以借助提供的API获取到当前网站不想让你获取的信息
分析API的目录结构、接口命名规则、参数命名规则、功能和业务逻辑等,
根据这些信息可以进行接口枚举和参数枚举,进而可以进行相关的漏洞测试。
#Swagger 是API接口文档工具。
后端写好接口后,自动生成网页文档,能直接看到:接口地址、传参格式、请求方式,还能在线发送测试请求。
1. 作用
前后端开发对接不用来回传文档,打开网页就能调试接口。
2. 渗透测试核心考点
默认访问地址:/swagger-ui.html
如果对外开放,攻击者可以扒出全部接口:用户新增、数据查询、管理员账号接口,极易找到未授权访问漏洞。
一句话:它是项目所有API接口的展示页面,泄露后容易挖掘后端漏洞。
#拓展应用:防火墙 消息队列 分布式等
ActiveMQ Redis Memcache Jenkins等漏洞
https://mp.weixin.qq.com/s/SEjxrUgiIIK2bveSBz6mTg
有利影响:搭建越多应用即方便了运维也提供给测试人员更多机会