Web安全攻防 学习笔记
一、安装虚拟机 及 Kali
-
先安装虚拟机,VMware 和 VirtualBox 都可以,喜欢那个网上都可以找到安装教程
-
下载 Kali 镜像,安装教程网上也可以找到
二、域名
域名(Domain Name),是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名 称,用于在数据传输时标识计算机的电子方位。
如:baidu.com
浏览网站过程:
-
客户端浏览器向 DNS 服务器发送指定网站的域名(如 baidu.com)
-
DNS 服务器返回该域名对应的 IP 地址给客户端浏览器
-
客户端浏览器通过网站的 IP 地址进行访问
2.1、whois
whois 就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所 有人、域名注册商)
不同域名后缀的 whois 信息需要到不同的 whois 数据库查询。如.com
的 whois 数据库和 .edu
的就不同。
目前国内提供 WHOIS 查询服务的 网站有万网、站长之家 的等。每个域名或 IP 的 WHOIS 信息,由对应的管理机构保存,例如,以 .com
结尾的域名的 WHOIS 信息由 .com 域名运营商 VeriSign 管理,中国国家*域名 .cn
域名由 CNNIC 管理。
2.2、whois 查询方法
-
web 接口查询(通过一些网站查询)
- 通过 whois 命令行查询
whois baidu.com
2.3、ICP 备案
英文全称:Internet Content Provider
中文全称:网络内容提供商
ICP 可以理解为向广大用户 提供互联网信息业务和增值业务的电信运营商,是经国家主管部门批准的正式运营企业或部 门。
《互联网信息服务管理办法》指出互联网信息服务分为经营性和非经营性两类。国家对经营性互联网信息服务实行许可制度;对非经营性互联网信息服务实行备案制度。未取得许可或 者未履行备案手续的,不得从事互联网信息服务。
三、收集子域名信息
3.1、*域名
.com .net .org .cn
子域名,*域名前加前缀的都是该*域名的子域名,而子域名根据技术的多少分为二级子域名、三级子域名以及多级子域名。
3.2、子域名挖掘工具
-
MaltegoCE 工具
- 由于其注册比较麻烦,所以这里就不用它了
-
wydomain 工具
- GitHub地址:https://github.com/ring04h/wydomain
(1)下载
(2)使用工具
(3)查看结果
-
搜索引擎挖掘
- 在谷歌或百度中输入
site:baidu.com
- 那么搜索出来的都是百度的子域名的链接,当然这个搜索也并不全
四、端口信息收集
4.1、端口介绍
如果把 IP 地址比作一间房子,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP 地址的端口可以有65536个。端口是通过端口号来标记的,端口号只有整数,范围是从 0 到 65535,其中 0 到 1023 端口为熟知端口号。在计算机中每一个端口代表一个服务。
4.2、端口信息收集
-
对于收集目标机器端口状态可以使用工具来进行测试。
-
工具原理:使用 TCP 或者 UDP 等协议向目标端口发送指定标志位等的数据包,等待目标返回数据包,以此来判断端口状态。
(1)使用 nmap 探测
nmap -A -v -T4 目标(域名 或 IP 都行)
可以分别访问这两个 IP 地址,若能访问,则有可能就是百度服务器的真实地址。
(2)使用在线网站探测,不能探测本地
http://tool.chinaz.com/port/
4.3、端口攻击
- 针对不同的端口具有不同的攻击方法
4.4、防御措施
-
关闭不必要的端口
-
对重要业务的服务端口设置防火墙
-
经常更换用户密码
-
经常更新软件,打补丁
五、收集敏感信息
5.1、敏感信息收集重要性
针对某些安全做的很好的目标,直接通过技术层面是无法完成渗透测试。在这种情况下,可以利用搜索引擎搜索目标暴露在互联网上的关联信息。 (例如:数据库文件、SQL注入、服务器配置信 息、甚至是通过Git找到站点泄露源代码、以及Redis等未授权访问。) 从而达到渗透测试的目的。
5.2、Google hacking 语法
google hack 是指使用 Google 等搜索引擎对某些特定的网络主机漏洞进行搜索,以达到快速找到漏洞主机或特定主机的漏洞的目的。
-
intext:—— 搜索正文内容,例如
intext:网站管理
-
intitle:—— 搜索标题内容,例如
intitle:后台管理
-
filetype:—— 搜索指定文件格式,例如
filetype:txt
-
inurl:—— 搜索特定URL,例如
.php?id
-
site:—— 制定搜索特定的站点,例如
site:baidu.com
-
info:—— 指定搜索网页信息,例如
info:baidu.com
5.3、HTTP 响应收集 server 信息
通过 HTTP 或 HTTPS 与目标站点进行通信中,目标响应的报文中 serve头 和 X-Powered-By 头会暴露目标服务器和使用的编程语言信息,通过这些信息可以有针对的利用漏洞尝试。
获取HTTP响应的方法
-
利用浏览器审计工具
-
编写 Python 脚本,requests 库
六、真实 IP 地址收集
6.1、CDN 介绍
CDN 的全称是 Content Delivery Network,即内容分发网络。
- 工作原理
-
浏览器请求dns服务器,查询到对应的IP
-
浏览器向服务器发起TCP连接
-
浏览器通过建立的TCP连接发送HTTP协议报文
-
服务器向浏览器发送页面内容
-
浏览器将页面展现出来
-
- CDN 的优势
-
CDN节点解决了跨运营商和跨地域访问的问题,访问延时大大降低;
-
大部分请求在CDN边缘节点完成,CDN起到了分流作用,减轻了源站的负载。
-
6.2、判断 CDN 是否存在
-
通过 ping 来判断是否存在 CDN
域名改变了,说明存在 CDN;域名没有改变,则说明没有使用 CDN。 -
通过设置代理或者利用在线 ping 网站来使用不同地区的 ping 服务器来测试目标 http://ping.chinaz.com/
6.3、绕过 CDN
如果目标没有使用 CDN,可以直接利用 ping 获得IP地址。或者利用在线网站
http://www.ip138.com
https://securitytrails.com/
再对获得的 IP 地址进行验证: 利用 IP 地址对 web 站点进行访问,如果能正常访问表明是真实 IP 地址,否则不为真。
白菜执笔人 发布了90 篇原创文章 · 获赞 0 · 访问量 1931 私信 关注