当前位置: 首页 > article >正文

BS架构网络安全 网络安全架构分析

文章目录
  • Web架构安全分析
  • 一、web工作机制
  • 1. 简述用户访问一个网站的完整路径
  • 2. web系统结构
  • 二、url
  • 1. 概述
  • 2. 完整格式
  • 3. url编码
  • 三、HTTP
  • 1. request请求报文
  • 2. http请求方法
  • 3. response响应报文
  • 三、同源策略
  • 1. 概述
  • 2. 同源策略的条件
  • 3. 非同源受到的限制
  • 4. 案例

Web架构安全分析

一、web工作机制

1. 简述用户访问一个网站的完整路径

网址–>本地缓存–>host文件–>IP/ARP–>DNS–>IP–>网关–>路由–>对方主机–>访问80、443–>建立连接(三次握手)–>HTTP数据包–>数据响应–>.html文件–>.php文件–>数据库–>运行结果

2. web系统结构

BS架构网络安全 网络安全架构分析_服务器

二、url

1. 概述

url:统一资源定位符(网址),用来告诉Web容器,浏览器所请求资源(文件)的路径。

2. 完整格式
schema://login:password@address:port/path/to/resource/?query_ string#fragment
  • 1.

schema:协议名称
login:用户名
password:密码
address:IP地址
port:端口号
path/to/resource:资源路径
query_ string:查询的字符串
fragment:锚点,实现页面内定位

匿名访问时没有login:password。

3. url编码

URL中允许出现的字符是有限制的,URL中path开始允许直接出现A-Z a-z 0-9、半角减号(-) 、下划线句点(.) 、波浪号(~) 。其他字符均会被百分号编码,如:

#          %23
[ ](空格)   %20
  • 1.
  • 2.
  • 原理:%+ASCII码十六进制形式

三、HTTP

1. request请求报文

使用Bp抓包,设置服务器代理:

BS架构网络安全 网络安全架构分析_html_02

Bp抓包结果:

BS架构网络安全 网络安全架构分析_BS架构网络安全_03

HTTP请求由请求行、请求头、请求正文三个部分组成。

  1. 请求行

方法:GET
资源路径: /php/test.php
协议/版本:HTTP/1. 1
状态代码:200

状态代码:
100~199
信息性状态码
200~299
成功状态码
300~399
重定向状态码
400~499
客户端错误状态码
500~599
服务器错误状态码
    1. 请求头

    从请求报文第二行开始到第一个空行为止之间的内容,其中包含HTTP响应的重要字段。

    Host:主要用于指定被请求资源的Internet主机和端口号;
    User-Agent:浏览器指纹;
    Referer:包含一个URL,代表当前URL的上一个URL
    Cookie:记录请求者的身份认证信息;
    Accept-Charset:用于指定客户端接收的字符集;
    Content-Type:用于向接收方指示实体的介质类型(数据类型);
    Content-Length:用于指明实体正文的长度,以字节方式存储的十进制数字来表示;
    Last-Modified:用于指示资源的最后修改时间和日期

    1. 请求正文

    服务器返回资源的内容,即浏览器接收到的HTML代码。

    2. http请求方法
    • GET
      GET是最常用的方法,通常用于请求服务器发送的某个资源。
    • POST
      POST方法可以向服务器提交参数以及表单,包括文件流等。
    • HEAD
      与GET方法类似,但在服务器响应中只返回首部。
    • PUT
      与GET从服务器读取文档相反, PUT方法会向服务器写入文档。
    • TRACE
      回显浏览器的请求。
    • OPTIONS
      OPTIONS方法请求Web服务器告知其支持的各种功能。
    • DELETE
      DELETE方法请求服务器删除请求URL所指定的资源。
    1. Telnet客户端模拟浏览器发送HTTP请求

    BS架构网络安全 网络安全架构分析_服务器_04

    使用Telnet客户端,连接服务器(telnet IP地址 端口号),发送GET请求:Ctrl+],开启回显:

    发送http请求
    GET 请求路径 协议/版本
    HOST: IP地址

      BS架构网络安全 网络安全架构分析_BS架构网络安全_05

      1. 发送post请求,Bp抓包
        使用浏览器插件(hackbar)向test.php网页发送post请求,抓取数据包。

      test.php:

      <?php
      var_dump($_POST);
      ?>

        测试结果:

        BS架构网络安全 网络安全架构分析_HTTP_06

        抓包结果:

        BS架构网络安全 网络安全架构分析_HTTP_07

        发送到重放模块:得到响应包

        BS架构网络安全 网络安全架构分析_服务器_08

        BS架构网络安全 网络安全架构分析_BS架构网络安全_09

        3. response响应报文

        响应报文由响应行(状态行)、响应头、响应正文三部分组成。

        1. 状态行

        协议/版本: HTTP/1.1
        状态代码: 200
        描述短语: 0K

        1. 响应报头

        第二行开始到第一个空行为止的所有内容,其中包含了关于HTTP响应的重要字段。

        Server:服务器指纹;
        Set-Cookie:向浏览器端设置Cookie
        Last- Modified:服务器通过这个头信息告诉浏览器,资源的最后修改时
        间;
        Content-Length:正文的长度;
        Location:重定向目标页面(header(Location:重定向路径));
        Refresh:服务器通过Ref resh头告诉浏览器定时刷新浏览器。

        1. 响应正文

        服务器返回资源的内容,即浏览器接收到的HTML代码。

        三、同源策略

        1. 概述

        同源策略是禁止JavaScript进行跨域访问的安全策略,它也是浏览器沙盒环境所提供的一项制约。浏览器可以同时处理多个网站的内容,其典型方法为使用标签页或iframe等。

        2. 同源策略的条件
        1. URL的主机(FQDN: Fully Qualified Domain Name全程域名)一 致
        2. Schema(协议)一致
        3. 端口号一致

        同源策略的保护对象不仅仅是iframe 内的文档。比如,实现Ajax时所使用的XMLHttpRequest 对象能够访问的URL也受到了同源策略的限制。

        3. 非同源受到的限制
        1. cookie不能读取 (如我在自己的站点无法读取博客园用户的cookie);
        2. DOM无法获得;
        3. ajax请求不能发送。
        4. 案例

        一个index.html页面,一个iframe.html页面,index页面引入iframe标签,内嵌iframe.html页面,路径设置为:http://localhost/文件路径,通过js事件获取iframe.html页面的值。

        index.html:

        <html>
        <head>
        	<title>跨iframe的读取试验</title>
        	<meta charset= "utf-8">
        </head>
        <body>
        	<iframe name="iframe1" width="300" height="80" src="http://localhost/php/tongyuan/iframe.html"></iframe>
        	<input type="button" onclick="go()" value="获取内层iframe的内容为:"> 
        <script>
        function go(){
        	try{
        		var x = iframe1.document.form1.content.value;
        		document.getElementById('out').innerHTML = x;
        	}catch(e){
        		alert(e.message);
        	}
        }
        </script>
        <span id="out"></span>
        </body>
        </html>

          iframe.html:

          <html >
          <head>
          	<meta charset= 'utf-8 ' >
          </head>
          <body>
          	<form name="form1"> 
          	iframe 的内层:<br />
          		<input type="text" name="content" value="内层iframe的内容">
          	</form>
          </body>
          </html>

            localhost访问:成功读取

            BS架构网络安全 网络安全架构分析_html_10

            使用IP地址访问:读取不到

            BS架构网络安全 网络安全架构分析_html_11

             

            最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

            上述所有都有配套的资料,这些资料,对于做【网络安全】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。


            http://www.kler.cn/a/555030.html

            相关文章:

          • UI学习备忘
          • 第1章 快速认识线程
          • 用deepseek学大模型05逻辑回归
          • 在 Python 中操作 Excel 文件
          • 将RocketMQ集成到了Spring Boot项目中,实现站内信功能
          • Java中Map循环安全的删除数据的4中方法
          • 循环神经网络RNN原理与优化
          • uniapp 使用v-html在微信小程序中渲染成rich-text如何显示文本溢出省略
          • 关于房间传感器监测数据集的探索
          • 矩阵加减乘除的意义与应用
          • 云服务器和物理服务器该如何选择
          • C# 中DevExpress的GridView中Appearance 属性
          • Oracle EBS 12.1和APEX 集成时 Apache的配置代理
          • C语言中的链表封装
          • Spring-GPT智谱清言AI项目(附源码)
          • ip is not allowed to connect to this Mysql server
          • Go 之 Windows下 Beego 项目的搭建
          • TikTok账户安全指南:如何取消两步验证?
          • GO大模型应用开发框架-
          • 掌握 ElasticSearch 四种match查询的原理与应用