qq_43574603 2022-09-19 20:45 采纳率: 50%
浏览 77
已结题

为什么我这个xss不运行

我通过漏洞成功对一个网站注入了XSS,但是js代码块没能运行,注入成功后代码回显如下

img

我实际上是使用了上述alert代码代替了该用户名,在页面上的用户名部分,因为被我的代码代替变成了不显示,控制台里面的元素script的显示是蓝色的,但是进入页面的时候并没有被alert呼出的对话框。
我将控制台的 html代码复制了一份到新的文件里并吧后缀改成.html,然后吧文件拖入浏览器,此时却能正确的弹出alert的窗口。网上搜类似问题都说是<>等符号被转义了,但是我这个显然没有,标签的颜色都是蓝色的,说明标签应该是正常的才对。
我想要达到的结果是,我注入的js代码能正常运行,即可用弹出alert的窗口。我看了一下网站前端是使用vue写的。请问,怎么样能弹出窗口或者能给我解释一下为什么js代码块没能运行成功
  • 写回答

3条回答 默认 最新

  • CSDN专家-showbo 2022-09-19 21:22
    关注

    设置dom的innerHTML,里面的js代码并不会执行,虽然是蓝色的,vue的xss注入一般通过v-html绑定富文本,但是包含script不会执行
    改为dom事件,比如img的onerror事件来自动执行,示例如下

    <div id="app">
        <div v-html="msg"></div>
    </div>
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <script>
        var vue = new Vue({
            el: '#app',
            data: { msg: '<img onerror="alert(11)" src="xx">' }
        })
    </script>
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 9月27日
  • 已采纳回答 9月19日
  • 创建了问题 9月19日

悬赏问题

  • ¥15 miniconda安装不了
  • ¥20 python代码编写
  • ¥20 使用MPI广播数据遇到阻塞
  • ¥15 TinyMCE如何去掉自动弹出的“链接…”工具?
  • ¥15 微信支付转账凭证,如何解决
  • ¥15 在win10下使用指纹登录时,界面上的文字最后一个字产生换行现象
  • ¥20 使用AT89C51微控制器和MAX7219驱动器来实现0到99秒的秒表计数,有开始和暂停以及复位功能,下面有仿真图,请根据仿真图来设计c语言程序
  • ¥15 51单片机 双路ad同步采样
  • ¥15 使用xdocreport 生成word
  • ¥15 请教怎么用MATLAB求坐标