渗透测试基础概念
本文最后更新于 2024-06-04,文章内容可能已经过时。
渗透测试
一、渗透测试
通过模拟黑客对系统进行攻击的手段或技术,在被测系统中发现漏洞的行为。除了提供漏洞之外,还需提供安全意见。
与黑站不同,渗透测试一般情况下,需要授权。
二、测试类型
1、黑盒测试:不能看到源码,只能通过系统页面进行的测试。
2、白盒测试:通过对源码的代码审计进行的测试。也叫玻璃盒测试。
3、灰盒测试:使用方法可以是黑盒,也可以是白盒。二者结合方式。(通过协议方式,可以理解为灰盒)
三、漏洞的生命周期
POC:Proof ofConcept
Exploit,中文意思是“漏洞利用”
CVE 的英文全称是“Common Vulnerabilities & Exposures”,就是通用漏洞披露,是全球统一的对信息安全漏洞或者已经暴露出来的弱点的公共名称
态势感知:实时监控流量业务,发现入侵行为。
1.0day - 1day
2.发掘->利用->传播->补丁->消亡
0day漏洞:又称零日漏洞,是指已经被攻击者发现并开始利用,但还没有被包括受影响软件厂商在内的公众所知的漏洞。
这类漏洞对攻击者来说有完全的信息优势,由于没有漏洞的对应的补丁或临时解决方案,防守方不知道如何防御,攻击者可以达成最大可能的威胁。0day漏洞通常被黑客以高价在黑市上出售,而攻击者则可以静悄悄地利用这些漏洞,直到相关合法机构意识到问题并发布相应的修补程序。由于0day漏洞从被发现到被利用的时间非常短,对于防守方来说,缺乏漏洞细节和具体信息,单纯依靠防火墙或杀毒软件等传统的防御手段难以实施有效检测。因此,阻止0day漏洞利用攻击,最重要的是升级网络防护体系,通过内存保护技术实现实时监控和主动防御。
四、渗透测试流程
五、owasp top 10
**OWASP的全称是Open Web Application Security Project。**这是一个全球性的、非营利的开放式Web应用程序安全项目组织,旨在通过提高设计和开发过程中的安全性来防止Web应用受到黑客攻击。OWASP成立于2004年4月21日,总部位于美国,是一个国际组织,其基金会负责支持世界各地的活动。
(1)失效的访问控制:(cookies就可以被黑客利用,获取高级别的权限)
通俗的说,就是越权。在未通过身份认证的情况下,对系统进行访问。获取与之身份不匹配的访问权限。
①访问其他用户,获取敏感信息;
②修改其他用户数据;
③修改访问权限;
(2)加密机制失效:
以前也叫敏感数据泄露。
①数据采用明文传输。
②用老旧的或者弱加密算法
③未强制执行加密
④不验证服务器证书
(3)注入:
分为sql注入和xss注入:利用web页面上输入域语法校验漏洞,向系统中注入命令或者代码。
①sql注入:将用户的输入内容通过字符串拼接的方式将系统中的sql命令变成另一个sql命令,从而获取数据(拖库)或者获取文件(get shell)。
②xss注入:对用户输入的信息未过滤,将用户输入的代码注入到其他用户的浏览器上。窃取用户信息,伪装身份攻击。
③代码注入:敏感函数中可以执行代码
④命令注入:敏感函数中可以执行操作系统命令。
(4)不安全的设计
2021版新增漏洞,就是指系统在设计上存在的问题。
①弱验证:没有关闭万能验证码
②使用了简单加密
③隐藏的令牌信息
④静态资源注入:上传
(5)安全配置错误
服务器在系统设置中没有安全相关的软件配置或者安全设备设置。
①对应用程序堆栈没有任何安全强化。 补充知识:https://zhuanlan.zhihu.com/p/588249684?utm_id=0
②对云服务权限配置不正确。
③启用了不必要的功能。
④默认账户和密码处于启用状态或者未修改。
⑤错误信息向用户显示。 die(“操作失败!”,mysqli_error($con))
⑥对升级系统,最新安装安全功能被禁用。
⑦服务器中安全设置没有达到安全值
⑧软件过时。
(6)自带缺陷和过时组件;
系统中带有过时组件(已经发现漏洞的组件)
①不知道所使用组件的版本
②不定期扫描组件,不关注官方公告
③没有对组件基于风险而升级
④不测试,不保护组件
(7)身份识别和身份验证错误
攻击者利用用户身份登录系统。
①允许重复多次登录尝试。 验证码 、 限制操作次数
②允许用户使用弱密码。 123456
③密码找回弱验证。
④缺少或者无效的身份验证
⑤在url中公开会话ID
⑥身份失效时间问题。
(8)软件和数据的完整性保障
这也是一个新增的类型,指的是在不验证完整性的情况下做出与软件更新、关键数据和CI/CD管道相关的假设。
①固件更新没有签名
②恶意更新
③不安全的序列化
(9)安全日志和监控故障
指的是在没有日志记录和监控,将无法检测到漏洞,此类故障会直接影响可见性、事件报警和取证。
①不记录可审计的事件
②警告和错误不生成报告,或者报告内容不清楚
③不监控应用程序的可疑操作。
④日志仅存储在本地
⑤适当的报警阈值响应升级流程没有到位
⑥渗透测试和扫描不报警
(10)服务器请求伪造 ssrf
这一漏洞是在行业调查中添加的,数据显示发生概率较低。
①通过url访问资源,获取敏感文件
②通过url进行内网扫描(ip,端口)
- 感谢你赐予我前进的力量