前言
我自学过程中搜集的资料已经整理成一套完整的教程,需要的可以点击链接:CSDN大礼包:零基础到进阶全套学习教程,免费分享!
0x01 基础名词
一、域名
1.什么是域名
2.域名在那里注册
3.什么是二级域名,多级域名,顶级域名
4.域名发现对于安全测试的意义
二、DNS
1.什么是DNS
2.本地host和DNS的关系
3.CDN是什么,和DNS有什么关系
三、常见的DNS攻击
四、脚本语言
1.常见的脚本语言有哪些
2.不同的脚本类型于安全漏洞的关系
3.漏洞挖掘代码审计于脚本类型的关系
五、后门
1.什么是后门,有哪些后门
2.后门在安全测试的意义
六、WEB
1web的组成架构模型
2架构漏洞安全测试简要介绍
3为什么要从web层面为主首
4WEB相关安全漏洞
0x02 数据包拓展
一、Http与Https
1Http与Https
3Http&Https的传输过程
二、Request 请求数据包数据格式
1.请求行
2.请求头
3.空行
4.请求体
三、Response 返回数据包数据格式
1.状态行
2.响应头标
3.空行
4.响应数据
0x03 搭建安全拓展
1. 搭建安全拓展 IIS
2.域名ip目录解析安全问题
3.用域名访问网站的目录
4. 用ip地址访问网站是在域名目录的上一级(可能扫描到备份文件,敏感信息)
5.常见文件后缀解析对应安全
6.常见安全测试中的安全防护
7.Web后门与用户及文件权限
0x04 WEB源码拓展
1.WEB源码目录结构
2. WEB源码脚本类型
3.WEB源码应用分类
4.WEB源码的其他说明
0x05 系统及数据库等
1.操作系统
2.数据库
3.第三方
4.补充
域名就是网站地址的名称,例如www.baidu.com
国内:万维网,阿里云
国外: Godaddy
顶级域名 baidu.com yuque.com 只有一个.域名
二级域名 news.baidu.com tieba.baidu.com 加在顶级域名前的域名
多级域名 test.news.baidu.com 加在在二级域名前的域名
同一网站的顶级域名和多级域名之间有联系,给安全测试多一种可能性
DNS是域名系统服务协议,主要用于域名和IP地址的相互切换
例如在cmd命令控制台中可以通过 ping www.baidu.com 将域名解析成IP地址
本地host路径:“windows”→“System32”→“drivers”→“etc”。
DNS在解析域名时会优先访问host文件寻找是否有域名对应的IP地址,如果没有
再去互联网上去解析
CDN是 内容分发网络,缓存节点技术,让用户在不同的地方都能快速访问网站
更改DNS的解析服务器地址,会访问到不同地区的CDN,CDN会访问最近的节点来保证访问速度
asp php aspx jsp javaweb pl py cgj等
不同脚本语言规范不一样,规范严谨的相对来说安全漏洞出现的比较少
规范不严谨的脚本语言相对来说出现安全漏洞的几率更大
需要能看懂脚本语言
攻击者在得到权限后,留下后门文件方便下次进入;
服务器后门,网站后门等等
可以更方便的链接到主机
在获取到主机权限的时候,后门可以充当命令控制台的角色
网站源码:分脚本类型,应用方向(论坛,博客,社交)
操作系统:windows ,Linux
中间件(搭建平台):apache iis tomcat
数据库:access mysql mssql oracle sybase db2 postsql 等
web使用的比较广
web网站了漏洞相对较多
web 作为跳板深入到其他资源相对容易
WEB 源码类对应漏洞:SQL 注入,上传,XSS,代码执行,变量覆盖,逻辑漏洞,反序列化等
WEB 中间件对应漏洞:未授权访问,变量覆盖…
WEB 数据库对应漏洞:弱口令,权限提升…
WEB 系统层对应漏洞:提权,远程代码执行
浏览器Request request 服务器
浏览器response response 服务器
Request 数据请求
proxy 代理
response 数据返回
http传输过程:建立连接>发送请求数据包>返回响应数据包>关闭连接
https传输过程:
HTTP 规划定义了8种可能的请求方法:
GET:检索URL中标识资源的一个简单请求。
HEAD:与GET方法相同,服务器只返回状态行和头标,并不返回请求文档。
POST:服务器接收被写入客户端输出流中的数据的请求。
PUT:服务器保存请求数据作为指定URL新内容的请求。
DELETE:服务器删除URL中命令的资源的请求。
OPTIONS:关于服务器支持的请求方法信息的请求。
TRACE:web服务器反馈HTTP请求和其头标的请求。
CONNECT:已文档化,但当前未实现的一个方法,预留做隧道处理。
由关键字/值对组成,每行一对,关键字和值用冒号分享。请求头标通知服务器腾于客户端的功能和标识。
HOST: 主机或域名地址
Accept:指浏览器或其他客户可以接受的 MIME 文件格式。Servlet 可以根据它判断并返回适当的文件格
式。
User-Agent:是客户浏览器名称
Host:对应网址 URL 中的 Web 名称和端口号。
Accept-Langeuage:指出浏览器可以接受的语言种类,如 en 或 en-us,指英语。
connection:用来告诉服务器是否可以维持固定的 HTTP 连接。http 是无连接的,HTTP/1.1 使用 Keep-Alive
为默认值,这样,当浏览器需要多个文件时(比如一个 HTML 文件和相关的图形文件),不需要每次都建立
连接
Cookie:浏览器用这个属性向服务器发送 Cookie。Cookie 是在浏览器中寄存的小型数据体,它可以记载
和服务器相关的用户信息,也可以用来实现会话功能。
Referer : 表 明 产 生 请 求 的 网 页 URL 。 如 比 从 网 页 /icconcept/index.jsp 中 点 击 一 个 链 接 到 网 页/icwork/search , 在 向 服 务 器 发 送 的 GET/icwork/search 中 的 请 求 中 , Referer 是http://hostname:8080/icconcept/index.jsp。这个属性可以用来跟踪 Web 请求是从什么网站来的。
Content-Type:用来表名 request 的内容类型。可以用 HttpServletRequest 的 getContentType()方法取得。
Accept-Charset:指出浏览器可以接受的字符编码。英文浏览器的默认值是 ISO-8859-1.
Accept-Encoding:指出浏览器可以接受的编码方式。编码方式不同于文件格式,它是为了压缩文件并加
速文件传递速度。浏览器在接收到 Web 响应之后先解码,然后再检查文件格式。
最后一个请求头标之后是空行,发送回车符和退行,通知服务器以下不再有头标。
使用 POST 传送,最常使用的是 Content-Type 和 Content-Length 头标。
状态行:协议版本、数字形式的状态代码和状态描述,个元素之间以空格分隔
HTTP 响应码
1xx:信息,请求收到,继续处理
2xx:成功,行为被成功地接受、理解和采纳
3xx:重定向,为了完成请求,必须进一步执行的动作
4xx:客户端错误
5xx:服务器错
包含服务器类型、日期、长度、内容类型等
响应头与响应体之间用空行隔开
浏览器会将实体内容中的数据取出来,生成相应的页面
常见搭建平台脚本启用
后台目录
模板目录
数据库目录
数据库配置文件目录
asp,sapx,php,javaweb,jsp,python
不同脚本对应常用的数据库
asp,sapx :sqlserver
php:
javaweb:mysql
jsp
python
3.WEB源码应用分类
不同的应用类型,在进行安全测试时的侧重点不同
门户网站
电商网站
论坛网站
博客网站
第三方
4.WEB源码的其他说明
cms:开源程序,能在网上直接下载到源码
判断是否cms:在网站中寻找cms标识
源码的获取途径:搜索引擎(a5,站长之家,菜鸟源码),
Winodws,Linux
Windows不区分大小写,Linux区分大小写;可以由此用来判断网站使用的系统
2.数据库
Sqlserver,mysql,oracel
3.第三方
4.补充
最后
我自学过程中搜集的资料已经整理成一套完整的教程,需要的可以点击链接:
CSDN大礼包:零基础到进阶全套学习教程,免费分享!
CSDN大礼包:零基础到进阶全套学习教程,免费分享!
CSDN大礼包:零基础到进阶全套学习教程,免费分享!