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

为什么我这个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>
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-19 21:11
    关注
    评论
  • Z_pigeon 2022-09-19 21:19
    关注

    会不会是代码里面它重写了alert方法,就像这样

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <script>
        window.alert = function (data) {
            console.log(data)
        }
    </script>
    <body>
        <div><script>window.alert(111)</script></div>
        <div>24342 </div>
    </body>
    
    </html>
    
    

    你可以试试在它网站的console里面输入alert(11)看看能否弹出,如果能弹出来那就不是这种猜想

    评论
查看更多回答(2条)

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 stm32f103串口无法正常发送接收数据
  • ¥15 如何仅使用递归法改变链表顺序
  • ¥30 频率与占空比均可调的方波发生器
  • ¥15 VB6.0中PICTUREBOX加载本地图片无法显示
  • ¥100 关于游戏app session获取的问题
  • ¥15 爬虫程序爬取TTGChina网站文章代码
  • ¥35 由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作。
  • ¥15 如何用下图方法在AMESim中搭建离心泵模型
  • ¥15 C#连接服务器,请求时报Ssl/Tsl未能建立安全通道
  • ¥15 xcode15build的c++ dylib在10.15上不兼容