xss小总结

xss漏洞

反射型,存储型,dom型

xss基本过程

根据所在位置构造相应的代码,一般为闭合相应标签,也可以用一些事件来进行触发闭合,如onmouseover=alert() onclick

  • 一些表单可能通过bp截断
  • 一些表单输入可能有限制,可以修改源码设置的长度大小
  • 利用javascript伪协议,如javascript:alert()
  • 如果一些有过滤机制,可以采用双写绕过,编码绕过(转换成16进制绕过,一些编码绕过如unicode),空格绕过,大小写绕过,用%0a,%0d代替空格等
  • 在ie浏览器中``可以闭合双引号
  • 利用css触发,background:url("javascript:alert(document.domain);");只在部分ie中有效
  • 在css中可以利用注释符绕过对一些字符的过滤xss:expres/**/sion(if(!window.x){alert(document.domain);window.x=1;})css中的expression叫做动态属性,后来被取消,一些悬浮的模块可能仍采用此
    较全的绕过总结https://blog.csdn.net/keepxp/article/details/52054388

  • 源:包括协议,主机名,端口号
  • 同源策略:阻止页面的恶意代码去访问非同源的页面
  • domain属性解决因同源策略带来的不同文档的属性共享问题

防御xss的几个函数

  • setcookie,通过将参数设置为true可以使cookie不能被js获取
  • htmlspecialchars,将html标签以实体输出
  • htmlentities与上相同
  • strip_tags将标签去除
  • 可以自定义xss过滤器
  • 应该关注新出现的html标签,可能这些标签还没有被过滤,可能触发xss

xss位置

  • get型url中的xss:如果get提交的参数显示到页面中,可能就有xss漏洞
  • post型表单中的xss:表单提交的数据显示在表单中
  • json中的xss:json是一种轻量级的数据交换格式,易于人阅读和编写,易于网络传输,最常用的格式为键值对
  • 自定义的http头的参数显示在页面中

常用xss注入标签

<script>,定义客户端脚本
<img src=>,规定显示图像的 URL
<body background=>,规定文档背景图像URL
<body onload=>,body标签的事件属性
<input onfocus= autofocus>,form表单的事件属性
<button onclick=>,击键的事件属性
<link href=>,定义外部资源链接
<object data=>,定义引用对象数据的 URL
<svg onload=>,定义SVG资源引用

转载于:https://www.cnblogs.com/Qi-Lin/p/11338206.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值