一、域名
1.IP
在Internet上有千百万台主机,为了区分这些主机,人们给每台主机都分配了一个专门的地址,称为IP地址。
通过IP地址就可以访问到每一台主机。IP地址由4部分数字组成,每部分都不大于256,各部分之间用小数点分开。例如“百度搜索”主机的IP地址就是:“119.75.217.109,”在浏览器上输入这个IP地址,就可以访问到百度的主页。我们的每个虚拟主机用户,都分配一个永久的IP地址。
2.域名
通常我们称形如"www.sina.com.cn"是一个域名,但从严格意义上讲,"sina.com.cn"才被称为域名(全球唯一),而"www"是主机名。
一个域名下可以有多个主机,域名全球唯一,那么"主机名.域名"肯定也是全球唯一的。
以"sina.com.cn"域名为例,一般管理员在命名其主机的时候会根据其主机的功能而命名,比如网站的是www,博客的是blog,论坛的是bbs,邮件接收服务器pop,邮件发送服务器smtp,那么对应的FQDN为www.sina.com.cn,blog.sina.com.cn,bbs.sina.com.cn,pop.sina.com.cn,smtpsina.com.cn。这么多个FQDN,然而我们只需要申请一个域名即"sina.com.cn"即可。
因特网采用层次树状结构命名方法。域是名字空间中一个可被管理的划分(按机构组织划分),域可被划分为子域,子域可再被划分,即形成了顶级域名、二级域名、三级域名等。从右向左为顶级域名、二级域名、三级域名等,用点隔开。如:tieba.baidu.com
它由三个标号组成, com即为顶级域名,baidu为二级域名,tieba即为三级域名。且域名不分区大小写。
PS:没有一级域名的说法。
3.URL
在浏览器的地址栏里输入的网站地址叫做URL (Uniform Resource Locator,统一资源定位符)。
例如:http://www.baidu.com/china/index.htm。它的含义如下:
- http://:代表超文本传输协议,通知baidu.com服务器显示Web页,通常不用输入;
- www:代表一个Web(万维网)服务器;
- baidu.com/:这是装有网页的服务器的域名,或站点服务器的名称;
- China/:为该服务器上的子目录,就好像我们的文件夹;
- Index.htm:index.htm是文件夹中的一个H搜索TML文件(网页)
二、DNS
1.DNS概念
DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。
通俗的讲,我们更习惯于记住一个网站的名字,比如www.baidu.com,而不是记住它的ip地址,比如:167.23.10.2。而计算机更擅长记住网站的ip地址,而不是像www.baidu.com等链接。因为,DNS就相当于一个电话本,比如你要找www.baidu.com这个域名,那我翻一翻我的电话本,我就知道,哦,它的电话(ip)是167.23.10.2。
2.Host
Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。
HOSTS文件相当于一个本地的小型DNS服务器,电脑会优先在本地的HOSTS文件中查找网址对应的IP,如果没有找到,才向DNS请求。
3.CDN
CDN(Content Delivery Network,中文叫内容分发网络)其主要作用是可以保证网络内容更快,更稳定的传输,即加速网络访问的作用。
如果静态资源的服务器节点很多,能够让每个用户在访问这些静态资源时都不用“跑很远的路程”就能获取到。(DNS系统在做域名解析时,解析出来一个离用户最近的一个IP地址)。
4.常见的DNS攻击
1) 域名劫持
通过采用黑客手段控制了域名管理密码和域名管理邮箱,然后将该域名的NS纪录指向到黑客可以控制的DNS服务器,然后通过在该DNS服务器上添加相应域名纪录,从而使网民访问该域名时,进入了黑客所指向的内容。
2) 缓存投毒
利用控制DNS缓存服务器,把原本准备访问某网站的用户在不知不觉中带到黑客指向的其他网站上。
其实现方式有多种,比如可以通过利用网民ISP 端的DNS缓存服务器的漏洞进行攻击或控制,从而改变该ISP内的用户访问域名的响应结果;或者,黑客通过利用用户权威域名服务器上的漏洞,如当用户权威 域名服务器同时可以被当作缓存服务器使用,黑客可以实现缓存投毒,将错误的域名纪录存入缓存中,从而使所有使用该缓存服务器的用户得到错误的DNS解析结果。
3)DDOS攻击
一种攻击针对DNS服务器软件本身,通常利用BIND软件程序中的漏洞,导致DNS服务器崩溃或拒绝服务;
另一种攻击的目标不是DNS服务器,而是利用DNS服务器作为中间的“攻击放大器”,去攻击其它互联网上的主机,导致被攻击主机拒绝服务。
4)DNS欺骗
DNS欺骗就是攻击者冒充域名服务器的一种欺骗行为。
原理:如果可以冒充域名服务器,然后把查询的IP地址设为攻击者的IP地址,这样的话,用户上网就只能看到攻击者的主页,而不是用户想要取得的网站的主页了,这就是DNS欺骗的基本原理。DNS欺骗其实并不是真的“黑掉”了对方的网站,而是冒名顶替、招摇撞骗罢了。
三、脚本语言
1.常见脚本语言
PHP、Javaweb、Python、ASP、aspx、jsp、pl、cgi等
2.不同的脚本类型与安全漏洞的关系
决定了不同的解决方法与难度
3.漏洞挖掘代码审计与脚本类型的关系
规矩多,安全性能高、难度大
四、后门
1.概念
攻击者在成功进行非法入侵以后,会留得一个文件便于进行下一次的进攻,这个文件就是后门。
后门可能是寄于网站、服务器、文件。作用是控制网站。
2.后门在安全测试的实际意义
1.方便下次进攻 2.提供攻击通道
3.关于后门的需要了解哪些(玩法、免杀)
玩法(目的:更好的隐藏自己、或者直接控制网站)、免杀(防止检测到后门)
五、web
1.web的组成架构模型
网站源码:分脚本类型(不同功能的实现需要不同的语言)、分应用方向(方向不同所使用的函数不同)
操作系统:windows、linux。不同系统上的漏洞在不同系统上是不支持的
中间件(搭建平台):apache、iis、tomcat。相当于载体
数据库:mysql、sqlmap、oracal等。存储了大量与网站相关的数据以及管理员数据
2.为什么要从web层面为主为首
使用广泛、攻击容易、web可用于提取权限、Web是所有的基础
3.相关漏洞
web源码类对应漏洞:SQL注入、xss、代码执行、变量覆盖、逻辑漏洞、反系列化等
web中间件对应漏洞:未授权访问
web系统层对应漏洞:内核漏洞
web数据库对应漏洞:提权漏洞、安全代码执行
其他相关类对应漏洞:电脑第三方软件
app或pc应用结合类:移动端、PC端、网页端