web安全基础之HTTP
1. 网站访问原理:(点击访问网站的一瞬间所发生的网络过程)
网站访问原理图:
2. URL介绍
网址结构(URL):协议://主机头.域名:端口/文件夹/文件?参数名1=参数值1&参数名2=参数值2
例如:https://baike.baidu.com/item/url/110640?fr=aladdin
3. URL编码介绍:
编码方式:url编码就是一个字符ascii码的十六进制,并在十六进制前加上百分号%
比如“\”,它的ascii码是92,92的十六进制是5c,所以“\”的url编码就是%5c
URL编码查询网站:http://tool.chinaz.com/tools/urlencode.aspx
URL编码迷惑:恶意攻击者经常把恶意网站链接发到用户邮箱或者公开在网络上,当用户点击就会被入侵。随着用户安全意识的提高,简单的使用网址不能欺骗用户,那么这时候恶意攻击者开始对网址进行URL编码迷惑用户;制作一个恶意站点,下载恶意程序执行拿到用户的最高权限。
4. URL信息采集:(批量检测网站漏洞)
采集工具使用:下载工具——>git clone https://github.com/super-l/superl-url
5. DNS投毒(对网络进行投毒欺骗)
域名:那么要访问某台计算机就要知道对方的ip地址才行喽,但是我们人脑以下记不住那么多的地址怎么办,于是计算机科学家们就想了一个办法,使用一串用点分隔的名字组成互联网上的一个计算或计算机组,而这个名字也就是我们所说的域名。
域名解析:在我们访问百度是,首先要做的是查询该域名对应的IP地址,从而根据IP地址找到该计算机的位置,只不过这个查询的过程有计算机替我们代劳了。
DNS欺骗:其实这一过程,就是我们以前用座机的时候多要准备一个电话本,是一样的道理,而我们所说的 DNS 欺骗,实际上就是篡改电话本上的IP地址,使其访问百度时访问到我们给它提供的ip地址对应的主机。
攻击方的IP地址:
目标的IP地址:
配置Ettercap:使用工具Ettercap,配置/etc/ettercap/etter.dns文件中投毒点。输入sudo vim /etc/ettercap/etter.dns
# 对应格式
*.*.* A xx.xx.xx.xx # *可以表示任意的域名
*.*.* PTR xx.xx.xx.xx #
# A(Address)记录是用来指定主机名(或域名)对应的IP地址记录
# PTR是pointer的简写,用于将一个IP地址映射到对应的域名,也可以看成是A记录的反向,IP地址的反向解析。
打开 ettercap
在ettercap 的下部窗体中出现 Activating dns_spoof plugin… 即打开成功。
使用鼠标的右键:(将网关地址添加到Target1中,将目标的IP地址添加到Target2中)
使用Ettercap投毒:启动ARP欺骗。
6. 中间人攻击(对网络进行密码嗅探)
启动路由转发:命令 echo “1”>/proc/sys/net/ipv4/ip_forward
启动ettercap软件
如上面5进行add to target,在启动arp欺骗
7. 中间人挂马
8. HTTP协议:
HTTP协议介绍:HTTP(HyperText Transport Protocol)是超文本传输协议的缩写,它用于传送WWW方式的数据。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URL、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,响应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。
9. HTTP 302跳转
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)
11. 站点克隆
12. User-Agent验证(绕过某些限制)
User-Agent介绍:
User Agent中文名为用户代理,是Http协议中的一部分,属于头域的组成部分,User Agent也简称UA。它是一个特殊字符串头,是一种向访问网站提供你所使用的浏览器类型及版本、操作系统及版本、浏览器内核、等信息的标识。通过这个标识,用户所访问的网站可以显示不同的排版从而为用户提供更好的体验或者进行信息统计;例如用手机访问谷歌和电脑访问是不一样的,这些是谷歌根据访问者的UA来判断的。UA可以进行伪装。浏览器的UA字串的标准格式:浏览器标识 (操作系统标识; 加密等级标识; 浏览器语言) 渲染引擎标识版本信息。但各个浏览器有所不同。
浏览器标识:
出于兼容及推广等目的,很多浏览器的标识相同,因此浏览器标识并不能说明浏览器的真实版本,真实版本信息在 UA 字串尾部可以找到。
加密等级标识:
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
web安全基础之HTTP相关推荐
- 20164317《网络对抗技术》Exp9 Web安全基础
Exp9 Web安全基础 一.实践目标 理解常用网络攻击技术的基本原理. 在Webgoat,实践相关实验. SQL注入攻击 XSS攻击 CSRF攻击 二.实践过程 1.环境配置: 下好jar包然后放在 ...
- Exp9 Web安全基础
Exp9 Web安全基础 Injection Flaws攻击 命令注入(Command Injection) 数字型SQL注入(Numeric SQL Injection) 日志欺骗(Log Spo ...
- Web开发(一)·期末不挂之第一章·Web开发基础(不背就挂的基础知识)
Web开发基础 一.网站的访问过程 ✪✪✪ 二.Web应用 ✪✪✪ 三.其他 一.网站的访问过程 ✪✪✪ 网址: URL(互联网上标准资源的地址)组成部分: 协议:http:// 域名:-com/cn ...
- JavaWeb第五讲 Web核心基础之HTTP协议
Web核心基础之HTTP协议 HTTP简介 对客户端和服务器端之间数据传输的格式规范,格式简称为"超文本传输协议".HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件 ...
- 2018-2019 20165208 网络对抗 Exp9 Web安全基础
目录 2018-2019 20165208 网络对抗 Exp9 Web安全基础 实验内容 基础问题回答 实践过程记录 1. WebGoat准备 2. SQL注入攻击 2.1 Command Injec ...
- 20155209 林虹宇 Exp9 Web安全基础
Exp9 Web安全基础 XSS 1.Phishing with XSS 跨站脚本攻击,在表单中输入超文本代码 在网页中形成一个自制的登陆表单,然后将结果反馈到自己的主机上. 攻击成功 2.Store ...
- 20145227鄢曼君《网络对抗》Web安全基础实践
20145227鄢曼君<网络对抗>Web安全基础实践 实验后回答问题 1.SQL注入攻击原理,如何防御? SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是 ...
- 20155202《网络对抗》Exp9 web安全基础实践
20155202<网络对抗>Exp9 web安全基础实践 实验前回答问题 (1)SQL注入攻击原理,如何防御 SQL注入产生的原因,和栈溢出.XSS等很多其他的攻击方法类似,就是未经检查或 ...
- 2018-2019 20165226 Exp9 Web安全基础
2018-2019 20165226 Exp9 Web安全基础 目录 一.实验内容说明及基础问题回答 二.实验过程 Webgoat准备 XSS攻击 ① Phishing with XSS 跨站脚本钓鱼 ...
- 从头编写 asp.net core 2.0 web api 基础框架 (2)
上一篇是: 从头编写 asp.net core 2.0 web api 基础框架 (1) Github源码地址是: https://github.com/solenovex/Building-asp. ...
最新文章
- Java查找数组重复元素,并打印重复元素、重复次数、重复元素位置
- 【Python】推荐10个好用到爆的Jupyter Notebook插件,让你效率飞起
- 【Linux】一步一步学Linux——readonly命令(219)
- QT分页控件,开源,供大家使用
- arcmap shp导出cad无反应_如何使用ArcMap将Excel数据转换为shp数据
- 数据分析 | 基于智能标签,精准管理数据
- Linux下的python.......安装
- 一万小时定律的数学解释
- MySQL存储过程定时任务
- php多线程实现抓取,php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
- 终极算法:机器学习和人工智能如何重塑世界笔记
- protues7 使用笔记
- ExoPlayer 源码阅读小记--缓存模块及获取HLS已缓存大小
- UWB室内定位系统,你知道几分
- Dbviusalizer报错Java.lang.ClassCastException: javax.swing.KeyStroke cannot be cast to java.lang.Compar
- 多用途手机登录页面模板
- 老男孩网络安全 | 从小白到月薪13k,仅仅只用了三个多月的时间!
- 狭义相对论从入门到入土(建议初一及以上)
- 智能的尴尬--《命名和指称》
- 【AI好书】不想被AI降维打击?美国“四院院士”写的这本深度学习科普书了解一下...