有关XSS编码问题的个人总结

本文总结了XSS攻击中的编码利用,包括URL编码、HTML实体编码、JS编码和CSS编码。并详细解释了浏览器的HTML解析和解码顺序,通过示例展示了如何利用解码顺序来构造有效payload。同时,文章探讨了编码的注意事项,如避免编码特定符号,以及在何处插入payload以达到反射型XSS的效果。
摘要由CSDN通过智能技术生成

XSS也太太太难了,主要也是因为自己没花时间集中。

文章脉络:根据我粗浅的理解,从开始学习XSS到现在,从一开始的见框就插到现在去学构造、编码,首先需要的是能看懂一些payload,然后再去深入理解。所以,文章首先会介绍一些常见的可供利用的编码,然后再理解浏览器如何解析HTML文档,最后再总结一下。应该有很多不正确的地方,希望看到的朋友帮我指正以下,带我挖洞,冲。QQ:2309896923

写的这些内容都是借鉴总结了许多大神的文章,对大神提及的一些注意点进行总结归纳。

一、一般可利用的编码

1.URL编码
格式:%十六进制数

字符 编码
= %3D
a %61
我太难了 %E6%88%91%E5%A4%AA%E9%9A%BE%E4%BA%86

记住常用符号、字母的 ASCII 码,能熟练转换 10 -16 进制即可。中文的URL编码略有不同,因为用的地方没有,也就不详写了

如何利用:浏览器的 URL 地址栏,反射型 XSS,可以将特殊字符进行 URL 编码,可以尝试多次编码试一试;POST过去的数据,存储型 XSS,跟反射型的一样。最后提一点:因为一般网站处理数据的时候最开始解码的一般是 URL 解码,所以可以在用其他编码构造完成 payload 后,最后再进行 URL 编码,由此可见,可以根据解码顺序,灵活得进行编码,最先解码的,就最后编码,懂我什么意思吧,我也不太懂我到底有没有说懂

2.HTML实体编码
格式:&#十进制/十六进制; (一般是用十进制)十六进制的时候为 &#x十六进制数

字符 实体名称 实体编码
< &lt; &#60;
: &colon; &#58;
换行 &NewLine;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值