Web安全与风险
Web 攻击基础知识
概念
Web 攻击的本质,就是利用 HTTP 协议篡改应用程序。
可利用点:请求方法、请求头、数据体
可利用过程:认证、会话、授权
认证过程中存在的攻击:
账号枚举:在认证过程中,hacker 手中有账号数据源,根据将其中账号认证接口“该账号不存在”响应,进而枚举出存在于该平台的账号。
密码爆破:枚举账号之后,用密码字典再挨个去攻击账号。
利用途径:Web、客户端、HTML、其他协议
特点
- 广泛性
- 匿名性
- 利用难度低(对比主机漏洞、木马病毒)
常见攻击点
-
中间件:针对 HTTP 底层服务器,如 IIS、Apache、Nginx、Tomcat
-
Web 应用:授权、认证、输入验证、程序逻辑、钓鱼等
-
数据库:SQL 注入
-
Web 客户端:客户端软件漏洞、浏览器、APP、小程序等
-
传输:中间人攻击、窃听等
-
可用性:DDOS(Distributed Denial of Service,利用大量傀儡机/肉机去攻击某个网站服务,造成网站服务无法处理正常用户请求)、CC 攻击(Credential Stuffing Attack)
渗透测试学习框架
渗透测试我们将学习如下内容:
1. 信息搜集
假设我们要扫描淘宝的漏洞:https://www.taobao.com
首先登录网站,可收集如 下信息:
- 端口
- 子站,比如 abc.taobao.com、a.b.taobao.com
- 新业务
- 收集业务
- 微信小程序
- 友情链接
- 旁站
2. 漏洞攻防
- SQL 注入
- XSS
- CSRF
- SSRF
- 命令注入
- 目录穿越
- 暴力破解
- 文件读取
../../../etc/passwd
- 文件上传
.php
- 文件包含
include(filename)
- XXE 代码解析 XML 文件是解析外部实体引发漏洞
- 逻辑漏洞 / 业务漏洞:比如短信轰炸,就是抓住接口没有限制短信发送
- 中间件
3. 编程语言
PHP
Python
Java
JavaScript
5. 代码审计
- 代码审计属于白盒测试