域名
什么是域名?
网页的地址
域名层级划分
域名的层级划分是相对于顶级域名有几个“.”而言的
顶级域名,如.com//.net//.edu//.gov都属于通用顶级域名
二级域名,最靠近顶级域名左侧的字段【例如:baidu.com的baidu//qq.com的qq】
域名发现的越多,渗透成功的几率也就越高
DNS
DNS的作用?
主要用于域名和IP地址的相互转换,默认是按照路由器的DNS服务器来解析的
本地HOST(C:\Windows\System32\drivers\etc\hosts)和DNS的关系
在本地添加一个域名相同,但IP地址不同的语句,再ping域名时,解析的IP地址和添加的IP地址相同{改变网络连接到的地址,如:钓鱼攻击},在ping的时候,先在HOST里面找有没有域名,有则用HOST中的,反之则是其他的(绑定IP可以使用此方法)
扩展:什么是CDN?
内容分发网络(相当于在全国各地部署一模一样的服务器),提高访问速度,改变了DNS的服务器地址,再ping的时候会根据不同服务器解析出不同IP地址
常见DNS安全攻击
1.DNS劫持:攻击或伪造DNS将域名解析至错误的地址,导致无法正确访问;
2.缓存投毒(域欺骗攻击):将非法域名传送到DNS服务器,一旦服务器接受,缓存就会被攻击,非法地址进入服务器缓存,用户的浏览器或邮件服务器就会自动跳转到DNS指定地址;
3.DDoS攻击(分布式拒绝服务攻击):发送大量无关请求造成无法处理请求而崩溃;
脚本语言
脚本语言是解释型语言,不需要编译可以在环境中执行;网站源码由多种脚本语言编写
常见脚本类型:
asp、aspx、jsp、javaweb、php、python等
脚本类型与安全漏洞的关系
解决不同问题,使用不同方法对抗不同难度
后门
什么是后门?
后门是指绕过安全控制而获取对程序或系统访问权的方法
获得相关权限后,提供通道直接操纵并且方便下次进入
免杀
防止后门被检测到
WEB
架构
1.网站源码(不同需求对应不同语言,也对应不同的漏洞等)
脚本类型、应用方向
2.操作系统(不同操作系统漏洞不相同)
Windows、Linux
3.中间件(搭建平台)
apache、iis、nginx
4.数据库
mysql、oracle、accrss
漏洞
源码:
sql注入、文件上传、xss跨站、代码执行、变量覆盖、逻辑漏洞(逻辑漏洞是指攻击者利用业务/功能上的设计缺陷,获取敏感信息或破坏业务的完整性;一般出现在密码修改,确权访问,密码找回,交易支付金额等功能)、反序列化等;
中间件:
app和pc端:app和网站用的是相同源码则核心还是一个网站,通过app分析出网站信息
HTTP/S
http和https的区别
https是加密的,而http是明文;https更加安全但速度慢于http
request数据包格式
1.请求行:包含请求方法,请求url和http版本;
2.请求头:包含HOST(对应的主机地址或域名地址)、Accept(指定客户端能够接收的内容类型
)、User-Agent(基于浏览器内核不同,显示信息不同)、referer(请求的来源网页);
3.空行:通知服务器不再有头标(请求头);
4.请求体:使用POST传输,最常使用的是Content-type和Content-length头标;
response数据包格式
1.状态行:协议版本、数字形式的状态代码和状态描述、各元素间空格分开;
2.相应头标:包含服务器类型、日期、长度、内容类型等;
3.空行:分隔响应头和数据;
4.响应数据:浏览器会将实体内容中数据取出来,生成相应页面;
5.http响应码(判断文件/夹是否存在):
1xx:信息请求收到,继续处理;2xx:成功,行为被接受;3xx:重定向,未完成请求必须有进一步执行的动作,即各类问题均可能存在;4xx:客户端错误;5xx服务器错误;
特殊的响应码:200:存在文件,403:存在文件夹;404:不存在文件和文件夹;503:服务不可用;
X-FORWAR-TO
用于伪造IP地址
数据库
数据库类型
小型:access、中型:mysql、大型:oracle
通过脚本语言识别数据库(通常情况)
Asp-Access、PHP-Mysql、Aspx-Mssql、Jsp-Mssql/Oracle、Python-Mysql/Mongodb【不同语言可以使用相同数据库】
数据库运行默认开放的端口
Access没有、Mysql3306、Mssql1433、Oracle1511、Mongodb27017
标签:请求,IP地址,知识,地址,域名,DNS,准备,服务器 From: https://www.cnblogs.com/BWTY/p/17018304.html