第一节 Web介绍

课程回顾:

  1. Web是什么?
  2. Web发展分为哪几个阶段?
  3. Web安全问题发展形势?
  4. Web的工作流程?
  5. 浏览器是如何工作的?

总结回答:

  1. Web指的是World Wide Web,平时通过浏览器上网都属于Web。
发展阶段 安全问题 对象
Web 1.0 SQL注入,上传漏洞,文件包含,挂马暗链,命令执行 针对Web服务器
Web 2.0 XSS,CSRF,URL跳转,数据劫持,框架漏洞,逻辑漏洞,钓鱼 Web用户
  1. Web安全形势不容乐观:
  • 数量迅速增长
  • 种类迅速增多
  • 开始针对Web用户





用户






Web浏览器






Web服务器






数据库











访问网站页面




发送请求




数据库交互






返回请求结果




展示页面






用户







Web浏览器







Web服务器







数据库














DNS解析

























ip地址






ip地址










Web浏览器









通过域名获取web服务器地址









访问Web服务器







参考资料

初级

  1. 浏览器熟悉
    下载安装Chrome/Firefox浏览器,使用这两个浏览器访问《Web安全工程师》微专业站点
  2. Web架构熟悉
    1)列出Web前端相关的开发语言并了解;
    2)列出常见的Web后端相关的开发语言并了解;
    3)了解数据库服务器、Web服务器和DNS服务器。

高级

流程描述
详细的描述当我们在浏览器输入URL后的Web流程(可以网络搜索资料,自行整理描述)。

回答

初级

  1. Web前端相关的开发语言:
    Javascript,Html,CSS等
  2. Web后端相关的开发语言:
    PHP,Java,Javascript等
  3. 数据库服务器:
    SQL服务器等[存储数据的服务器]。(https://baike.baidu.com/item/%E6%95%B0%E6%8D%AE%E5%BA%93%E6%9C%8D%E5%8A%A1%E5%99%A8/613818?fr=aladdin)
    Web服务器:网页服务器,负责解析HTTP协议,让我们的浏览器可用。只有存在Web服务器的时候网页才能够被访问,一个网站实际上就是一台Web服务器,每当收到请求时便返回相应的响应。
    DNS服务器:进行域名和IP地址转换的服务器。实际浏览器访问网站时大多使用的是URL地址,DNS服务器的作用便是将URL地址转换为相应的IP地址从而使浏览器能跳转到Web服务器上去。
  4. Web流程:
    浏览器输入URL后发送到DNS服务器上,DNS服务器返回相应的IP地址,浏览器再通过IP地址访问相应的Web服务器,发送请求并获得响应页面。

课程作业

1 简单描述一下Web工作流程?(提示:分步骤)。
回答如课程回顾4。
2 使用chrome浏览器打开www.163.com,查看加载的资源。截图展示首页资源,并分别列出网页中的一个js、img资源链接。
回答:
首页资源:

js资源链接:https://urswebzj.nosdn.127.net/webzj_cdn101/message.js

img资源链接:http://cms-bucket.ws.126.net/2019/11/02/59641c8d47f8404fa9509ffc72d48be2.jpeg?imageView&thumbnail=453y225&quality=85

第二节 Web通信

课程回顾:

  1. URL是什么,有什么作用?
  2. 描述一下URL的格式?
  3. HTTP的报文结构是什么样子?
  4. Cookie和Set-Cookie代表什么意思?
  5. Referer有什么作用?
  6. 状态码301/302和Location分别代表什么意思?

总结回答:

  1. URL:Uniform Resource Locator,统一资源定位符,支持多种协议如HTTP,FTP等。指我们平时的站点链接,比如www.baidu.com。用作定位到网站资源,如同快递中的收货地址。
  2. URL的格式:
    schema: //host[:port#]/path/…/?[query-string]#[anchor]
  1. HTTP(超文本传输协议)的报文结构:
  • 起始行(Request Line)
  • 头(Head)
  • 身体(Body)
    拿百度主页的访问为例:
GET / HTTP/1.1  ##Request Line
'''
Host: www.baidu.com
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36
Sec-Fetch-User: ?1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Sec-Fetch-Site: none
Sec-Fetch-Mode: navigate
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie: BIDUPSID=3F90D00F418914753; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; H_PS_PSSID=1452_21079_18560_29568_29221; delPer=0; BD_CK_SAM=1; PSINO=2; H_PS_645EC=85a76KN%2FNmFEdt6mXHFXchn5pcvoZBxwINrtBBoK%2Fqtp9Yqamvk2ySwWxDk; BD_HOME=0
'''           ##Head

由于请求为get 所有body内容为空。

  1. Cookie:
    指用户的凭证,包含用户的登录验证信息。
    Set-Cookie:
    指服务器端返回给用户的Cookie凭证。

  2. HTTP请求——Referer:
    可以告诉告知服务器该请求的来源。
    比如我们访问csdn,当我们直接访问csdn时返回的Head里没有Referer信息,而当我们从百度搜索页面跳转时,HTTPHead中会多出如下所示信息:

Referer: https://www.baidu.com/link?url=06sdguv5K3EpSVCAlYwPqkSt6nuWKdz7osF6O_Xg613&wd=&eqid=dd1f24b20007bfe2000000025dbd0fbf

通过Referer我们可以进行流量统计,判断来源的合法性(防盗链,防CSRF漏洞)。

  1. 301/302表示跳转状态码。当我们HTTP报文返回跳转码时,往往会附带一个Location字段,表示为当我们访问该网站时自动跳转到Location字段对应的网站。

参考资料

初级

1. 熟悉常见浏览器协议
1)学习ftp、https、file三种协议:列出每一种协议的具体说明;
2)在浏览器中使用这3种类协议访问资源:了解访问结果(包括协议类型和资源),自行整理成笔记。

2. 熟悉HTTP
1) 熟悉HTTP报文;
A、学习HTTP请求报文中的请求方式:GET、POST、HEAD、PUT、DELETE、MOVE、OPTIONS、TRACE的意义,给出总结列表及用法;
B、了解返回报文中常见状态码1XX–5XX的大致含义;
C、了解请求报文中User-Agent、Host、Cookie、X-Forwarded-For和返回包中server、Set-Cookie、 Content-Type、httponly、X-Frame-Options属性的含义;
2)了解Base64编码;
3)熟悉HTTP基本认证。

高级

简述HTTPS和HTTP的区别和联系

学习内容

了解跟HTTPS相关的CA证书、SSL的概念

回答:

  1. 浏览器协议
    ftp协议:
    File Transfer Protocol,文件传输协议,是TCP/IP协议组中的协议之一,用于客户端和文件服务器之间的文件传输。默认端口为20与21,其中20端口用于数据传输,21端口用于控制信息传输。
    https协议:
    由于http协议在安全方面存在的缺陷,出现了以安全为目标的http通道协议即https协议,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS 在HTTP 的基础下加入SSL层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。
    file协议:
    本地协议。访问本地文件用的。
  2. HTTP请求报文中的请求方式
请求方式 意义 用法
GET 请求服务器发送资源 只请求不修改
POST 向服务器提交数据 提交数据给服务器
HEAD 了解资源一些信息和响应信息 返回实体的主体部分
PUT 在服务器上创建文档 向服务器提交一个文档,若存在就覆盖
DELETE 删除服务器资源 删除指定资源,不保证一定被删除
MOVE 转移服务器地址 将服务器页面转移到另一服务器地址
OPTIONS 查看当前URL支持的方法 请求成功会返回名为“Allow”的头,包含支持的方法
TRACE 查看在途中是否被修改 Trace在服务器端发起回环并返回经过途中后的请求

状态码1XX–5XX的大致含义

状态码 含义
1xx 临时响应
2xx 成功接收
3xx 客户端必须采取额外操作
4xx 发生错误,客户端似乎有问题
5xx 服务器错误

报文中属性的含义:

属性 含义
User-Agent 告诉服务器客户端的操作系统及浏览器信息
Host 指定要请求的资源所在主机和端口,从url获取
Cookie 客户端储存的用于服务器辨别用户身份
X-Forwarded-For 提供原始客户端及通过的代理服务器ip
server 服务器所使用的web平台名称
Set-Cookie 给客户端分配Cookie
Content-Type 返回内容的 MIME类型
httponly 只要浏览器支持HttpOnly标志,客户端脚本就无法访问cookie
X-Frame-Options 指示浏览器是否允许一个页面可在<frame>、<iframe>、<embed>、<object>展示
  1. Base64编码:
    Base64编码是一种传输8bit字节码的编码方式,其采用了64个可打印字符来表示二进制数据,起初目的是解决8bit编码超出ASCII码无法传输的问题(8bit范围为0-255,而ASCII码为0-127),因此将每24bit作为四个6bit字符补零成8bit字符后再传输这样就不会超过ASCII码范围。
  2. HTTP基本认证:





客户端






服务器











http request




401 Unauthozied




Authorization header&#xff08;包含用户名和密码&#xff09;




资源






客户端







服务器


  1. HTTP与HTTPS比较:
方面 HTTP HTTPS
协议 HTTP HTTP
URL http:// https://
安全性 不安全 安全
端口 80 443
网络模型 应用层 传输层
保密性 无需加密 数据加密
认证证书 无需证书 需要认证证书

课程作业

1. 请指出url “http://vip.163.com:8080/users/getid?id=123&return= http%3A%2f%2fwww.163.com #23”
schemahostpathportquery-stringanchor 分别是什么?

回答:

  • schema:http
  • host: vip.163.com
  • port: 8080
  • path:users/getid
  • query-string:id=123&return= http%3A%2f%2fwww.163.com
  • anchor:23

2. 下图为HTTP响应报文,请指出状态行、消息报头、响应正文的位置。(以行数表示)。

回答:
1行为状态行
2-12行为消息报头
14行之后为响应正文

网易云课堂Web安全工程师课程分享——第一章 Web介绍相关推荐

  1. 网易云课堂Web安全工程师课程分享——第二章 Web开发基础知识

    第一节 前端开发基础--HTML 课程回顾 Web页面通常使用哪几种语言开发? HTML结构包含哪两部分? HTML元素由哪几部分组成? 常见的HTML标签有哪些? HTML DOM是什么结构? 总结 ...

  2. 网易云Web安全工程师课程分享2——第二章 常见Web漏洞解析

    第一节 XSS漏洞 课程回顾 什么是XSS? XSS分类 XSS演示 总结回答 XSS: Cross Site Script,跨站脚本. 危害:盗取用户信息,钓鱼,制造蠕虫等. XSS类型 方式 存储 ...

  3. 网易云课堂Java入门视频课程

    课程概述 本课程不提供教学服务.作业批改及证书发放. 程序设计是一门基础课程.对于计算机相关专业而言,程序设计是专业基础知识,是进一步学习其他专业知识的第一步阶梯:对于非计算机专业而言,程序设计的学习 ...

  4. 【239天】网易云课堂计算机专业基础课程系列——计算机专业导论(4)

    叨叨两句 不忘初心 一直以来,我脑中从来不缺好点子,而如今,我发现我除了不缺好点子,还不缺点子所需的行动力和表达能力,唯独缺的,就是时机了. 这个点子我就先留着了,未来时机成熟拿去创业. 第2讲:符号 ...

  5. 云课里计算机,【241天】网易云课堂计算机专业基础课程系列——计算机专业导论(6)...

    叨叨两句 哀其不幸,怒其不争 在能够轻易改变命运的年纪,请不要随意纵容自己的欲望,不划算. 请不要相信努力就能成功,但请坚信不努力绝对不可能成功. 什么样的品质可以称之为优秀?不纵容负面情绪,经得起讨 ...

  6. 2018最新网易云课堂 web白帽子培训教程 价值2000元

    课程介绍: 网易白帽子教程就是网易云课堂微专业白帽子黑ke训练营教程,来自以品质著称的网易云课堂的<Web安全工程师微专业>,由7位网易安全大牛与多位云课堂教育专家匠心打造,是一套从入门到 ...

  7. 网易云课堂解析_网易云课堂课程下载教程

    网易云课堂不能下载视频,缓存打不开? 记: 网易云课堂.中国大学mooc这些学习平台确实大大方便了我们这些工作党学习,之前一直用的是手机客户端看视频,但是由于换手机啊,清理垃圾啊,手机储存容量各种原因 ...

  8. 网易云计算机专业课程,网易云课堂“计算机专业课程”开课

    在线教育的崛起让更多网民体验到了通过互联网来学习知识的乐趣,但是这种学习方式到底能发展到哪一步,是否会触及到线下传统的教学模式呢?上周国内领先的在线教育平台网易云课堂的"计算机专业课程&qu ...

  9. 百度传课网易云课堂在线教育平台竞品分析【转】

    最近正在用网易云课堂学习数据库,闲来搜到这篇网易云课堂和百度传课的竞品分析,写的不错. 个人还是网易云课堂用的比较多,网易云课堂总体给人感觉讲师更专业靠谱,并且注重知识体系的培养,比如课程体系和微专业 ...

最新文章

  1. python turtle画彩虹-Python利用turtle库绘制彩虹代码示例_天津SEO
  2. springboot 参数校验详解
  3. Python List:合并多个list,listd的合并
  4. Java多线程面试题与答案
  5. (93)FPGA模块例化传递参数(defparam)
  6. 上海特斯拉自燃事件终于有结果了:没有系统缺陷 单个电池模组故障
  7. 如何从另一个Shell脚本调用Shell脚本?
  8. C语言经典算法100例-021-猴子吃桃问题
  9. 600个公司企业产品发布展示PPT模板免费下载网站
  10. 前端问题——报错Uncaught ReferenceError:saveScore is not defined at HTMLButtonElement.onclick
  11. docker修改mysql配置文件
  12. IE-ALB网络实验室:cisp-pte CCNA题库 GLBP网关负载均衡协议原理
  13. 80286 与 80386,实模式与保护模式切换编程
  14. python抢票软件哪个好_50个抢票加速包,还不如这个Python抢票神器
  15. ios 应用跳转商店
  16. [转]关于卢平的一些想法
  17. 亲测可用!年终总结神器!ChatGPT国内镜像站 快来体验吧!
  18. NOIP2018·赛道修建
  19. 我自己下班回家赚钱的3个方式
  20. ARPA双周报3.7—3.21

热门文章

  1. 全球著名化妆品品牌--SEPHORA丝芙兰验厂
  2. Netty里面的Boss和Worker【Server篇】
  3. 大数据和机器学习,对我们商业和生活的影响
  4. C语言路漫漫,其修远兮
  5. Android学习资料整理收集--路漫漫其修远兮
  6. Java中 [I@4554617c 问题解决
  7. 达人评测 r33200g和i510400f选哪个好
  8. 【Markdown使用技巧总结】-如何在Markdown文档中插入空格?
  9. 无耻,无知的韩国人!
  10. gsyVideoPlayer点击/拖动进度条播放视频会回退