通过Twitch Chat HTML注入Mitsuku AI

一个深夜,我在Twitch上的编程部分中浏览,碰巧发现了一个名为Mitsuku_IRL的频道。 这是一个使Mitsuku聊天机器人活跃起来并响应Twitch聊天提供的输入的频道。 我想,在这一点上,给定标题,您可能知道前进的方向。 作为我的干预者,我决定进行一点安全检查

我知道聊天机器人一定已经接受了字符串输入 ,但是我不知道输入的处理程度如何。 我从一些简单的javascript警报脚本开始,以查看是否损坏了任何东西。

alert("XSS") 

不行 Mitsuku只是以通用的catch all响应来回应格式错误的输入。 在测试了其他JavaScript行之后,我决定测试一个iframe

    

几秒钟后,发生了一些有趣的事情。 Mitsuku回复了她的一般性错误消息,但在截屏聊天的部分中, 我的消息不存在。 实际上,它是空白的……是矩形的。 我决定看看我的怀疑是否属实,因此我在行中添加了一些其他参数。

    

瞧,溪流上出现了一个灰色的矩形 。 在这一点上,我感到非常兴奋,因为现在我可以看到可以将其推进多远。 起初,我链接了我在Google上找到的模因图片,并试图查看我可以做出多大的分辨率。 我发现iframe可以填满屏幕的大小是有限制的,我认为这仅仅是流媒体分配的大小以显示Mitsuku收到的所有聊天输入。 其他观众开始对我​​在做什么感到好奇,并复制粘贴我的测试输入。 天色已经晚了,所以我想一声巨响结束它。 我认为尼克·克朗普顿(Nick Crompton)的说唱低音增强的模因视频( 耳机用户要当心 )是值得的。

*音量警告!*

我期望管理员从我测试过的所有输入中都会得到一些错误日志,但是令人惊讶的是第二天没有任何变化。 有一次,我在串流管理员在那里的时候上了车,并在他的串流上播放了一些youtube片段以引起他的注意。 他回答了一些类似“ 哦,聪明,我没想到的事情 ”的话,然后关闭了数据流以修补漏洞。 然后迅速修复并再次在线。

尽管我希望那天能有个完整的视频,但至少我很高兴自己保存了那个剪辑。 因为这是我的第一篇文章,所以我觉得我应该以“今天我们学到了什么”的结论来结束这些故事。 我想,一天结束时的信息是……消毒,消毒,消毒! 您不想传播细菌并使人生病!