不可见(hidden)input标签触发XSS

在寻找XSS的过程中,会发现从POST或者URL中参数拿到INPUT中存放,但这些input都是hidden不可见的,通过F12调试,查看构造出来的代码确实存在点击事件,但是总是触发不了

通过网上查询资料,最总找到使用一个比较高级一点属性accesskey=""来触发不可见标签事件,accesskey是HTML语言标签中的一个全局属性

 <input type="hidden" name="" accesskey="x" onclick="alert(/xss1/)">

使用方式:
1473748-20181229202125435-460320586.png


提示: 各种浏览器下accesskey快捷键的使用方法:

IE浏览器

按住Alt键,点击accesskey定义的快捷键(焦点将移动到链接),再按回车.

FireFox浏览器

按住Alt+Shift键,点击accesskey定义的快捷键.

Chrome浏览器

按住Alt键,点击accesskey定义的快捷键.

Opera浏览器

按住Shift键,点击esc,出现本页定义的accesskey快捷键列表可供选择.

Safari浏览器

按住Alt键,点击accesskey定义的快捷键.

经过测试,只有FireFox通过。比较遗憾

最总解决方案思路

  • F12 在控制台使用js代码通过dom定位input
  • 使用js修改input type属性值为text,然后点击事件触发

<input type="hidden" id="xss" value="123"  onclick="alert(/xss2/)">
控制台输入:
 document.getElementById("xss").setAttribute("type","text");

其实更加高级一点就是将修改属性的那一步一并封装到input事件中,就是代码长了一点

在最近项目中遇到的是代码中可能使用了某种过滤规则,导致我输入<>或者(),只要走中间加入字母就会被拦截,无奈使用了跳转展现出来触发效果,使用了window.location.href='xxx'

转载于:https://www.cnblogs.com/ssjt/articles/10197838.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值