1.域名
如www.baidu.com这类的,域名可以在第三方平台上注册,域名注册商,比如阿里云,万网(亦被收购)。
渗透测试中,有时候可以通过多级域名作为突破口来对顶级域名进行相关操作,比如破解了小的密码,然后大的密码和小的密码是同一个。
域名由两组或两组以上的ASCII或各国语言字符构成,各组字符间由点号分隔开,最右边的字符组称为顶级域名或一级域名、倒数第二组称为二级域名、倒数第三组称为三级域名、以此类推。顶级域名又分为三类:一是国家和地区顶级域名(country code top-level domains,简称ccTLDs [1] ),200多个国家都按照ISO3166国家代码分配了顶级域名,例如中国是.cn,日本是.jp等;二是通用顶级域名(generic top-level domains,简称gTLDs),例如表示工商企业的.com,表示网络提供商的 .net,表示非盈利组织的 .org等。三是新顶级域名(New gTLD)如通用的.xyz、代表“高端”的.top、代表“红色”的.red、代表“人”的.ren等一千多种。
(come from www.baidu.com)
顶级域名:com
二级域名:baidu
三级域名:www
2.DNS
DNS:域名系统(服务协议),是用来对IP地址和域名进行转换的。
可以通过DNS服务器查询(网络上的“超级ping”)或者cmd中的ping命令来查询某URL所对应的IP地址。
本地hosts:在ping一个URL的时候,(或者在打开某个网址URL的时候或是点击某个链接的时候),首先查询本地DNS缓存,存在则返回IP,否则查询本地DNS服务器(一般由网络运营商管理,也可以自己手动设置),检查->有则返回,否则向互联网DNS服务器发送请求。(包括根DNS服务器->顶级域名服务器(不进行解析而是推给下一位)->权威DNS服务器查询…)这就和钓鱼攻击有点关系了……
应用实例:在下载一些比如说Steam游戏的时候,使用加速器它会修改本地的hosts文件,来实现快速下载(本该访问到国外某URL来下载一些文件,经过加速器就可以将域名对应的IP修改到国内一些缓存上,大大提高了下载速度)
//本地hosts文件在C:\Windows\System32\drivers\etc中
//上网流程:
浏览器输入域名——>解析服务器获取对应iP地址(by DNS)——>向该iP对应服务器发送访问请求(HTTP)——>返回给前端渲染页面——>展示给用户
//常见的DNS攻击:DNS劫持,DNS投毒
3.DNS解析缓存刷新
作用:刷新DNS缓存可以清除本地DNS缓存,强制Web浏览器重新解析网站的IP地址。这样可以确保您访问的网站是最新的,而不是旧的IP地址。有时候您访问某些网站时可能会遇到DNS错误或者网站IP地址已更改但本地DNS缓存仍然保留旧地址的情况。刷新DNS缓存可以解决这些问题,确保您能够正常访问网站。(https://www.dy9s.com/n/10285.html)
//刷新命令:ipconfig /flushdns
4.CDN
CDN(Content Delivery Network):内容分发网络。(缓存技术)
CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。
( www.baidu.com)
也就是说,使用它之后,我们要访问某一个服务器,不会访问到它的本体(也就是服务器源站),而是会访问CDN节点(依靠在各地部署的缓存服务器)
“CDN网络是在用户和服务器之间增加了一层缓存层,将用户的请求引导到最优的缓存节点(里面就有所需的,和源站内容完全相同的文件或其他东西)而不是服务器源站,从而加块访问速度。”
5.
不同脚本语言写的东西对应的安全性不同。语言不一样,产生漏洞的方向也不一样。应尽可能多的掌握这些语言(PHP,Python,javaweb……)了解相应的架构,-->>漏洞挖掘代码审计。
后门
后门形式多样,有基于网站的后门,还有基于服务器的,root key。
留后门是为了下次更方便的进来。通过后门,我们可以操作一些东西,可以更好的控制电脑,更加隐蔽。后门--免杀,不被一些安全软件识别到。
6.Web组成架构模型
- 网站源码:脚本类型(Python,java),应用方向(博客?论坛?)
- 操作系统:Windows ,Linux(两个系统上的漏洞互不支持)
- 中间件(网站搭建平台)
如 IIS, Nginx, Apache,tomcat
- 数据库(储存数据)
mysql, mssql, access,等
我们在渗透(攻击)的时候,要从这几个层面去找漏洞。
在一些网站上,功能很少,页面简单,所以就会很少发现漏洞,我们就可以在相应的app寻找突破口(app逆向破解,app就是一个网站)
有时候我们在电脑上看到的页面和手机上的一样,这个就叫app封装,为了节约资金,套用到了手机app的这个模板里。
//burp suite只抓web协议的数据包
7.HTTP和HTTPS(超文本传输协议)
进行网络通信总共四部分:建立连接,请求数据包,响应数据包,关闭连接。
关于这部分内容,最开始看的我师傅分享给我的博客园大佬文章:
https://www.cnblogs.com/YouJeffrey/p/15334068.html
二者的区别如上。
HHTPS就是比HTTP多加了一个“S”,这个S指的是SSL/TLS安全套接层,也就是说,HTTP是明文传输,HTTPS是对数据包进行了一个加密过程。HTTP默认端口80,HTTPS默认端口443。
其中的SSL和TLS有什么区别?在CSDN上有如下描述:
什么是SSL?什么是TLS?SSL与TLS 区别_tls ssl-CSDN博客
SSL是Netscape公司开发的专门用户保护Web通讯的,目前版本为3.0。最新版本的TLS(Transport Layer Security,传输层安全协议)是IETF(Internet Engineering Task Force,Internet工程任务组)制定的一种新的协议。最新版本的TLS 1.0,它建立在SSL 3.0协议规范之上,是SSL 3.0的后续版本。两者差别极小,可以理解为SSL 3.1。
也就是说,SSL可以算是TLS的前辈(我是这样理解)。
虽然HTTPS比HTTP相对来说比较安全,但HTTP具有简单快速,灵活无连接等特点,所以一些安全性不需要很高的通信一般也青睐HTTP。
也就是:“使用哪种协议比较好?比较好的方式是采用分而治之,类似百度网站的主页使用HTTP协议,有关于用户信息等方面使用HTTPS。”
HTTP协议的组成在上述博客园大佬文章中写的很明白。其中请求(request)部分的请求头的那几种是有点重要的:Host,User-Agent,cookie,accept,Referer。
在渗透过程中,我们可以通过查看响应状态码来判别我们所需要的文件或者文件夹是否存在。
200:存在文件
403:存在文件夹
3XX:均可能存在
404:不存在文件或者文件夹
500:均可能存在。