XSS练习(alf.nu/alert1)

本文详细介绍了XSS攻击的各种实践场景,包括Warmap、Adobe、JSON、Markdown、DOM、Callback、Skandia和Template的挑战。通过分析过滤机制,探讨如何巧妙构造payload以绕过防御,例如利用JSON.stringify、浏览器特性以及DOM操作等方法触发XSS。

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

慢慢来,学习以及练习一些"技巧"

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

Warmap

没有任何过滤,直接进行闭合,; payload,还是截图方便
在这里插入图片描述

Adobe

escape函数将输入的引号"转换为\\*,对引号进行了转义。如果输入为\",就会转换为\\\",这个时候,本来要转义的引号变成转义反斜杠了,从而绕过这个简单的转义触发…
在这里插入图片描述

JSON

这个级别通过JSON.stringify进行对象序列化,说白了就是把对象的类型转换为字符串类型。
简单来说,就是过滤了\,"等字符,分别转化为\\,\"等,但没有过滤<>/字符。闭合不了log函数了,但可以闭合script标签
在这里插入图片描述

Markdown

在这里插入图片描述
这个级别有点意思,需要脑筋”急转弯“一下。
1、将输入进行replace过滤掉<",转换为实体编码了
2、第二波处理,如果字符串包含有http://开头的字符串,则变为<a href="http://">http://</a>
3、第三波,如果字符串包含[[img_src|img_alt]]格式的字符串,则变为<img alt="img_alt" src="img_src.gif">
4、返回处理后的字符串
  在这个级别中由于尖括号和引号都被过滤了,所以要利用第二三点寻求突破。本身没有办法闭合引号或标签,但是经过规则二三之后会带有引号。
  输入:[[a|http://onload='alert(1)']]
  经过第一次转换后:[[a|<a href="http://onload='alert(1)']]">http://onload='alert(1)']]</a>
  再经过第二次转换后:<img alt="<a href="http://onload='alert(1)'" src="a.gif">http://onload='alert(1)']]</a>
  以上相当于:<img alt="<a href=" http:="" onload="alert(1)" "="" src="a.gif">
  只在chrome浏览器上成功了,我认为这是浏览器自作聪明的结果

DOM

在这里插入图片描述
Dom型XSS, 分析这几行简单的代码,可知,输入的字符串以#作为分割,之后通过"构造语句"达到目的,
如果输入Element#alert
最后返回:document.createElement(“alert”)
常见的document的create开头的方法:

createElement
createTextNode
createComment
createAttribute
createEvent

这里可以使用createComment,构造payload:

Comment#<iframe onload=alert(1)

Callback

在这里插入图片描述
根据注释提示可知依旧要求输入的字符串包含#,结合最后的输出可知关键点在于:

<script>'(undefind strings)</script>

构造undefind strings并符合利用过滤规则,构造payload:

'#';alert(1)//

Win!

Skandia

在这里插入图片描述
只有一个toUpperCase() 方法将字符串小写字符转换为大写。alert变成ALERT肯定是不行了。
在属性值处使用实体编码的话,是可以自动解码的,其他地方则不行。所以,构造payload:

</script><iframe onload=&#x61&#x6C&#x65&#x72&#x74(1)>

Template

在这里插入图片描述

***…让子弹飞一会 ***
          未完待续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值