# Web安全技术
必读:
1、下面的很多内容都是gpt的,可以不用看
2、只是整理了课件上的”每课一问“
3、期末必考“你从这门课学到了什么?”
# 1.1 Web安全的体系结构?
Web安全的体系结构包括以下主要组件:
- 网络安全层: 包括防火墙、入侵检测系统(IDS)、入侵防御系统(IPS)、反病毒软件等,用于保护整个网络基础设施,监测和阻止潜在的恶意流量。
- 身份验证和授权: 这包括用户认证、访问控制列表(ACL)、单点登录(SSO)等机制,确保只有授权的用户能够访问特定资源。
- 应用程序安全: 涉及对应用程序的保护,包括输入验证、数据加密、安全编程实践、安全配置、安全审计等。常见的应用程序安全包括Web应用程序防火墙(WAF)、内容安全策略(CSP)、跨站点请求伪造(CSRF)防护等。
- 加密与安全传输: 使用加密技术(如SSL/TLS)保护数据传输的机密性和完整性,以防止数据被窃取或篡改。
- 终端安全: 包括终端设备(例如计算机、手机、平板电脑)的安全性,涉及操作系统补丁更新、防病毒软件、网络隔离等措施。
- 安全运营和监控: 包括事件响应、日志监控、漏洞管理、安全意识培训等,用于及时发现和应对安全威胁,以及提高员工的安全意识。
- 合规性和法律遵循: 确保系统和流程符合相关的法律、标准和规定,如GDPR、HIPAA等,以避免法律风险。
这些组件共同构成了一个综合的Web安全体系结构,通过多层次、多方面的保护来降低安全风险,确保Web系统和数据的安全。
# 1.2 Web服务器和浏览器曾经存在哪些安全问题、现在又面临着哪些安全 问题,如何解决?
过去的安全问题:
Web服务器:
- 漏洞利用: 某些服务器软件存在漏洞,如Apache、Nginx等,黑客可以利用这些漏洞执行恶意代码或攻击。
- 拒绝服务(DoS)攻击: 通过不断请求服务器资源或发送恶意数据包,使服务器超负荷而无法响应合法请求。
浏览器:
- 跨站点脚本(XSS)攻击: 允许攻击者在受害者的浏览器中执行恶意脚本,通常通过网页注入实现。
- 跨站点请求伪造(CSRF)攻击: 利用受信任用户的权限,以其名义执行非预期的操作,如更改账户设置或提交恶意请求。
- 浏览器插件漏洞: 第三方插件(如Flash、Java)存在漏洞,可能导致安全问题。
当前的安全问题:
Web服务器:
- 零日漏洞: 新发现的漏洞,对尚未发布补丁的服务器构成威胁。
- API安全性: 对于使用API的服务器,API本身的安全性成为一个重要问题。
- 云安全: 使用云服务时,服务器暴露在互联网上,需要特别注意配置和访问控制。
浏览器:
- 隐私问题: 浏览器追踪和个人隐私保护成为焦点,有关数据收集和共享的问题备受关注。
- 新型攻击: 例如新型XSS和CSRF攻击,更具欺骗性和复杂性。
- 沙箱逃逸: 恶意程序可能尝试逃离浏览器的沙箱环境,影响计算机系统的其他部分。
解决方案:
Web服务器:
- 及时更新和漏洞修补: 保持服务器软件和系统的最新版本,及时应用安全补丁。
- 安全配置: 配置防火墙、安全认证、访问控制等安全措施,限制对服务器的访问。
- 网络监控: 监控服务器流量和活动,及时识别异常行为。
浏览器:
- 安全设置和更新: 启用浏览器的安全设置、更新最新版本,使用安全插件和扩展。
- 内容安全策略(CSP): 使用CSP防止XSS攻击。
- 隐私保护工具: 使用隐私保护插件、关闭追踪器,限制第三方Cookie等。
- 安全编程实践: 开发人员应采用安全编码最佳实践,防范攻击。
# 1.3 HTTP协议和Cookie有哪些安全问题,现在有哪些解决办法?




Cookie的安全问题:
- 信息泄露: Cookie中存储的信息可能泄露用户的个人敏感信息,如登录凭据或个人偏好。
- 跨站脚本攻击(XSS): 恶意脚本可以通过注入方式读取Cookie数据,获取用户信息。
- 跨站请求伪造(CSRF): 攻击者可以利用受信任用户的Cookie发送恶意请求,执行非授权操作。
解决办法:
HTTP协议的安全解决方案:(引入HTTPS协议)
- 使用HTTPS: 使用SSL/TLS加密传输数据,确保数据在传输过程中被加密,防止窃听和篡改。
- HSTS: 强制网站只能通过HTTPS访问,防止被劫持到非加密连接。
Cookie的安全解决方案:(找安全策略)
- Secure标志: 设置Cookie的Secure属性,只在HTTPS连接中传输,防止信息泄露。
- HttpOnly标志: 设置Cookie的HttpOnly属性,禁止JavaScript读取Cookie,防止XSS攻击。
- SameSite标志: 设置Cookie的SameSite属性,限制第三方Cookie的使用,防止CSRF攻击。
- 仅限必要信息: 最小化Cookie中存储的敏感信息,仅保存必要的标识信息。
使用HTTPS可以解决HTTP协议明文传输的问题,而通过Cookie属性设置(如Secure、HttpOnly和SameSite等)可以针对Cookie的安全问题进行解决和防范。同时,开发人员需要采用安全编程实践,避免常见的Web安全漏洞,确保网站和应用程序的安全性。
# 1.4 什么是同源策略,跨域通信的方法有哪些?

跨域通信

# 2.1 Web安全风险有哪些?哪些危害最为严重?
# 2.2 XSS与CSRF的过去、现在和未来。
# 2.3 Clickjacking的表现形式及防御思路
攻击类型
图片覆盖劫持、FLASH点击劫持、浏览器拖拽劫持、触屏劫持、DOUBLE-CLICK TIMING ATTACK、CLOAK & DAGGER ATTACK
防御方法
XFO、FRAME BUSTING、CSP、安装浏览器插件、HTML5防御
# 2.4 浏览器的安全问题及解决方法。
安全问题
网页木马、ActiveX安全问题、 Adobe Flash Player漏洞
解决方法
附加组件签名机制、W^X JIT-CODE
# 2.5 实际网络攻击案例中Web客户端安全的“角色”。
# 3.1 SQL注入原理是什么,技巧有哪些?
SQL注入(SQL Injection),在客户端通通过向服务器提交恶意输入 ,造成服务端产生畸形SQL语句,从而非法读取网站数据库,而不是 按照设计者意图去执行SQL语句。

技巧
# 3.2 黑客常用的上传Webshell的技巧有哪些? 什么是文件包含漏洞,危害有哪些,典型利用方法有哪些?
黑客常用的上传Webshell的技巧有哪些?
一句话木马,是一类Webshell的统称,通常被称为“小马” 被控端简单小巧,仅有一行或数十行代码 提供一些基本的功能:文件管理、文件删改、文件上传、文件下载、 系统命令、数据库管理…… 需要用特定的控制端连接
中国菜刀 一句话菜刀马(PHP) 一句话菜刀马(ASP) 一句话菜刀马(ASPX)
大马 功能丰富、被控端文件体积较大的Webshell 功能:文件管理、数据库管理、终端命令、网络管理、暴力破解、本 地提权、脚本运行、信息收集…… 控制者直接使用浏览器访问Webshell,不需要专门的客户端
什么是文件包含漏洞
随着网站业务的需求,程序开发人员一般希望代码更灵活,所以将被包含的文件设置为变量,用来进行动 态调用,但是正是这种灵活性通过动态变量的方式引入需要包含的文件时,用户对这个变量可控而且服务 端又没有做合理的校验或者校验被绕过就造成了文件包含漏洞。
危害有哪些
- 敏感信息泄露: 攻击者可以利用文件包含漏洞读取系统文件、配置文件或其他敏感信息,例如密码、密钥、数据库凭证等。
- 恶意代码执行: 攻击者可以通过利用文件包含漏洞在服务器上执行恶意代码,从而获取对系统的控制权。这可能包括上传和执行恶意脚本、创建后门、删除或篡改文件等操作。
- 服务器拒绝服务: 攻击者可以利用文件包含漏洞来访问大量文件或资源,导致服务器负载增加,最终使服务器崩溃或拒绝服务。
- 远程命令执行: 如果攻击者能够远程执行命令,他们可以利用这个漏洞在受影响的服务器上执行任意命令,并可能获取管理员权限。
- 扩大攻击面: 攻击者可以利用成功利用的文件包含漏洞来获取对整个服务器或网络的访问权限,从而将攻击范围扩大到其他系统。
- 数据损坏或篡改: 攻击者可能会修改或破坏文件,导致数据损坏或系统功能异常。
- 窃取敏感数据: 攻击者可以访问和窃取用户提交的敏感数据,例如个人信息、财务信息等。
这些危害对系统、用户数据和业务都构成了严重的威胁,因此及时发现并修复文件包含漏洞至关重要。
典型利用方法有哪些?(找漏洞利用)
- 绕过前端文件类型检查
- 服务器配置不当直接上传
- 绕过后端文件类型检查
- 利用服务器文件解析漏洞
- 利用第三方应用或框架漏洞
# 3.3 XXE? SSRF? XXE与SSRF



# 期末必考:从这门课学到了什么?
ctf,学会了什么软件,学会了啥知识点等都说说就行,多说分就高