web一些基本概念
一、域名
1.域名
域名(Domain Name),又称网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识。
由于IP地址具有不方便记忆并且不能显示地址组织的名称和性质等缺点,人们设计出了域名,并通过网域名称系统(DNS,Domain Name System)来将域名和IP地址相互映射,使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP地址数串。
2.二级域名和多级域名
- 一级域名相比较于二级域名基本更高,二级域名一般都是依附于一级域名之下,即二级域名是一级域名的细分层级。举个例子:如A.com是一级域名,A.B.com则是二级域名。
3.域名对于渗透的作用
- 当我们在对网页进行渗透的时候,在主域名找不到漏洞时,可以尝试其下层级的子域名,可以通过在子域名的漏洞从而延伸到主域名中。
4.域名注册
- 域名现有的注册机构比较多,其中比较著名的机构是万网,万网已经被阿里云收购。
二、域名系统
1.域名系统
DNS是计算机域名系统(Domain Name System 或 Domain Name Service)的缩写,它是由解析器和域名服务器组成的,作用是把域名转换成为网络可以识别的ip地址。
域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。其中域名必须对应一个IP地址,而IP地址不一定有域名。DNS就是进行域名解析的服务器。
2.HOSTS与DNS的关系
HOSTS是一个没有扩展名的系统文件,其作用是将一些常用的域名与其对应的IP地址建立一个关联的“数据库”存入电脑中,当用户在浏览器中输入一个需要登录的网址时,系统会首先在HOSTS文件中找到对应IP地址,如果没有找到,则系统会将网址提交DNS域名解析服务器进行IP地址的解析。
访问一个网站时,系统首先在DNS缓存读取该域名所对应的IP地址,当查找不到时就会到系统中查找hosts文件,如果还没有那么才会向DNS服务器请求一个DNS查询。
3.CDN与DNS的关系
CDN的全称是内容分发网络,其作用是让用户能够更加快速的得到请求的数据。它能人用户就近访问数据,从而达到快速获取的目的。
举个例子:现在服务器在北京,深圳的用户想要获取服务器上的数据就需要跨越一个很远的距离,这显然就比北京的用户访问北京的服务器速度要慢。但是现在我们在深圳建立一个cdn服务器,上面缓存住一些数据,深圳用户访问时先访问这个cdn服务器,如果服务器上有用户请求的数据就可以直接返回,这样速度就大大的提升了。
4.常见的DNS安全攻击
缓存投毒(DNS污染)
通常也称为域名系统投毒或DNS缓存投毒。它是利用虚假Internet地址替换掉域名系统表中的地址,进而制造破坏。当网络用户在带有该虚假地址的页面中进行搜寻,以访问某链接时,网页浏览器由于受到该虚假条目的影响而打开了不同的网页链接。在这种情况下,蠕虫、木马、浏览器劫持等恶意软件就可能会被下载到本地用户的电脑上。
用通俗的话描述,就是更改了缓存中某域名的地址,将其改为了自己的虚假地址,当被攻击者点开时,会转到攻击者指定的网站,从而达到攻击的目的。
2)DNS劫持
DNS劫持又称域名劫持,是指在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则返回假的IP地址或者什么都不做使请求失去响应。
其效果就是对特定的网络不能访问或访问的是假网址。这类攻击一般通过恶意软件来更改终端用户TCP/IP设置,将用户指向恶意DNS服务器,该DNS服务器会对域名进行解析,并最终指向钓鱼网站等被攻击者操控的服务器。
3)域名劫持
所谓的域名劫持就是在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则直接返回假的IP地址或者什么也不做使得请求失去响应。
其效果就是对特定的网址不能访问或访问的是假网址。一旦您的域名被劫持,用户被引到假冒的网站进而无法正常浏览网页,用户可能被诱骗到冒牌网站进行登录等操作导致泄露隐私数据。
4)DNS DDOS攻击
针对DNS的DDoS攻击通过控制大批僵尸网络利用真实DNS协议栈发起大量域名查询请求,利用工具软件伪造源IP发送海量DNS查询,发送海量DNS查询报文导致网络带宽耗尽而无法传送正常DNS查询请求。发送大量非法域名查询报文引起DNS服务器持续进行迭代查询,从而达到较少的攻击流量消耗大量服务器资源的目的。
5)反射式DNS放大攻击
DNS 反射放大攻击主要是利用 DNS 回复包比请求包大的特点,放大流量,伪造请求包的源 IP 地址为受害者 IP,将应答包的流量引入受害的服务器。
三、脚本语言
1.语言脚本类型
- 脚本语言又被称为扩建的语言,或者动态语言,是一种编程语言,用来控制软件应用程序,脚本通常都是以文本形式保存,只在被调用时进行解释或编译。例如:Scala、JavaScript,VBScript,ActionScript,MAXScript,ASP,JSP,PHP,SQL,Perl,Shell,python,Ruby,JavaFX,Lua,AutoIt等。
2.不同脚本类型与安全漏洞的关系
- 不同的脚本语言的编写规则不一样,程序产生的漏洞自然也不一样(代码审计)。
四、后门
1.后门
- 后门程序一般是指那些绕过安全性控制而获取对程序或系统访问权的程序方法。类别:网页、线程插入、扩展、C/S后门。
2.后门在安全测试中的实际意义
- 例如后门藏在网页上、软件内,悄无声息的进行攻击者想要的操作。
五、WEB方向
1.web的组成架构
- 网站源码:分脚本类型、分应用方向
- 操作系统:windows、linux
- 中间件(搭建平台):apache、iis、tomcat、nginx等
- 数据库:access、mysql、mssql、oracle、sybase、db2、postsql等
2.web相关安全漏洞
web源码对应漏洞:
–SQL注入
–文件上传
–XSS
–代码执行
–变量覆盖
–逻辑漏洞
–反序列化
2)web中间件对应漏洞:
–未授权访问
3)web数据库对应漏洞:
–内核漏洞
4)web系统层对应漏洞:
–提权漏洞
–安全代码执行
3.相关资源
- web安全相关地址:https://websec.readthedocs.io/zh/latest/