XSS小结

文章详细介绍了三种类型的XSS攻击——反射型、存储型和DOM型,以及它们的渗透方式和目的,通常涉及获取用户cookie并实施CSRF攻击。文中还列举了常见的XSSpayload和绕过策略,并强调了阅读HTML以寻找注入点的重要性。防护措施包括浏览器内容编码和服务器端的数据转义。
摘要由CSDN通过智能技术生成

渗透方式

  1. 反射型XSS,一般针对个人,过程一般是用户访问服务器-跨站链接-返回跨站代码,恶意代码不会存储在远程web应用程序中,因此需要一些社交工程(例如通过电子邮件/聊天的链接)。
  2. 存储型XSS,恶意代码将会存储在数据库中,任何获取对应数据的用户都有可能在本地执行恶意代码。
  3. DOM型XSS,不需要将恶意代码上传,引起客户端脚本执行结果差异的原因是对本地DOM的恶意篡改利用。

渗透目的

  • 主要就是获取用户的cookie,配合CSRF伪装用户身份进行不正当行为。

常用payload

  1. 标签
2. <script>alert(1)</script>
3. <a href=javascript:alert(1)>
4. <img src=1 onerror=alert(1)>
5. <body onload=alert(1)>
6. <br size="&{alert(1)}">
  1. 事件
1. " οnclick="alert(1)
2. " οnmοuseοver="alert(1)

绕过思路

防护机制应对措施
删除关键字双写或HTML实体编号
识别关键字改写或阻拦大小混写绕过;构造不常用的标签进行注入
过滤空格利用%0a,%09,%0d等代替空格

注:使用html实体编号绕过的时候,实体编号必须要是标签中的属性值(href=”实体编号”)或者事件的值(比如οnclick=”实体编号”)这样浏览器才会翻译解析。过滤了尖括号就想想能否用on事件来触发漏洞。

注入思路

  • 主要还是要阅读html,寻找注入点,反射和存储XSS注入点相对好找,当页面存在利用js代码修改修改页面结构的时候,可能存在DOM注入,可以利用#绕过后台防护。

防护

  1. 客户端:浏览器对从URL中获取的内容进行编码,从而阻止执行任何注入的JavaScript。
  2. 服务器:使用内置的PHP函数(如“htmlspecialchars()”), 可以转义任何会改变输入行为的值。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值