渗透测试-xss绕过和htmlspecialchars函数绕过

本文探讨了XSS攻击如何绕过htmlspecialchars函数,包括大小写绕过策略和利用未定义quotestyle类型的漏洞。通过实例演示了如何利用这些技巧来对抗HTML转义,提高安全意识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

xss绕过和htmlspecialchars函数绕过

前言

一、什么是htmlspecialchars函数

当你编辑文本的时候会自然而然的用到html标签,而有的时候,我们不希望html标签被浏览器识别,所以我们就用到了这个函数。我们可以利用这个函数把html标签转化为浏览器不能识别的字符,或者可以这么理解,利用这个函数转化以后,html标签就可以在浏览器原样输出了。

htmlspecialchars()函数,具有三个参数,第一个参数为必选参数,表示待处理的字符串,第二个参数为可选参数,专门针对字符串中的引号操作,默认值:ENT_COMPAT,只转换双引号。ENT_QUOTS,单引号和双引号同时转换。ENT_NOQUOTES,不对引号进行转换。第三个参数为处理字符串的指定字符集

这里补充一下知识点
htmlspecialchars()函数吧一些预定义的字符转换为 HTML实体
预定义的字符是:
&(和号)–>&amp
" -->&quot
’ -->&#039
<(小于)–> &lt

(大于)–> &gt

该函数的语法是:htmlspecialchar(string ,flags,character-set,double_encode)
过滤原理:htmlspecialchar() 函数把预定义的字符转换为了HTML实体,从而使xss攻击失效,但这个函数不会过滤双引号和单引号,只有设置了quotestyle规定如何编码双引号和单引号,才能过滤掉双引号和单引号

可用的quotestyle类型:
ENT_COMPAT- 默认。仅编码双引号
ENT_QUOTES -编码双引号和单引号
ENT_NOQUOTES - 不编码任何符号

二、xss绕过和htmlspecialchars函数绕过

1.大小写绕过

在这里插入图片描述
这里我们进行实验
在这里插入图片描述
我们由代码审计发现,过滤掉了小写
在这里插入图片描述
因此我们可以进行大写绕过
在这里插入图片描述
插入后,成功绕过。
这里补充一下可以绕过的代码
在这里插入图片描述

2. htmlspecialchars函数绕过

进行该实验,代码审计可知
在这里插入图片描述
由原理可知,该函数过滤掉了大部分符号,但没定义quotestyle类型,默认知识过滤了双引号
可以利用zhian’ οnclick=‘alert(111)’;
进行注入实验,或者试试我刚刚补充的代码
在这里插入图片描述
上传成功,原理很简单,zhian’闭合前面的’,后面执行语句,实验结束。

总结

本次实验介绍了xss过滤的应对方法和一些积累的xss绕过代码,大家平时练习时多多尝试一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

炫彩@之星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值