web安全基础之HTTP

1. 网站访问原理:(点击访问网站的一瞬间所发生的网络过程)

  • 网站访问原理图:

    image-20210119181920232

2. URL介绍

  • 网址结构(URL):协议://主机头.域名:端口/文件夹/文件?参数名1=参数值1&参数名2=参数值2

  • 例如:https://baike.baidu.com/item/url/110640?fr=aladdin

  • image-20210119192814961

image-20210119192836230

3. URL编码介绍:

  • 编码方式:url编码就是一个字符ascii码的十六进制,并在十六进制前加上百分号%

  • 比如“\”,它的ascii码是92,92的十六进制是5c,所以“\”的url编码就是%5c

  • URL编码查询网站:http://tool.chinaz.com/tools/urlencode.aspx

  • URL编码迷惑:恶意攻击者经常把恶意网站链接发到用户邮箱或者公开在网络上,当用户点击就会被入侵。随着用户安全意识的提高,简单的使用网址不能欺骗用户,那么这时候恶意攻击者开始对网址进行URL编码迷惑用户;制作一个恶意站点,下载恶意程序执行拿到用户的最高权限。

4. URL信息采集:(批量检测网站漏洞)

image-20210119193004899

  • 采集工具使用:下载工具——>git clone https://github.com/super-l/superl-url

image-20210119193139038

image-20210119193152962

image-20210119193204581

image-20210119193225735

image-20210119193239893

5. DNS投毒(对网络进行投毒欺骗)

  • 域名:那么要访问某台计算机就要知道对方的ip地址才行喽,但是我们人脑以下记不住那么多的地址怎么办,于是计算机科学家们就想了一个办法,使用一串用点分隔的名字组成互联网上的一个计算或计算机组,而这个名字也就是我们所说的域名。

  • 域名解析:在我们访问百度是,首先要做的是查询该域名对应的IP地址,从而根据IP地址找到该计算机的位置,只不过这个查询的过程有计算机替我们代劳了。

  • DNS欺骗:其实这一过程,就是我们以前用座机的时候多要准备一个电话本,是一样的道理,而我们所说的 DNS 欺骗,实际上就是篡改电话本上的IP地址,使其访问百度时访问到我们给它提供的ip地址对应的主机。

image-20210119193334103

  • 攻击方的IP地址:

image-20210120145008295

  • 目标的IP地址:

image-20210120151436066

  • 配置Ettercap:使用工具Ettercap,配置/etc/ettercap/etter.dns文件中投毒点。输入sudo vim /etc/ettercap/etter.dns

image-20210120145606125

# 对应格式
*.*.*    A   xx.xx.xx.xx  # *可以表示任意的域名
*.*.*    PTR xx.xx.xx.xx  # 
# A(Address)记录是用来指定主机名(或域名)对应的IP地址记录
# PTR是pointer的简写,用于将一个IP地址映射到对应的域名,也可以看成是A记录的反向,IP地址的反向解析。
  • 打开 ettercap

image-20210120152210401

image-20210120152246586

  • 在ettercap 的下部窗体中出现 Activating dns_spoof plugin… 即打开成功。

image-20210120152412777

  • 使用鼠标的右键:(将网关地址添加到Target1中,将目标的IP地址添加到Target2中)

    image-20210120152458214

  • 使用Ettercap投毒:启动ARP欺骗。

image-20210120152731343

image-20210120152752996

image-20210120152842101

6. 中间人攻击(对网络进行密码嗅探)

image-20210119193936463

  • 启动路由转发:命令 echo “1”>/proc/sys/net/ipv4/ip_forward

  • 启动ettercap软件

  • 如上面5进行add to target,在启动arp欺骗

    image-20210120160903123

7. 中间人挂马

image-20210120164453260

image-20210120164642390

image-20210120164650396

8. HTTP协议:

image-20210119203745984

  • HTTP协议介绍:HTTP(HyperText Transport Protocol)是超文本传输协议的缩写,它用于传送WWW方式的数据。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URL、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,响应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。

9. HTTP 302跳转

  • 302重定向简介

  • 302重定向又称之为302代表暂时性转移(Temporarily Moved ),英文名称:302 redirect。 也被认为是暂时重定向(temporary redirect),一条对浏览器的指令来显示浏览器被要求显示的不同的URL,当一个网页经历过短期的URL的变化时使用。

image-20210120164832786

10. HTTP脚本编写

  • requests库的使用

  • HTTP GET请求:非传递参数

import requests
r = requests.get('url')
print(r.text)
  • 传递参数

payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.get('url', params=payload)

image-20210120165149361

image-20210120165157151

11. 站点克隆

image-20210120165334676

image-20210120165405987

image-20210120165417118

12. User-Agent验证(绕过某些限制)

User-Agent介绍:

User Agent中文名为用户代理,是Http协议中的一部分,属于头域的组成部分,User Agent也简称UA。它是一个特殊字符串头,是一种向访问网站提供你所使用的浏览器类型及版本、操作系统及版本、浏览器内核、等信息的标识。通过这个标识,用户所访问的网站可以显示不同的排版从而为用户提供更好的体验或者进行信息统计;例如用手机访问谷歌和电脑访问是不一样的,这些是谷歌根据访问者的UA来判断的。UA可以进行伪装。浏览器的UA字串的标准格式:浏览器标识 (操作系统标识; 加密等级标识; 浏览器语言) 渲染引擎标识版本信息。但各个浏览器有所不同。

浏览器标识:

出于兼容及推广等目的,很多浏览器的标识相同,因此浏览器标识并不能说明浏览器的真实版本,真实版本信息在 UA 字串尾部可以找到。

image-20210120165607677

加密等级标识:

N: 表示无安全加密 I: 表示弱安全加密 U: 表示强安全加密

渲染引擎:

显示浏览器使用的主流渲染引擎有:Gecko、WebKit、KHTML、Presto、Trident、Tasman等,格式为:渲染引擎/版本信息

版本信息:

显示浏览器的真实版本信息,格式为:浏览器/版本信息

PC端UA头和移动端UA头的区别:

1. PC端UA头

safari 5.1 – MAC
User-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50

2. 移动端端UA头

safari iOS 4.33 – iPhone
User-Agent:Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us)
AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不能say的秘密

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值