web基础漏洞-xss绕过
1、大小写绕过
如果服务端是通过确定的大写或小写进行检查,则可以使用大小写混杂等不在过滤范围的表达进行绕过。
2、双写绕过
如果服务端只检查一遍,并将检查的关键字替换为空字符串””,则可以使用双写绕过。
3、引号的错误编码方式
如果是在script标签之外,服务端对’或者”使用\进行转义,则无效。可以进行绕过
4、script标签之间未过滤</>
导致可以</script>关闭当前script标签
5、间隔符使用及绕过
在js代码中,包括事件和script标签之间,间隔符一般是指;字符,可以基于此进行设计。
在html开始标签中,间隔符一般是指空格。一般可以考虑基于此进行另起属性和事件,在属性和事件本身没有引号包围时更佳。
其次,对于;和空格,都可以采用换行符进行代替。效果相同。
对于html属性和事件存在引号包围,还可以使用/字符替代空格。
6、事件中的实体编码
在事件中,使用实体编码可以进行绕过。浏览器先进行实体编码的解码,然后进行事件解析。
7、.字符的绕过
一般来说,xss的利用都会考虑.字符,如果其被过滤。可以考虑[]的方式操作属性,还可以绕过关键字过滤。
window['loca'+'tion']=""
8、base64绕过
如果服务端运行eval函数,但是过滤了其他,可以对敏感字符进行base64编码,然后eval函数执行
9、location绕过
将真正的payload写到location.hash中,然后让xss读取该值后解析,主要用于绕过关键字过滤。
10、脚本中使用/xx/代替引号包围字符串
11、隐式数据转换
基于0和1
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战