更新于 

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。一种运行在浏览器里的编程语言。功能强大。能够实现丰富的网页效
    果。

  • JavaJavaScript 没有一毛钱关系,就像是老婆与老婆饼的关系。

  • 浏览器插件/扩展/add-on/plugin:

  • NoScript:实现禁用JavaScript脚本的功能。

  • HackBar:可以对HTTP包进行修改。

  • http://ip.tool.chinaz.com/

Burp

  • Burp 是一个以抓包改包为核心功能的渗透测试框架/工具箱
  • Burp 是基于 Java 开发的。Java程序可以实现跨平台运行
  • 要想运行Java程序,需要先安装JRE(Java Runtime Environment)

*代码/命令 → 解析或编译 → 执行 → 实现效果

  • Burp安装步骤:

      1. 安装JRE或者JDK。Windows下有一键安装的.exe程序。
      1. 确认成功安装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
  • 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头信息
    image.png

  • location: 响应 指示客户将请求发送给别处,即重定向到另一个URL

  • 状态码信息
    image.png

  • 状态码(Status-Code)响应报文状态行中包含的一个3位数字,指明特定的请求是否被满足,如果没有满足,原因是什么。状态码分为以下五类:

    • 1xx : 通知信息
      • 栗子:仅在与Http服务器沟通使用
    • 2xx: 成功
      • 栗子:成功收到、理解和接受动作
    • 3xx: 重定向
      • 栗子:为完成请求,必须进一步采取措施
    • 4xx: 客户错误
      • 栗子:请求包含错误的语法不能完成
    • 5xx: 服务器错误
      • 栗子:服务器不能完成明显合理的需求
Http请求/响应交互模型

image.png

  • 默认 GET请求,不是POST请求