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

目录
  • 存储型XSS攻击
  • 存储型XSS代码分析

存储型XSS攻击

存储型XSS页面实现的功能是:获取用户输入的留言信息、标题和内容,然后将标题和内容插入到数据库中,并将数据库的留言信息输出到页面上,如图71所示。

图71 输入留言信息

当用户在标题处写入1,内容处写入2时,数据库中的数据如图72所示。

图72 保存留言信息到数据库

当输入标题为<img src=X οnerrοr=“alert(/xss/)”/>。然后将标题输出到页面时,页面执行了<img src=X οnerrοr=“alert(/xss/)”/>,导致弹出窗口。此时,这里的XSS是持久性的,也就是说,任何人访问改URL时都会弹出一个显示“/xss/”的框,如图73所示。

图73 存储型XSS

存储型XSS代码分析

在存储型XSS的PHP代码中,获取POST参数title和参数content,然后将参数插入数据库表XSS中,接下来通过select查询将表XSS中的数据查询出开,并显示到页面上,代码如下所示。

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    <title>留言板</title>
</head>
<body>
    <center>
    <h6>输入留言内容</h6>
    <form action="" method="post">
        标题:<input type="text" name="title"><br />
        内容:<textarea name="content"></textarea><br />
        <input type="submit">
    </form>
    <hr>
    <?php

        $con=mysqli_connect("localhost","root","root","test");
        if (mysqli_connect_errno())
        {
            echo "连接失败: " . mysqli_connect_error();
        }
        if (isset($_POST['title'])) {
            $result1 = mysqli_query($con,"insert into xss(`title`, `content`) VALUES ('".$_POST['title']."','".$_POST['content']."')");
        }

        $result2 = mysqli_query($con,"select * from xss");
            if (!$result2)
            {
                exit();
            }

        echo "<table border='1'><tr><td>标题</td><td>内容</td></tr>";
        while($row = mysqli_fetch_array($result2))
        {
            echo "<tr><td>".$row['title'] . "</td><td>" . $row['content']."</td>";
        }
        echo "</table>";
    ?>
    </center>
</body>
</html>

当用户在标题处写入<img src=1 οnerrοr=“alert(/xss/)”/>时,数据库中的数据如图74所示。

图74 存储到数据库中的XSS代码

当将title输出到页面时,同页面执行了<img src=1 οnerrοr=“alert(/xss/)”/>,导致弹窗。

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

(0)

相关推荐

  • 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网络安全漏洞分析DOM型XSS攻击原理

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

  • 渗透测试信息收集查询真实IP过程

    查找真实IP 如果目标服务器不存在CDN可以直接通过 http://tools.jb51.net/aideddesign/ipcha 获取目标的一些IP及域名信息. 目标服务器存在CDN CDN即内容分发网络,主要解决因传输距离和不同运营商节点造成的网络速度性能低下的问题. 说简单点,就是一组在不同运营商之间的对接节点上的高速缓存服务器,把用户经常访问的静态数据资源(例如静态的html.css.js图片等文件)直接缓存到节点服务器上.当用户再次请求时,会直接分发到在理用户近的节点服务器上响应给用

  • Python操作xmind文件实现思维导图绘制示例过程

    目录 思维导图 思维导图功能 使用软件 python3 操作 xmind 工具画思维导图 基础知识详解 画思维导图实例 在平时的工作中当我们要总结一些知识的时候就需要一款工具来画画流程图,这里推荐 XMind 软件,用 Xmind 绘制的思维导图看起来思路清晰,那么今天的文章介绍关于思维导图的相关知识以及用 Python 如何操作 Xmind 绘制思维导图. 思维导图 思维导图:思维导图又叫心智导图是表达发散性思维的有效的图形思维工具,它简单却又很有效,是一种革命性的思维工具.思维导图运用图文并

  • 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攻击 存储型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攻击 页面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

随机推荐