基础入门
1.基础入门——基础概念
域名
- 什么是域名
域名(英语:Domain Name),又称网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置)
由于IP地址具有不方便记忆并且不能显示地址组织的名称和性质等缺点,人们设计出了域名,并通过网域名称系统(DNS,Domain Name System)来将域名和IP地址相互映射,使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP地址数串。 比如www.baidu.com,这就是一个域名,简单来说就是ip不好记,所以有了域名来方便记忆。可以联想到地址和经纬度的关系(上海 :经度 121.48 纬度 31.22) - 域名在哪里注册
域名注册是Internet中用于解决地址对应问题的一种方法。根据中国互联网络域名管理办法,域名注册服务机构及域名注册管理机构需对申请人提出的域名是否违反了第三方的权利和申请人的真实身份进行核验。每一个相同顶级域名中的二级域名注册都是独一无二的,不可重复的,但不同顶级域名中的二级域名可以是相同的,例如baidu这个二级域名曾可以在.com中注册,也可以在.cn中注册,也可以在.xyz中及其他多种顶级域名中注册,且每个域名都起到同样的作用。因此,在网络上域名是一种相对有限的资源,它的价值随着注册企业和个人用户的增多而逐步为人们所重视 - 什么是二级域名多级域名
例如www.dns0755.net是dns0755.net的子域名,而dns0755.net又是net的子域名。国际顶级域名的子域名叫做二级域名。
如A.com是一级域名,A.B.com则是二级域名。一级域名较二级域名级别更高,而二级域名则是依附于一级域名下的附属分区域名,即二级域名是一级域名的细分层级。
通过网址上【.】数量来判断域名层级,有多少【.】就为几级域名,如A.com是一级域名,A.B.com则是二级域名。
如:baidu.com 是百度的顶级域名,zhidao.baidu.com 是二级域名,zhidao.zhidao.baidu.com 是三(多)级域名,*.baidu.com 是泛域名。 - 域名发现对于安全测试的意义?
进行渗透测试时,其主域名找不到漏洞时,就可以尝试去测试收集到的子域名,有可能测试子域名网站时会有意向不到的效果,然后可以由此横向到主网站。下面是一个子域名信息网站
http://searchdns.netcraft.com/
DNS
- 什么是DNS?
DNS是计算机域名系统(Domain Name System 或 Domain Name Service)的缩写,它是由解析器和域名服务器组成的,作用是把域名转换成为网络可以识别的ip地址。比如我们上网时输入的 www.163.com 会自动转换成为202.108.42.72。 - 本地HOSTS与DNS的关系?
Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统再会将网址提交DNS域名解析服务器进行IP地址的解析。DNS 是域名系统 (Domain Name System) 的缩写,它是由解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。其中域名必须对应一个IP地址,而IP地址不一定有域名。DNS就是进行域名解析的服务器。当访问一个网站时系统将从DNS缓存中读取该域名所对应的IP地址,当查找不到时就会到系统中查找hosts文件,如果还没有那么才会向DNS服务器请求一个DNS查询。 - CDN是什么?与DNS的关系?
cdn全称是内容分发网络。其目的是让用户能够更快速的得到请求的数据。简单来讲,cdn就是用来加速的,他能让用户就近访问数据,这样就更更快的获取到需要的数据。举个例子,现在服务器在北京,深圳的用户想要获取服务器上的数据就需要跨越一个很远的距离,这显然就比北京的用户访问北京的服务器速度要慢。但是现在我们在深圳建立一个cdn服务器,上面缓存住一些数据,深圳用户访问时先访问这个cdn服务器,如果服务器上有用户请求的数据就可以直接返回,这样速度就大大的提升了。
cdn实际上是一个就近访问,那么现在有一个问题是,我们怎么知道用户的所在位置从而给他分配最佳的cdn节点呢。这就需要dns服务来进行定位了。当我们通过使用dns服务的时候,可以根据他使用的LDNS服务器来进行一个定位,例如我们的调度服务器看到他是来自深圳电信的LDNS服务器,那么我们就认为该用户来自深圳电信,然后调度服务器可以让该用户去访问深圳电信的CDN服务器,这样就让用户访问到了最优的cdn节点。通过dns服务我们可以很快的定位到用户的位置,然后给用户分配最佳cdn节点 - 当用户请求一个文件时,cdn的工作过程
DNS请求当地的local DNS
当地local DNS递归的查询服务器的gslb
服务器根据local DNS分配最佳节点,返回IP
用户获得最佳接入IP,访问最佳节点
如果该节点没有用户想要获取的内容,则通过内部路由访问上一节点,直到找到文件或到达源站为止
cdn节点缓存该数据,下次请求该文件时可以直接返回 - 常见的DNS安全攻击有哪些?
1.) 缓存投毒(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,将应答包的流量引入受害的服务器。
脚本语言
- 常见的脚本语言类型有哪些?
脚本语言又被称为扩建的语言,或者动态语言,是一种编程语言,用来控制软件应用程序,脚本通常以文本(如ASCII)保存,只在被调用时进行解释或编译。
Scala、JavaScript,VBScript,ActionScript,MAXScript,ASP,JSP,PHP,SQL,Perl,Shell,python,Ruby,JavaFX,Lua,AutoIt等 - 不同脚本类型与安全漏洞的关系?
不同的脚本语言的编写规则不一样,程序产生的漏洞自然也不一样(代码审计)
后门
- 什么是后门?有哪些后门?
后门程序一般是指那些绕过安全性控制而获取对程序或系统访问权的程序方法。类别:网页、线程插入、扩展、C/S后门 - 后门在安全测试中的实际意义?
例如后门藏在网页上、软件内,悄无声息的进行攻击者想要的操作 - 关于后门需要了解哪些?(玩法,免杀)
深知攻击型再反侦察,防止被相关软件识别到
WEB
- web的组成架构模型
网站源码:分脚本类型、分应用方向
操作系统:windows、linux
中间件(搭建平台):apache、iis、tomcat、nginx等
数据库:access、mysql、mssql、oracle、sybase、db2、postsql等 - 架构漏洞安全测试简要介绍?
今后的攻击漏洞和攻击方法都围绕这4方面 - 为什么要从web界面为主为首?
WEB使用率广,源码多。从WEB提权,拿到服务器及其内网
WEB相关漏洞安全
- web源码对应漏洞
SQL注入
文件上传
XSS
CSRF
代码执行
变量覆盖
逻辑漏洞
反序列化等等 - web中间件对应漏洞
未授权访问 - web数据库对应漏洞
内核漏洞 - web系统层对应漏洞
提权漏洞,安全代码执行 - 其他第三方对应漏洞
电脑第三方软件 - APP或PC应用结合类
移动端,PC端,网页端
2.基础入门——数据包拓展
网站解析对应
- 简要网站搭建过程:
搭建流程 - 涉及到的攻击层面?
源码,搭建平台,系统,网络层等 - 涉及到的安全问题?
目