一、渗透测试基础概念
什么是web渗透测试
定义: Web渗透测试是一种模拟黑客攻击的安全评估过程,通过模拟黑客可能使用的攻击技术和漏洞发现技术,对目标网络、主机、应用的安全作深入的探测。
核心目标: 发现系统潜在的安全漏洞,帮助管理者了解网络所面临的问题,并提供安全加固建议,提升系统的安全性。
渗透测试的三种类型
| 类型 | 定义 | 核心目标 |
|---|---|---|
| 白盒测试 | 基于代码审查,测试者已知目标系统的代码。 | 以最小代价发现更多严重的隐藏漏洞 |
| 黑盒测试 | 除测试范围外,全部模拟黑客攻击过程。 | 完整评估目标的安全风险,检测目标团队的应急能力 |
| 灰盒测试 | 结合了白盒测试的代码审计和黑盒测试的攻击策略与技术。 | 快速全面检测出漏洞,具备更完整的安全风险评估能力 |
二、渗透测试步骤与流程
1. 系统信息收集:
- 收集系统端口及对应的服务信息
- 前后端使用的语言(php,java)
- 框架(thinkphp,springboot)
- 系统组件(shiro,fastjson)
- web端口80,443,7001(weblogic),8080(tomcat)
2. 漏洞扫描及测试:
- 使用漏洞扫描工具(xray,awvs等)
- 抓包工具(burpsuite)
3. 报告编写:
渗透测试完成后及时编写报告,记录漏洞名称,接口,危害程度,修复建议等
三、渗透测试工具及技能
信息收集工具
端口识别: Nmap
能扫描主机和端口,还可进行漏洞探测。它可以快速确定目标主机开放的端口,识别端口上运行的服务,为后续渗透提供基础信息。例如,通过Nmap扫描可得知目标主机的80端口开放,运行着HTTP服务。
指纹识别: Wappalyzer
分析目标网站所采用的平台架构、网站环境、服务器配置环境、javascript框架、编程语言等参数的chrome网站技术分析插件 。下载:谷歌插件商店直接搜索
目录扫描: dirsearch
是一个用 Python 编写的命令行工具,专为通过字典攻击扫描 Web 服务器上的目录和文件而设计。它可以帮助渗透测试人员、红队成员和安全研究人员发现服务器上未公开的资源和潜在漏洞。
渗透测试与利用工具
抓包与调试工具: Burpsuite
一款集成化的渗透测试工具,包含了很多功能,可以帮助我们高效地完成对Web应用程序的渗透测试和攻击。
- 代理工具(Proxy):抓包改包,数据分析,类似Charles
- 暴力破解(Intruder):接口具体字段进行数据注入,可以多线程并发破解
- 漏洞扫描(Scanner):发送漏洞payload
- 重放请求(Repeater):对数据包进行重放
Sql注入漏洞利用: sqlmap
它可以自动检测和利用 SQL 注入漏洞并接管数据库服务器。
# 简单用法:
python sqlmap.py -u "http://xxx/Less-1/?id=1"
测试渗透的平台
开源php 靶场 github.com/zhuifengsha…
教程: www.cnblogs.com/henry666/p/…
渗透测试核心技能
网络基础技能
渗透测试人员需掌握网络基础,如HTTP/HTTPS协议、TCP/IP协议、DNS解析等。这些知识是进行渗透测试的基本技能,有助于理解网络通信过程和发现潜在的安全漏洞。
漏洞原理
掌握常见漏洞原理,如注入、XSS等,是渗透测试的关键。可通过靶场练习、阅读技术文章等方式提升技能,不断积累经验,提高发现和利用漏洞的能力
Web开发技能:
熟悉HTML、JS、PHP、java等Web开发技术和常见后端架构,能帮助渗透测试人员更好地理解Web应用的工作原理,找到攻击点。例如,了解PHP的代码执行机制,有助于发现代码执行漏洞。
四、app渗透抓包
五、常见web漏洞及案例
SQL注入
漏洞介绍: Web应用程序对用户输入数据的合法性没有判断,前端传入后端的参数是攻击者可控的,并且参数带入数据库查询,攻击者可以通过构造不同的SQL语句来实现对数据库的任意操作。
漏洞危害:
- 盗取用户的机密信息
- 获取整个网站和数据库的控制权限
Sql注入分类:
- 数字型注入点
- 字符型注入点
如何修复:
- 绝不手动拼接SQL语句
- 使用参数绑定
- 对参数进行过滤恶意字符
XSS跨站
漏洞介绍: 恶意攻击者往Web站点里插入恶意脚本代码,当用户浏览该网站时,嵌入其里面的脚本代码会被执行,从而达到恶意攻击用户的特殊目的。
漏洞危害:
- 身份盗用
- 钓鱼欺骗
- 网站挂马
XSS漏洞分类:
- 反射型xss
- DOM型xss
- 存储型XSS
漏洞防御:
- 输入验证
- 输出编码
文件上传
漏洞危害: 攻击者上传恶意脚本文件并执行,获取敏感数据、篡改系统内容等。
漏洞防御:
- 限制允许上传的文件类型
- 上传存储目录不解析
越权漏洞
漏洞介绍: 应用在检查授权时存在纰漏,使得攻击者在获得低权限用户账户后,利用一些方式绕过权限检查,访问或者操作其他用户或者更高权限。
常见类型:
- 水平越权
- 垂直越权
- 未授权访问
漏洞防御:
- 执行关键操作前必须验证用户身份
- 不可将可猜测的标识作为用户访问操作的权限
业务逻辑漏洞
漏洞介绍: 程序逻辑不严导致一些逻辑分支处理错误造成的漏洞。
常见漏洞场景:
- 修改支付的价格
- 修改支付的状态
- 修改购买数量为负数
- 修改金额为负数
漏洞防御:
- 入参判正负,金额、数量等相关
- 支付过程中加一个服务器生成的key,校验用户参数是否被篡改
- 服务端校验/过滤客户端提交的参数
- 数据库加锁
五、法律红线与道德准则
- 《网络安全法》和《刑法》对网络安全有明确规定。
- 非法侵入计算机信息系统罪: 未授权的网络渗透行为,依据情节严重程度进行处罚。
- 一般情形: 三年以下有期徒刑或者拘役,并处或者单处罚金。
- 加重情形: 三年以上七年以下有期徒刑,并处罚金。