记一次XSS攻击绕过

前言

最近一直在看国外的赏金平台,绕waf是真的难受, 记录一下绕过的场景。

初步测试

一开始尝试XSS,发现用户的输入在title中展示,那么一般来说就是看能否闭合,我们从下面图中可以看到,输入尖括号后被转成了实体。

Untitled

绕过html实体编码

解释一下什么是html实体编码

HTML实体编码,也即HTML中的转义字符。

在 HTML 中,某些字符是预留的,例如在 HTML 中不能使用小于号<和大于号>,这是因为浏览器会误认为它们是标签。 如果希望正确地显示预留字符,我们必须在HTML源代码中使用字符实体(character entities)。 HTML 中的常用字符实体是不间断空格。(注意:实体名称对大小写敏感!) 字符实体类似这样:&entity_name; 或者 &#entity_number;如需显示小于号,我们必须这样写:< 或 < 常见的实体编码:

未标题-1.png

继续尝试是发现我们讲html10进制实体编号输入转义会闭合title标签

Untitled

原本以为事情逐渐简单了起来,结果更大的一个坑在等着我。

WAF层面

原本想着<img/src=1 οnerrοr=alert(1) />直接秒杀 结果来了个waf 贼厉害。

Untitled

下一步按照往常一样 fuzz事件,结果全是403,这时候那没办法了那就不能用img标签了

Untitled

改换其他标签,fuzz以下 发现可用的还不少。

Untitled

然后使用a标签进行绕过

常用的payload,基于下面payload改就行了

<a href="javascript:alert(1)"/> 

原本是一番风顺的 到后面发先还有过滤,真吐了,看图就好

Untitled

Untitled

Untitled

绕过javascript,到这里了可能一部分人觉得已经结束了,但实际上没那么简单

Untitled

前面其实花的时间并不多主要绕alert的时候,此处我尝试的多种方式包括html实体绕过,基本都不行。

Untitled

Untitled

然后就在此处卡了很久,我也想过不使用alert使用prompt这些函数但就是不行,后面发现后面就是不能跟括号和反引号

Untitled

这时候就在想,还有不能用括号进行弹窗的函数?给我整懵逼了,找了一大圈一个都没找到都需要用括号,alert后不需要括号和反引号的也过不了。

Untitled

最后在推特上看到了这个最终完成绕过

aurebesh.js

Untitled

本地测试payload

<a/href="javascript;{var{3:s,2:h,5:a,0:v,4:n,1:e}='earltv'}[self][0][v+a+e+s](e+s+v+h+n)(/infected/.source)" />click
<a href=ja&NewLine;vascript:k='',a=!k+k,f=!a+k,g=k+{},kk=a[k++],ka=a[kf=k],kg=++kf+k,ak=g[kf+kg],a[ak+=g[k]+(a.f+g)[k]+f[kg]+kk+ka+a[kf]+ak+kk+g[k]+ka][ak](f[k]+f[kf]+a[kg]+ka+kk+"(k)")()> 1111";//</title>

最终效果

Untitled

Untitled

本文作者:蚁景科技, 转载请注明来自FreeBuf.COM

 点击下方链接可免费获得渗透工具,应急响应笔记,学习路线技术文档、书籍,面试题,视频基础到进阶,环境搭建、HTML,PHP,MySQL基础学习,信息收集,SQL注入,XSS,CSRF,暴力破解等等+V【zkaq222】或者下面的扫码不然通不过哦,免费领取安全学习资料包!(私聊进群一起学习,共同进步)腾讯文档-在线文档icon-default.png?t=N7T8https://docs.qq.com/doc/DYmVETWlZemh0Ymdv

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
常见的XSS绕过方式有以下几种: 1. 过滤绕过:攻击者可以尝试绕过过滤器,通过使用不同的编码、大小写变换、特殊字符等方式来绕过输入过滤。例如,可以使用URL编码、Unicode编码、HTML实体编码等来绕过过滤器的检测。 2. 标签绕过:攻击者可以尝试绕过过滤器对特定标签的限制。例如,可以使用不常见的标签、嵌套标签、属性绕过等方式来绕过过滤器的检测。 3. 事件绑定:攻击者可以通过在HTML标签中绑定JavaScript事件来执行恶意代码。例如,可以使用onmouseover、onclick等事件来触发XSS攻击。 4. 协议绕过:攻击者可以尝试绕过过滤器对协议的限制。例如,可以使用data URI、javascript URI等协议来执行恶意代码。 5. 混淆绕过:攻击者可以使用各种混淆技术来隐藏恶意代码,使其难以被过滤器检测到。例如,可以使用字符编码、换行、空格等方式来混淆代码。 需要注意的是,XSS攻击绕过方式是不断变化的,攻击者会不断寻找新的绕过方法。因此,对于XSS防护来说,及时更新和强化防护措施是非常重要的。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [XSS常见的绕过手法](https://blog.csdn.net/Redredredfish/article/details/121748503)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [XSS攻击绕过过滤方法大全(转)](https://blog.csdn.net/qq_50854790/article/details/124297046)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值