漏洞原理XSS存贮型漏洞

漏洞原理XSS存贮型漏洞

  • XSS(跨站脚本攻击)是一种常见的Web安全漏洞,它允许攻击者将恶意代码注入到网页中,进而攻击用户的浏览器。存储型XSS漏洞是一种特定类型的XSS漏洞,它发生在Web应用程序中,其中用户输入的数据被存储在数据库或其他持久性存储中,并在页面重新加载时被动态地渲染到页面上。
  • 存储型XSS漏洞的原理是,当用户输入恶意脚本或代码时,它被存储在应用程序的数据库或其他存储中。当其他用户在浏览网页时,这些恶意脚本或代码被服务器动态地将其插入到返回给用户的页面中,从而导致恶意代码在用户的浏览器中执行。
  • 存储型XSS漏洞可能导致严重的安全问题,例如窃取用户的敏感信息、劫持用户的会话、操纵用户的账户等。为了预防存储型XSS漏洞,开发人员应该对用户输入进行验证和过滤,特别是对于需要存储和动态渲染的数据。

1.黑客利用服务器上的XSS漏洞,提交恶意的js代码,服务器将恶意代码存储到数据库

2.受害者(其他用户)访问服务器的某个页面,而这个页码会使用到数据库的数据。服务器从数据库获取恶意的js代码,并返回给受害者。

存储型XSS漏洞利用条件比较简单,危害面也比较广,比反射型XSS更受到关注!

基于pikachu靶场完成实验,在留言文本框中,输入:    <script>alert(1)</script>

基于 DVWA靶场的操作存贮型XSS 

DVWA 等级划分

DVWA(Damn Vulnerable Web Application)是一款用于安全测试和演示的开源Web应用程序。DVWA根据漏洞的严重性和难度级别进行了划分,包括以下几个等级:

  1. Low(低级):这是最简单的级别,适合初学者。在这个级别上,DVWA应用程序中的漏洞很容易被发现和利用。

  2. Medium(中级):这是一个挑战性适中的级别,需要一些基本的安全知识和技能。在这个级别上,漏洞可能需要一些额外的技巧或技术来发现和利用。

  3. High(高级):这个级别更加复杂和困难,需要更深入的安全知识和技术。在这个级别上,漏洞可能需要更复杂的攻击向量和技巧来发现和利用。

  4. Impossible(不可能):这个级别被认为是不可能攻破的,因为漏洞已经被修复或者被设定为无法攻击。这个级别主要用于展示安全措施的重要性,以及漏洞修复对应用程序的影响。

通过在不同的等级上进行漏洞测试和实验,用户可以逐渐提升自己的安全技能和知识,了解各种常见的Web应用程序漏洞,并学习如何防范和修复这些漏洞。

1.low:对漏洞没有做任何的防护,漏洞利用比较简单。<script>alert(1)</script>

2.medium:对漏洞做了简单的防护,需要我们进行一定的绕过。

过滤代码:

 // 字符串替换$name = str_replace( '<script>', '', $_GET[ 'name' ] ); 

str_replace()函数,删除了特征字符串<script>。

使用大小写绕过<ScripT>alert(1)</ScripT>

3.high:对漏洞做了进一步的防护,需要我们进一步的绕过。

过滤代码:

$name = preg_replace( '/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i', '', $_GET[ 'name' ] ); 

script做了精确的匹配后,使用另外一个payload: <img src=1 οnerrοr=alert(1)>

4.impossible:对漏洞做了严密的防护,找不到漏洞。

后端代码对xss的防御:将<、>进行字符实体编码的替换。

  $name = **htmlspecialchars**( $_GET[ 'name' ] ); 
总结 存在漏洞的地方

1.用户注册,可以尝试在除密码之外的每一个输入框中都增加<script>alert(1)</script>.例如:邮箱可以使用tedu@163.com<script>alert(1)</script>这样的数据,登录后,如果页面有邮箱显示,就会弹框.

2.论坛的文章发表,评论,交流的输入框中,都可以尝试<script>alert(1)</script>

3.电商网站的商品评价\回复,的输入框,也可以尝试<script>alert(1)</script>

4.企业网站的产品的评价、留言

存贮XSS的防御

1.输入验证、输出过滤。

DVWA靶场,当在后端代码中对<script>做正则的验证限制时,意味着在payload不允许出现<script>,无论大小写。

我们换一个payload:

impossible级别:将特殊字符<、 >,替换成了html字符实体编码,这是最终的好的防御方案。

在后端php代码中,htmlspecialchars这是函数就是完成以上所述的操作的。

xss防御的实际案例,例如:在博客园发表文章。也是将特殊字符做html字符实体编码替换。

  1. http only是xss防御的一种方案。在后端代码设置cookie值的时候,通过参数设置不允许使用javascript读取cookie数据。

httpOnly实现防止XSS时避免JavaScript读取cookie-CSDN博客

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

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

相关文章

小红叒战小紫

概率dp #include <iostream> #include <string> #include <stack> #include <vector> #include <queue> #include <deque> #include <set> #include <map> #include <unordered_map> #include <unordered_set> #…

在租户内启用SharePoint Embedded

要开启 SharePoint Embedded&#xff0c;你得是管理员&#xff0c;然后按照这些步骤操作&#xff1a; 登录到你的 SharePoint 管理中心。在左边的菜单里找到“设置”选项&#xff0c;点进去。 3. 在设置页面里找到“SharePoint Embedded 应用”。 4.如果这个功能还没开启&…

Android Settings 显示电池点亮百分比

如题&#xff0c;Android 原生 Settings 里有个 电池电量百分比 的选项&#xff0c;打开后电池电量百分比会显示在状态栏。 基于 Android 13 &#xff0c; 代码在 ./packages/apps/Settings/src/com/android/settings/display/BatteryPercentagePreferenceController.java &am…

【flutter项目类型】project type如何区分

通过项目中.metadata内容区分 如 # Used by Flutter tool to assess capabilities and perform upgrades etc. # # This file should be version controlled and should not be manually edited.version:revision: 85684f9300908116a78138ea4c6036c35c9a1236channel: stablep…

【大数据】Flink 架构(二):数据传输

《Flink 架构》系列&#xff08;已完结&#xff09;&#xff0c;共包含以下 6 篇文章&#xff1a; Flink 架构&#xff08;一&#xff09;&#xff1a;系统架构Flink 架构&#xff08;二&#xff09;&#xff1a;数据传输Flink 架构&#xff08;三&#xff09;&#xff1a;事件…

(Aliexpress)速卖通卖家通过自养号补单提高出单率

在跨境电商领域&#xff0c;有些卖家可能会遇到这样的问题&#xff1a;自己的速卖通店铺始终没有订单产生。那么&#xff0c;当速卖通店铺一直不出单时&#xff0c;我们应该如何进行补救呢&#xff1f;今天珑哥将围绕这个问题展开探讨&#xff0c;并分享一些提升速卖通店铺销量…

HCIP复习课(mpls实验)

1、IP配置&#xff1a; R1&#xff1a; R2&#xff1a; R3&#xff1a; R4&#xff1a; R5&#xff1a; R6&#xff1a; R7&#xff1a; R8&#xff1a; 2、rip&#xff0c;ospf配置&#xff1a; R2&#xff1a; R3&#xff1a; R4&#xff1a; R5&#xff1a; R6&#xff1a…

信创联盟--朗思科技加入证券基金行业信息技术应用创新联盟,共促金融信创发展

近期&#xff0c;证券基金行业信息技术应用创新联盟&#xff08;以下简称&#xff1a;信创联盟&#xff09;新一批成员单位名单公布&#xff0c;朗思科技LanSive凭借产品创新以及实践案例成功入选&#xff0c;正式成为信创联盟成员单位。 信创联盟由上交所联合行业券商倡议发起…

Threejs 展示——fbx 格式模型导入

文章目录 需求分析 需求 导入fbx 格式的模型数据 分析 需要准备 fbx 格式的数据&#xff0c;如下所示 <template><div id"three-canvas" /> </template> <script> // import { Color, MOUSE, PerspectiveCamera, Scene, WebGLRenderer } …

【LLVM Pass解读】Reassociate 重结合优化

run函数的分析 首先&#xff0c;ReassociatePass是一个FunctionAnalysis&#xff0c;所以其入口函数为 PreservedAnalyses ReassociatePass::run(Function &F, FunctionAnalysisManager &) { 首先对一个函数的基本块构造ReversePostOrderTraversal&#xff0c;该顺序…

canvas自定义扩展示例,新增属性和方法

查看专栏目录 canvas实例应用100专栏&#xff0c;提供canvas的基础知识&#xff0c;高级动画&#xff0c;相关应用扩展等信息。canvas作为html的一部分&#xff0c;是图像图标地图可视化的一个重要的基础&#xff0c;学好了canvas&#xff0c;在其他的一些应用上将会起到非常重…

少儿编程 2023年12月电子学会图形化编程等级考试Scratch一级真题解析(判断题)

2023年12月scratch编程等级考试一级真题 判断题(共10题,每题2分,共20分) 26、角色和造型的名称可以更改,但背景的名称不能更改 答案:错 考点分析:角色造型名称和背景名称都可以更改,所以错误 27、点击绿旗后,无论是否按下空格键,声音“Xylo1”都会完整播放完毕,“…

网诺安全文件上传总结

一、文件上传简介 文件上传漏洞是指用户上传了一个可执行的脚本文件&#xff08;木马、病毒、恶意脚本、webshell等&#xff09;&#xff0c;并通过此脚本文件获得了执行服务器端命令的能力。上传点一般出现在头像、导入数据、上传压缩包等地方&#xff0c;由于程序对用户上传…

自然语言处理中的词云生成

一.词云的介绍 自然语言处理中的词云技术是文本可视化的一种形式&#xff0c;用于展示文本数据中词语的频率分布。以下是词云在自然语言处理中的基本介绍和发展&#xff1a; 起源和发展&#xff1a; 词云的概念最初来源于信息可视化领域&#xff0c;用于将文本中的关键词以视…

64、ubuntu使用c++/python调用alliedvisio工业相机

基本思想&#xff1a;需要使用linux系统调用alliedvisio工业相机完成业务&#xff0c;这里只做驱动相机调用&#xff0c;具体不涉及业务开发 Alvium 相机选型 - Allied Vision 一、先用软件调用一下用于机器视觉和嵌入式视觉的Vimba X 软件开发包 - Allied Vision VimbaX_Set…

Prometheus的相关概念和部署

&#xff08;一&#xff09;Prometheus的相关概念 1、Prometheus&#xff1a;是一个开源的系统监控以及报警系统&#xff0c;整合zabbix的功能、系统、网络、设备 2、Prometheus可以兼容网络、设备&#xff0c;进行容器监控、告警系统 3、因为Prometheus和k8s是一个项目基金…

服务攻防-开发组件安全JacksonFastJson各版本XStreamCVE环境复现

知识点 1、J2EE-组件Jackson-本地demo&CVE&#xff08;数据处理&#xff09; 2、J2EE-组件FastJson-本地demo&CVE&#xff08;数据处理&#xff09; 3、J2EE-组件XStream-本地demo&CVE&#xff08;数据处理&#xff09; 章节点&#xff1a; 1、目标判断-端口扫描…

浅谈桌面云

桌面云是一种通过网络将可伸缩、弹性的共享物理或虚拟资源池按需供应和交付桌面的云服务模式。桌面操作系统运行于共享物理或虚拟资源池&#xff0c;用户可使用瘦客户机端或其他任何与网络相连的设备&#xff08;即终端设备&#xff0c;包括云终端、笔记本、普通PC、智能终端等…

脉宽调制器

1. pwm脉宽调制器 脉宽调制器: 一种硬件设备, 用于 动态调制 方波 的 一些属性, 方波的周期,频率,占空比 占空比? : 有效电平占 整个周期的比值 可以使用PWM 控制功率, 控制频率 用于 开关电源 或 逆变器 1.1 原理 PWM原理: 如图所示 本质就是一个定时器: 由原理…

【玩转Node.JS】=>(内置文件系统)fs模块

文章目录 概念&#xff1a;文件写入writeFile &#xff08;异步写入&#xff09;writeFileSync&#xff08;同步写入&#xff09;appendFile &#xff08;异步追加写入&#xff09;appendFileSync&#xff08;同步追加写入&#xff09;createWriteStream &#xff08;文件流式写…