【web安全】xss跨站对抗代码过滤的思路总结

前言

本文是对xss漏洞的一些非waf的代码绕过思路的的总结,主要是总结思路。

仅供学习使用。

Xss漏洞判断过滤:

1.前端源码没有被隐藏的情况下

输入跨站语句,发现跨站语句没执行。

选中回显位置审查元素看源码。

2.前端源码被隐藏

标志:相应部分的源码有<… type=hidden>

这个很难靠猜进行渗透,大部分依靠源码进行判断。

可以尝试看页面代码,把参数都改下type,看看页面码中哪个变了

 

防御方法以及反防:

1.语句在双引号里面

加双引号和>让语句在引号外面。

此方法是用于那种语句在<>这里<>的时候使用

 

2.有的过滤会把我们的<>变成&it:

看情况,有点击框可以尝试使用onlick=’语句’。实现不使用<>完成代码执行

完整payload:<button οnclick=执行的 PHP 代码>按钮文本</button>
在括号里有单独的<>或者“”并不影响payload的构造

                        <a href= “javascript:alert(1)”>部分的过滤

3.有的过滤关键字,有时会过滤on等,这时可以尝试一下javascript:协议

构造<a href= “javascript:alert(1)”>

上一个>跟下一个<之间不能有空格。

 

4.前端JavaScript也是对大小写敏感的,所以有时候他过滤一些关键词,可以用大小写。

 

5.有的过滤并不是循环过滤,他只会过滤一次,把关键词替换为空白,所以用嵌套,让他过滤一层,然后剩下的字符再凑齐一个关键词。

 

6.很多时候,他过滤的很苛刻,无法绕过,则可以考虑用编码绕过,把关键字编码成html的形式输入,最后html解码成相应的关键字实现绕过。

 

7.这种页面跳转的,一般是跳转其他网站,所以他有时候可能要求执行的代码必须含有http://,如果没有就不给你执行,但是我们输入又会产生干扰,所以可以用双//给他注释掉,或者放到alert中。

 

                                                              Type=hidden的情况

8.当他有type=”hidden”,我们是可以改type的,

当有两个type在同一个<>中时,我测试他会按照第一个算,所以我们可以输入改他的type再结合一个onclick属性,实现捏造一个会话框。

判断方法:虽然设置为了hidden,但是看源码还是可以看出来有个输入的参数,把源码中的参数挨个改一下type,然后再看源码中哪个input改变了,再进行payload构造

 

9.有的网站他会接收上一个页面的网址,判断数据包的referer

需要抓包,然后在referer那里写跨站语句。

与这个相似的,有时候网站会获取你的IP,浏览器信息等在数据包中的信息,这个时候你也可以把语句写到相应的位置进行攻击。

 

 

总结,xss跨站语句,可以通过看得见的,看不见的,get,post,数据包等多种形式进行跨站。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

北岭敲键盘的荒漠猫

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

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

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

打赏作者

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

抵扣说明:

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

余额充值