《Web安全基础》05. XSS · CSRF · SSRF · RCE

news/2024/7/24 9:11:58 标签: web安全, xss, csrf

web

  • 1:XSS
    • 1.1:简介
    • 1.2:防护与绕过
      • 1.2.1:HttpOnly
      • 1.2.2:WAF 绕过
    • 1.3:相关资源
  • 2:CSRF
  • 3:SSRF
  • 4:RCE


本系列侧重方法论,各工具只是实现目标的载体。
命令与工具只做简单介绍,其使用另见《安全工具录》。

靶场参考:XSS-Labs,pikachu,DVWS。

1:XSS

在这里插入图片描述

1.1:简介

XSS(Cross-Site Scripting),跨站脚本攻击。它允许攻击者向网页注入恶意脚本代码,然后在用户的浏览器上执行这些恶意脚本。

危害

  • 钓鱼欺骗
  • 网站挂马
  • 身份盗用
  • 盗取网站用户信息
  • 垃圾信息发送
  • 劫持用户 Web 行为
  • XSS 蠕虫

分类

  • 反射型(非持久型)
    一般把可以执行的 js 代码放到 URL 里,可通过邮件诱导用户点击。
    攻击过程:发包 h=123 -> x.php -> 返回浏览器执行。
  • 存储型(持久型)
    恶意代码被后台存储之后,用户打开相应页面的时候就会执行脚本。
    攻击过程:发包 h=123 -> x.php -> 写到数据库 -> x.php -> 返回浏览器执行。
  • DOM 型
    攻击过程:发包 h=123 -> 本地浏览器静态前端代码 -> x.php -> 返回浏览器执行。

Webshell 后门中的后门

通过在 webshell 程序中植入后门,形成 “ 黑吃黑 ”,用有后门的木马入侵的网站也可以被木马制造者利用。webshell 的后门就可以利用 XSS 实现。

1.2:防护与绕过

1.2.1:HttpOnly

HttpOnly:如果 HTTP 响应头中包含 HttpOnly 标志,只要浏览器支持,客户端脚本就无法访问 cookie。因此,即使存在 XSS 缺陷,且用户意外访问利用此漏洞的链接,浏览器也不会向第三方透露 cookie。

如果浏览器不支持 HttpOnly,浏览器会忽略 HttpOnly 标志,从而创建一个传统的,脚本可访问的 cookie。

HttpOnly 属性只能防止 cookie 被盗取,不能防止 xss 漏洞。

绕过 httponly

  • 若浏览器保存帐号密码:从浏览器读取帐号密码。
  • 若浏览器未保存帐号密码:需要使用 xss 跳转登录地址,再利用表单劫持。

1.2.2:WAF 绕过

常规 WAF 绕过思路

  • 标签语法替换
  • 特殊符号干扰
  • 提交方式更改
  • 垃圾数据溢出
  • 加密解密算法
  • 结合其他漏洞绕过

1.3:相关资源

XSS 平台
https://xss.yt

webshell 收集
https://github.com/tennc/webshell

工具 XSStrike
https://github.com/s0md3v/XSStrike

工具 Xwaf
https://github.com/3xp10it/xwaf

关于 XSS 漏洞修复
https://www.cnblogs.com/baixiansheng/p/9001522.html

绕过 XSS 检测机制
https://bbs.kanxue.com/thread-250852.htm

Fuzz 字典
https://github.com/TheKingOfDuck/fuzzDicts

2:CSRF

CSRF,或 XSRF(Cross-Site Request Forgery),跨站请求伪造。利用用户已经通过身份验证的会话来执行未经用户许可的操作,通过欺骗用户在不知情的情况下执行恶意请求。

也被称为 “One Click Attack” 或 “Session Riding”。

XSS:利用用户对指定网站的信任。
CSRF:利用网站对用户网页浏览器的信任。

在这里插入图片描述

漏洞攻击两个条件

  1. 用户登录受信任网站 A,并在本地生成 Cookie。
  2. 在不注销 A 的情况下,访问危险网站 B。

如果遇到 POST 型,则需要构造一个表单提交按钮欺骗用户点击。

防御方案

  • 当用户发送重要的请求时需要输入原始密码
  • 设置随机 Token
  • 检验 referer 来源
  • 设置验证码

3:SSRF

在这里插入图片描述

SSRF(Server-Side Request Forgery),服务器端请求伪造。攻击者通过受害者服务器发起网络请求,从而操纵和滥用服务器的资源,甚至访问服务器相关的内网。

SSRF 攻击的目标一般是从外网无法访问的内部系统。

在这里插入图片描述

SSRF 形成的原因大都是服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。

SSRF 利用手段

  • 可以对外网、内网、本地进行端口扫描
  • 攻击运行在内网或本地的有漏洞程序(比如溢出)
  • 可以对内网 Web 应用进行指纹识别(通过请求默认的文件得到特定的指纹)
  • 使用 file:/// 协议或其他协议读取本地文件

SSRF漏洞(原理&绕过姿势)
https://www.t00ls.com/articles-41070.html

4:RCE

在这里插入图片描述

RCE(Remote Command/Code Execution),远程命令/代码执行。指攻击者能够成功地在远程目标计算机上执行自己的恶意代码或命令。

出现这种漏洞,一般是因为应用从设计上需要给用户提供远程命令操作的接口。

危害

  • 可能导致系统被完全控制
  • 窃取敏感数据
  • 修改文件
  • 操纵系统配置

PHP远程代码执行漏洞复现(CVE-2019-11043)
http://blog.leanote.com/post/snowming/9da184ef24bd


明月直入,无心可猜。

——《独漉篇》(唐)李白


http://www.niftyadmin.cn/n/5008942.html

相关文章

【SpringCloud微服务--Eureka服务注册中心】

SpringCloud微服务全家桶学习笔记【持续更新】 gitee仓库 内容:SpringCloud SpringCloud alibaba 技术栈:Java8mavengit,githubNginxRabbitMQSpringBoot2.0 微服务架构概述 微服务架构是一种架构模式,它提倡将单一应用程序划…

C高级第2天

写一个1.sh脚本,将以下内容放到脚本中: 在家目录下创建目录文件,dir 在dir下创建dir1和dir2 把当前目录下的所有文件拷贝到dir1中, 把当前目录下的所有脚本文件拷贝到dir2中 把dir2打包并压缩为dir2.tar.xz 再把dir2.tar.xz…

[PyTorch][chapter 54][GAN- 1]

前言: GAN playground: Experiment with Generative Adversarial Networks in your browser 生成对抗网络(Generative Adversarial Nets,GAN)是一种基于对抗学习的深度生成模型,最早由Ian Goodfellow于2014年在《Gener…

Vue中使用pdf.js实现在线预览pdf文件流

以下是在Vue中使用pdf.js实现在线预览pdf文件流的步骤: 1. 安装pdf.js npm install pdfjs-dist2. 引入pdf.js 在需要使用的组件中,使用以下代码引入pdf.js: import pdfjsLib from pdfjs-dist3. 加载pdf文件流 使用pdf.js的getDocument()方…

数据治理-数据架构-企业架构类型

企业架构类型 数据架构的设计及实施与其他架构紧密相关,企业架构包括业务架构、数据架构、应用架构和技术架构。该四类架构的具体描述和比较,如表格所示,不同类型的架构师除了致力于自己所属的架构设计和实施工作外,还必须了解与其…

在Linux中使用shell指令完成文件打包、压缩、解压缩

一、写一个1.sh脚本,将以下内容放到脚本中 在家目录下创建目录文件dir在dir下创建dir1和dir2把当前目录下的所有文件拷贝到dir1中,把当前目录下的所有脚本文件拷贝到dir2中把dir2打包并压缩为dir2.tar.xz再把dir2.tar.xz移动到dir1中解压dir1中的压缩包…

开源机密计算平台:蓬莱-OpenHarmony

演讲嘉宾 | 杜 东 回顾整理 | 廖 涛 排版校对 | 李萍萍 嘉宾简介 杜东,上海交通大学助理研究员。中国计算机学会CCF会员,ACM会员。研究兴趣为操作系统与体系结构、服务器无感知(Serverless)计算、系统安全。在包括ASPLOS、ISC…

Java之包装类的算法小题的练习

算法小题 练习一: 需求: 键盘录入一些1~10日之间的整数,并添加到集合中。直到集合中所有数据和超过200为止。 代码示例: public class Test1 {public static void main(String[] args) {/*键盘录入一些1~10日之间的整数&…