第一天
基础入门 -概念名词
1.域名和DNS
顶级域名(www),多级域名
DNS(域名解析系统) 域名和IP 地址相互转换
本地HOST文件与DNS(可以修改IP地址)
超级Ping工具
CDN(内容分发网络),使用户就近获取内容
2.web
- 网站源码
分脚本类型,分应用方向
- 操作系统
- 中间件 (搭建平台) ,apache ,iis,tomcat ,nginx 等
- 数据库
3.漏洞
- web源码对应漏洞 SQL 注入,上传,XSS,代码执行,变量覆盖
- web中间件对应漏洞
- web数据库对应漏洞
- web系统层对应漏洞
- 其他第三方对应漏洞
- APP或PC应用结合类
案例演示
- 多级域名的查找
第二天
数据包拓展
1.Request 请求数据包
2.Proxy 代理服务器
3.Response 返回数据包
4.HTTP
- HTTP
- TCP
- IP
5.HTTPS
- HTTP
- SSL TLS(证书或加密协议)
- TCP
- IP
6.请求数据包格式
- 请求行:请求类型,请求资源路径、协议的版本和类型
- 请求行由三个标记组成:请求方法、请求URL和HTTP版本,用空格分隔
- HTTP规定了8种可能的请求方法:
- GET:检索UTL中标识资源的一个简单请求
- HEAD:与get方法相同,服务器只返回状态行和头标,并不返回请求文档
- POST:服务器接受被写入客户端输出流中的数据的请求
- PUT:服务器保存请求数据作为指定URL新内容的请求
- DELETE:服务器删除URL中命令的资源的请求
- OPTIONS:关于服务器支持的请求方法信息的请求
- TRACE: web 服务器反馈HTTP请求和其头标的请求
- CONNECT:已文档化,但当前为实现的一个方法,预留做隧道处理
- 请求头:一些键值对,浏览器与web服务器之间都可以发送,特定的某种含义
- HOST:主机或域名地址
- ACCEPT:指浏览器或其他客户可以接受的MIME文件格式,SERVLET 可以根据它判断并返回适当的文件格式
- USER-Agent :是客户浏览器的名称
- Host:对应网址URL中的web 名称和端口号
- Accept-Language:指出浏览器可以接受的语言种类
- connection:用来告诉服务器是否可以维持固定的http连接
- cookie:浏览器用这个属性向服务器发送cookie
- referer:表明产生请求的网页URL,跟踪web请求是从什么网站来的
- accept-charset:指出浏览器可以接受的字符编码
- accept-encoding:指出浏览器可以接受的编码方式
- 空行:请求头与请求行体之间用一个空行隔
- 请求体:要发送的数据(一般post提交会使用)
7.返回数据包格式
一个响应有四个部分组成:状态行,响应标头、空行。相应数据
- 状态行:协议版本,数字形式的状态码和状态描述,各元素之间以空格分隔
- 响应标头:包含服务器类型、日期、长度、内容类型等
- 空行:响应头与响应体之间用空行隔开
- 响应数据:浏览器会将试题内容中的数据提取出来,生成相应的页面
- HTTP响应码
第三天
搭建安全拓展
知识梳理:
- 常见搭建平台脚本启用
- 域名IP目录解析安全问题
- 常见文件后缀解析对应安全
- 常见安全测试中的安全防护
- web后门与用户及文件权限
1.IIS脚本启用
- 域名IP解析的安全问题
- 用IP地址扫描能够获取更多的信息,IP地址一般指向网站域名的上一级
- 应用程序扩展配置,cdx,cer后缀指向asp文件解析
- 身份验证和IP限制
2.基于中间件的简要识别
- 抓包分析
- web中间件常见漏洞
- vulhub靶场
第四天
web源码扩展
知识点:
- 关于web源码目录结构
- 关于web源码脚本类型
- 关于web源码应用分类
- 关于web源码其他说明
1.数据库配置文件,后台目录,模板目录,数据库目录等
1 |
2.ASP,PHP,ASPX,JSP,JAVAWEB等脚本类型源码安全问题
1 |
|
3.演示案例
ASP,PHP等源码下安全测试
1
2
3
4
5
6
7
8
9
10
111.平台识别-某CMS无漏洞-默认数据库
2.平台识别-某CMS有漏洞-漏洞利用
*下载xycms源码-——>xydata--->xycms.mdb查看管理员登录账号和密码
*metinfo网站源码下载--->分析
*window下查看文件md5值--->cms字典对比md5---->进入网站目录
*在线cms指纹识别源码应用分类下的针对漏洞
1
2
3niushop电商类关注漏洞点-业务逻辑
*抓包修改购买数量(-1)实现0元购简要目标从识别到源码获取
1
2
3*抓取网络数据包识别特殊的文件名
*thinkp
第五天
系统及数据库等
知识点:
- 操作系统
- web
- APP
- 第三方
1.操作系统
1 |
|
2.数据库
1 | #识别数据库类型 |
3.第三方层面
1 |
第六天
加密编码算法
1.常见加密编码
1 |
2.常见加密形式算法
1 | 直接加密、带salt、带密码、带偏移、带位数、带模式、带干扰、自定义组合等 |
3.常见解密方式
1 | 枚举,自定义逆向算法 |
4.常规加密算法的特性
第七天
信息搜集-CDN相关技术
CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在先有网络基础上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。但在安全测试过程中,若目标存在CDN服务,将会影响到后续的安全测试过程。
1.如何判定目标存在CDN服务?
1 |
|
2.CDN对于安全测试有哪些影响?
1 |
3.目前常见的CDN绕过技术有哪些?
1 |
|
4.CDN获取到真实IP地址后绑定指向地址
1 |
5.案例演示
1 | #利用子域名请求获取真实IP |
第八天
信息搜集-架构、搭建、WAF等
在安全测试中,信息搜集是一个非常重要的缓解,此环节的信息将影响到后续的成功纪律,掌握信息的多少将决定发现漏洞的机会大小,换言之决定能否完成目标的测试任务。渗透测试的思路就是从信息搜集这里开始的。
1.CMS识别技术
2.源码获取技术
3.架构信息获取
4.站点搭建分析
- 搭建习惯-目录型站点
- 网站不同目录下是不同的搭建方式
- 搭建习惯-端口类站点
- 端口不同,页面不同
- 搭建习惯-子域名站点
- 子域名不同网站
- 搭建习惯-类似域名站点
- 搜集类似域名
- 搭建习惯-旁注,C段站点
- 搭建习惯-搭建软件特征站点
5.WAF
- 识别WAF
第九天
信息搜集-APP及其他资产
1 |
各种端口一通乱扫
各种子域名一通乱查
第十天
信息搜集-资产监控扩展
1.GitHub监控
2.各种子域名查询
3.DNS,备案,证书
4.全球节点请求
5.黑暗引擎相关搜索
6.微信公众号接口获取
第十一天
web漏洞-必备知识点
第十二天
SQL注入
1.MYSQL
1 |
|
第20天
文件上传之基础过滤方式
- 什么是文件漏洞:
- 凡是有文件上传功能的地方就有可能有文件上传漏洞
- 文件上传漏洞的危害:
- 权限
- 文件上传漏洞的查找及判断:
- 黑盒查找:扫描敏感文件
- 判断:抓包测试
- 文件上传注意点:
- 区分漏洞类别
- 实际应用:
- 案例一:常规文件上传地址的获取说明
- 案例二:不同格式下的文件类型后门测试
- 案例三:配合解析漏洞下的文件类型后门测试
- 案例四:本地文件上传漏洞靶场环境搭建测试
- 案例五:某CMS及CVE编号文件上传漏洞测试
- 练习地址:upload-labs