BugKu -- XSS

XSS

100

http://103.238.227.13:10089/

Flag格式:Flag:xxxxxxxxxxxxxxxxxxxxxxxx

打开页面提示XSS注入,但是没有注入点啊。。。百度提示在url上加id参数。。

试试 ?id=1,有回显1,这下有注入点了 

 

构造xss  

http://103.238.227.13:10089/?id=<script>alert(_key_)</script>

进行了回显,没有执行xss,应该是过滤了

右键查看源码

<div id="s"></div>

... ...

<script>
    var s="&lt;script&gt;alert(_key_)&lt;/script&gt;";    //获取url里的id值赋值给s
    document.getElementById('s').innerHTML = s;     //将s(上一句的变量)作为HTML代码赋值给id为s(这里指上文id为s的div元素)的元素
</script>

分析源码,首先获取url里的id值赋值给s,接着赋值到div中,但是.innerHTML有个特性

如果字符串中拼接的 HTML 标签中有 script 标签,那么该段脚本是无法执行的,这并不是 bug,而是 w3c 的文档规定的

那就不用 script 喽 ,用 <img src="javascript:alert(_key_)">,还是没有执行。

猜测 <> 可能有过滤,注意页面编码utf-8  ,id传入代码会在s中运行,那么考虑将<>进行unicode编码,这样当代码被替换进去运行时 utf-8编码又会将其变回来

详细内容看这里:https://blog.csdn.net/qq_26090065/article/details/81589817

< 的编码\u003C, > 的编码\u003E,构造 \u003cimg src="javascript:alert(_key_)"\u003e ,执行成功 ~ 右键源码查看flag

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值