Web网络安全漏洞分析DOM型XSS攻击原理

目录
  • DOM型XSS攻击
  • DOM型XSS代码分析

DOM型XSS攻击

DOM型XSS攻击页面实现的功能是在“输入”框中输入信息,单击“替换”按钮时,页面会将“这里会显示输入的内容”替换为输入的信息,例如当输入“11”的时候,页面将“这里会显示输入的内容”替换为“11”,如图75和图76所示。

图75 HTML页面

图76 替换功能

当输入<img src=1 οnerrοr=“alert(/xss/)”/>时,单击“替换”按钮,页面弹出消息框,如图77所示。

图77 DOM XSS

从HTML源码中可以看到,存在JS函数tihuan(),该函数的作用是通过DOM操作将元素id1(输出位置)的内容修改为元素dom_input(输入位置)的内容。

DOM型XSS代码分析

DOM型XSS程序只有HTML代码,并不存在服务器端代码,所以此程序并没有与服务器端进行交互,代码如下所示。

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    <title>Test</title>
    <script type="text/javascript">
        function tihuan()
        {
            document.getElementById("id1").innerHTML = document.getElementById("dom_input").value;
        }
    </script>
</head>
<body>
    <center>
    <h6 id="id1">这里会显示输入的内容</h6>
    <form action="" method="post">
        <input type="text" id="dom_input" value="输入"><br />
        <input type="button" value="替换" onclick="tihuan()">
    </form>
    <hr>
    </center>
</body>
</html>

单击“替换”按钮时会执行JavaScript的tihuan()函数,而tihuan()函数是一个DOM操作,通过document.getElementByld的id1的节点,然后将节点id1的内容修改成id为dom_input中的值,即用户输入的值。当输入<img src=1 οnerrοr=“alert(/xss/)”/>时,单击“替换”按钮,页面弹出消息框,但由于是隐式输出的,所以在查看源代码时,看不到输出的XSS代码。

以上就是Web网络安全漏洞分析DOM型XSS攻击原理的详细内容,更多关于Web网络安全漏洞DOM型XSS攻击的资料请关注我们其它相关文章!

(0)

相关推荐

  • Web网络安全分析XFF注入攻击原理详解

    目录 XFF注入 XFF注入代码分析 XFF注入 XFF注入攻击的测试地址:http://127.0.0.1/sqli/xff.php. X-Forwarded-for简称XFF头,它代表客户端真实的IP,通过修改X-Forwarded-for的值可以伪造客户端IP.通过Burp Suite住区数据包内容,将X-Forwarded-for设置为11.22.33.44,然后访问改URL,页面返回正常,如图62所示. 图62 XFF头 将X-Forwarded-for设置为11.22.33.44',

  • Web网络安全解析宽字节注入攻击原理

    目录 宽字节注入攻击 宽字节注入代码分析 宽字节注入攻击 宽字节注入攻击的测试地址:http://127.0.0.1/sqli/kuanzijie.php?id=1. 访问id=1',页面返回的结果如图46所示,程序并没有报错,反而多了一个转义符(反斜杠). 图46 单引号被转义 从返回的结果可以看出,参数id=1在数据库查询时是被单引号包围的.当传入id=1'时,传入的单引号又被转义符(反斜杠)转义,导致参数ID无法逃逸单引号的包围,所以在一般情况下,此处是不存在SQL注入漏洞的.不过有一个特

  • Web网络安全分析Base64注入攻击原理详解

    目录 Base64注入攻击 Base64注入代码分析 Base64注入攻击 Base64攻击的测试地址:http://127.0.0.1/sqli/base64.php?id=MQ%3d%3d. 从URL中可以看出,ID参数经过Base64编码(%3d是=的URL编码格式),解码后发现ID为1,尝试加上一个单引号并一起转换成Base64编码,如图59所示. 图59 对1'进行Base64编码 当访问id=1'编码后的网址时(http://127.0.0.1/sqli/base64.php?id=

  • Web网络安全分析SQL注入绕过技术原理

    目录 SQL注入绕过技术 大小写绕过注入 双写绕过注入 编码绕过注入 内联注释绕过注入 SQL注入修复建议 过滤危险字符 使用预编译语句 SQL注入绕过技术 大小写绕过注入 使用关键字大小写的方式尝试绕过,如And 1=1(任意字母大小写都可以,如aNd 1=1,AND 1=1等),就可以看到访问id=1 And 1=1时页面返回与id=1相同的结果,访问id=1 And 1=2时页面返回与id=1不同的结果,得出存在SQL注入漏洞的结论. 使用order by查询字段数量,还是利用修改关键字大

  • 跨站脚本攻击XSS原理与防范实例分析

    本文实例讲述了跨站脚本攻击XSS原理与防范.分享给大家供大家参考,具体如下: 跨站脚本攻击(Cross Site Script为了区别于CSS简称为XSS)指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的. 一个简单的留言板 我们有个页面用于允许用户发表留言,然后在页面底部显示留言列表 <!DOCTYPE html> <html> <head> <?php include(

  • Web网络安全解析cookie注入攻击原理

    目录 cookie注入攻击 cookie注入代码分析 cookie注入攻击 cookie注入攻击的测试地址:http://127.0.0.1/sqli/cookie.php. 发现URL中没有GET参数,但是页面返回正常,使用Burp Suite抓取数据包,发现cookie中存在id=1的参数,如图56所示. 图56 cookie数据 修改cookie中的id=1为id=1',然后再次访问该URL,发现页面返回错误.接下来,分别修改cookie中id=1 and 1=1和id=1 and 1=2

  • Web网络安全漏洞分析DOM型XSS攻击原理

    目录 DOM型XSS攻击 DOM型XSS代码分析 DOM型XSS攻击 DOM型XSS攻击页面实现的功能是在"输入"框中输入信息,单击"替换"按钮时,页面会将"这里会显示输入的内容"替换为输入的信息,例如当输入"11"的时候,页面将"这里会显示输入的内容"替换为"11",如图75和图76所示. 图75 HTML页面 图76 替换功能 当输入<img src=1 οnerrοr=&qu

  • Web网络安全漏洞分析存储型XSS攻击原理

    目录 存储型XSS攻击 存储型XSS代码分析 存储型XSS攻击 存储型XSS页面实现的功能是:获取用户输入的留言信息.标题和内容,然后将标题和内容插入到数据库中,并将数据库的留言信息输出到页面上,如图71所示. 图71 输入留言信息 当用户在标题处写入1,内容处写入2时,数据库中的数据如图72所示. 图72 保存留言信息到数据库 当输入标题为<img src=X οnerrοr="alert(/xss/)"/>.然后将标题输出到页面时,页面执行了<img src=X

  • Web网络安全分析存储型XSS攻击漏洞原理

    目录 存储型XSS攻击 存储型XSS代码分析 存储型XSS攻击 存储型XSS页面实现的功能是:获取用户输入的留言信息.标题和内容,然后将标题和内容插入到数据库中,并将数据库的留言信息输出到页面上,如图71所示. 图71 输入留言信息 当用户在标题处写入1,内容处写入2时,数据库中的数据如图72所示. 图72 保存留言信息到数据库 当输入标题为<img src=X οnerrοr="alert(/xss/)"/>.然后将标题输出到页面时,页面执行了<img src=X

  • Web网络安全漏洞分析XSS常用语句及编码绕过详解

    目录 XSS进阶 XSS常用语句及编码绕过 XSS常用的测试语句 JS编码 HTML实体编码 URL编码 XSS进阶 XSS常用语句及编码绕过 XSS常用的测试语句 <img src=1 alert(1)> (显示1) <script>alert("xss")</script> (显示xss) <script>alert(document.cookie)</script> (显示cookie) <script>wi

  • Web网络安全漏洞分析SQL注入原理详解

    目录 一.SQL注入的基础 1.1 介绍SQL注入 1.2 注入的原理 1.3 与MySQL注入相关的知识 MySQL查询语句 limit的用法 需要记住的几个函数 注释符 内联注释 一.SQL注入的基础 1.1 介绍SQL注入 SQL注入就是指Web应用程序对用户输入数据的合法性没有判断,前端传入后端的参数是攻击者可控的,并且参数带入数据库查询,攻击者可以通过构造不同的SQL语句来实现对数据库的任意操作. 下面以PHP语句为例. $query = "SELECT * FROM users WH

  • web网络安全分析反射型XSS攻击原理

    目录 反射型XSS攻击 反射型XSS代码分析 反射型XSS攻击 页面http://127.0.0.1/xss/xss1.php实现的功能是在"输入"表单中输入内容,单击"提交"按钮后,将输入的内容放到"输出"表单中,例如当输入"11",单击"提交"按钮时,"11"将被输出到"输出"表单中,效果如图68所示. 图68 输入参数被输出到页面 当访问http://127.0

  • Web网络安全分析二次注入攻击原理详解

    目录 二次注入攻击 二次注入代码分析 二次注入攻击 二次注入攻击的测试地址:http://127.0.0.1/sqli/double1.php?username=test 和 http://127.0.0.1/sqli/double2.php?id=1. 其中,double1.php页面的功能是注册用户名,也是插入SQL语句的地方:double2.php页面的功能是通过参数ID读取用户名和用户信息. 第一步,访问double1.php?username=test',如图40所示. 图40 注册用

  • Web网络安全分析堆叠查询注入攻击原理

    目录 1.堆叠查询注入攻击 2.堆叠准入代码分析 1.堆叠查询注入攻击 堆叠查询注入攻击的测试地址:http://127.0.0.1/sqli/duidie.php?id=1. 堆叠查询可以执行多条语句,多语句之间以分好隔开.堆叠查询注入就是利用这个特点,在第二个SQL语句中构造自己要执行的语句.首先访问id=1',页面返回MySQL错误,在访问id=1'--+,页面返回正常的结果.这里可以使用Boolean注入.时间注入,也可以使用另一种注入方式--堆叠注入. 堆叠注入的语句为: ';sele

  • PHP如何防止XSS攻击与XSS攻击原理的讲解

    XSS又称CSS,全称Cross SiteScript(跨站脚本攻击), XSS攻击类似于SQL注入攻击,是Web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击方式,所以容易被忽略其危害性.其原理是攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,当用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的.如,盗取用户Cookie信息.破坏页面结构.重定向到其它网站等. 理论上,只要存在能提供输入的表单并且没做安全过滤或过滤不彻底,都有可能存在XSS漏洞. 下面是一些最简

  • 跨站式脚本(Cross-SiteScripting)XSS攻击原理分析第1/4页

    使用过ASP的同学一定见过这样的代码:  Hello, 复制代码 代码如下: <% Response.Write(Request.Querystring("name")) %> 假如我传入的name的值为:  x=document.cookie;alert(x); [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 这样就可以直接盗取用户的cookie.所以我就可以发送一条链接地址让别人去点: 复制代码 代码如下: http://www.xxx.com/reg.as

随机推荐