Web安全-神楽坂雅詩
信息安全 > 网络安全 > WEB安全
WWW(万维网)World Wide Web,简称Web
-
WEB安全
-
WEB世界 的基石 HTTP协议 最常用的版本是HTTP1.1 正在推广的版本是HTTP/2
-
关基:关键信息基础设施
-
-
HTTP: Hyper Text Transport Protocol 超文本传输协议
-
位于TCP/IP 网络模型中的最上层:应用层
-
HTTP通讯:
-
发送数据包:请求 request
-
接收数据包:响应 response
-
-
-
如果服务器主动
外联
(主动向外建立连接)那么服务器很可能中了木马
。 -
HTTP包
也分为两部分
:HEAD头部
、首部
和BODY主体
两部分, -
两部分由
一行空行
隔开。 -
如果发送的内容过大,会分为多个HTTP包分段发送。
-
HTTP协议的天生安全缺陷:
明文传输
、信息易泄露
,易篡改
。
-
HTTP协议常见请求方式(method):
GET POST
-
问题:GET 与 POST 请求方式的区别?
-
GET 方式,获取某一页面,所有参数都在URL里
-
POST 方式,提交信息,参数在BODY里
-
-
网络服务的常见架构:
C/S 架构
:C=Client
客户端S=Server
服务端 -
WEB服务
是基于B/S架构
,B=Browser
浏览器S=Server
服务器。 -
前端
:指的是用户端
,浏览器。 -
后端
:指的是服务端
,服务器。 -
*前端的内容
一概不可信
。因为前端的数据可以被轻易修改
。
WEB前端三大技术:HTML CSS JavaScript
-
HTML
,全名:超文本标记语言(HyperText Markup Language)
作为骨架,提供最基本的文 字、表格
等信息。 -
CSS
,层叠样式表 负责网页布局相关。 -
JavaScript
,简称JS
。一种运行在浏览器里的编程语言。功能强大。能够实现丰富的网页效
果。 -
Java
与JavaScript
没有一毛钱关系,就像是老婆与老婆饼的关系。 -
浏览器插件
/扩展/add-on/plugin:
-
NoScript:
实现禁用JavaScript脚本
的功能。 -
HackBar:
可以对HTTP包
进行修改。 -
http://ip.tool.chinaz.com/
Burp
Burp
是一个以抓包改包为核心功能的渗透测试框架/工具箱
Burp
是基于Java 开发
的。Java程序
可以实现跨平台运行
。- 要想运行
Java程序
,需要先安装JRE(Java Runtime Environment)
*代码/命令 → 解析或编译 → 执行 → 实现效果
-
Burp安装步骤:
-
- 安装JRE或者JDK。Windows下有一键安装的.exe程序。
-
- 确认成功安装Java运行环境:Win+R 输入cmd 回车。
- 输入“java -version” 如果能显示Java版本信息,则表示配置成功。
-
3.解压Burp破解版压缩包。
-
4.运行“创建桌面快捷方式.bat”,运行后桌面生成快捷方式,启动Burp。看到弹出的注册窗口。
-
5.启动注册机/破解器 “
BurpCrack.jar
”,将“执照”文本框里的全部字符串用快捷键Ctrl+C复制,粘贴到Burp注册窗口的白框里。点击右下角的“Next”,进入下一步。 -
6.点击右下角的右边数第二个按钮“
Manual Activate
”,出现三个文本框。复制第二个文本框“Activate Request
”里的全部字符串 -
7.粘贴到注册机的第二个空白文本框里,随后注册机的第三个文本框“激活响应”中生成一长串字符串。
-
8.将注册机的第三个文本框中的文本复制粘贴到Burp激活窗口的第三个空白文本框中,点击“Next”
-
9.看到“Success”表示破解成功。以后直接运行桌面的快捷方式,或者BurpSuiteLoader_v2022.3.1.jar即可运行。
-
CTF(Capture The Flag) 比赛
-
一种以比拼网络安全技术为目的的竞赛,
- 找到flag(一串特定格式的字符串)即为胜利。
- 找到 flag{xxxxxx} 类似此格式的flag
- 找到flag(一串特定格式的字符串)即为胜利。
-
Burp工作时的网络路由环境:
-
浏览器 – Burp – 服务器(互联网)
-
如何把浏览器的流量发送给Burp:
-
方案一:在浏览器内
配置
代理选项。- 在浏览器的
配置/设置页面
中,找到代理/proxy 配置
相关页面,选择手动配置代理
,代理服务器地址
填127.0.0.1
端口填8080
。若浏览器无相关选项,使用浏览器插件
实现该功能。安装插件FoxyProxy
,或者SwitchyOmega 插件
实现代理配置
的快捷切换
及管理
。
- 在浏览器的
-
方案二:在
Windows
系统设置中配置代理选项
- 以
win10
为例,点击右下角菜单,点击VPN
。在弹出的窗口中选择左下角的“代理
”选项卡。开启手动配置
,输入代理服务器地址127.0.0.1
端口8080
- 以
-
方案三(懒人版):使用
Burp自带的浏览器
。在Proxy
标签下的intercept
标签下,点击“openbrowser”
按钮,启动Burp自带
的浏览器。此浏览器的流量无需配置直接经过Burp
.
-
-
如何使用
Burp
拦截HTTP
流量:-
启动
Burp
, 切换到第二行的Proxy
页面,点击第三行最后的Options
选项卡这里能配置监听器,接收浏览器以及其他程序的HTTP
请求包。 -
点击第三行的
Intercept
选项卡,这里可以开启或关闭拦截。可以查看到被拦截的HTTP
包。-
Forward
:转发/放行 -
Drop
:丢包,直接丢弃 -
intercept is off / on
: 当前拦截已关闭/已开启。 -
Action
: 等同于在报文点击右键,包含多种功能,可以与burp
其他模块联动 -
Open Browser:
打开Burp
内置浏览器 -
Proxy选项卡
-HTTP History选项卡
:查看所有HTTP报文
,包括请求包
和响应包
。 -
Response 窗口
-Render
选项卡:查看被浏览器渲染
后的最终页面。
-
-
Web常见状态码 & 请求头Header
-
Header头
信息
-
location
: 响应 指示客户将请求发送给别处,即重定向到另一个URL
-
状态码信息
-
状态码
(Status-Code)
是响应报文状态行
中包含的一个3位数字
,指明特定的请求是否被满足,如果没有满足,原因是什么。状态码分为以下五类:- 1xx : 通知信息
- 栗子:仅在与Http服务器沟通使用
- 2xx: 成功
- 栗子:成功收到、理解和接受动作
- 3xx: 重定向
- 栗子:为完成请求,必须进一步采取措施
- 4xx: 客户错误
- 栗子:请求包含错误的语法不能完成
- 5xx: 服务器错误
- 栗子:服务器不能完成明显合理的需求
- 1xx : 通知信息
Http请求/响应交互模型
- 默认
GET
请求,不是POST
请求