CTF | 关于web的小伎俩

通过解析一个互动小游戏,深入理解HTTP协议、XSS攻击原理、HTML及CSS知识,利用源代码分析、XSS尝试、重定向技巧,最终成功破解游戏谜题。

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

打开服务器上的网页然后看到进入第一关的按钮,点击。

点击按钮,跳转到下一个页面。

查看源代码,看到有一行的注释:删除1.php.bak

在地址栏加上1.php.bak后,页面变化不大,多了几个符号。

再次查看源代码:

注释中给了第二关的地址,在地址栏访问:

点击“点击进入第三关”的按钮:

看到一个弹窗,以及第三关的页面是3rd.php,点击确定返回之前第二关的页面。

看到输入框,很容易想到xss,写个alert,居然弹框了。

尝试构建一个a标签插进去。尝试后发现不行,构造出的链接闪一下就没了,使用了黑魔法。

使用重定向跳转页面<script>document.location="3rd.php"</script>。

发现成功绕过验证,点击进入下一关。

出现了只有文字的页面,再次查看页面的源代码。

 

源代码中没有发现什么异常和线索。文字内容提示下一关地址就在眼皮底下,就查看下Http原始请求包和返回包。

在返回的报文中有个next字段,提供了下一关的页面

调转到页面,看到提示:

可是在鼠标放到按钮上时,按钮消失了。审查元素看下:

发现使用了display:none的样式设置,将它设置为block,按钮出现。点击按钮,按钮还是消失了,看到按钮是有个joy()函数操作,看下其代码,发现是该脚本隐藏了按钮。再删除了按钮上的onmouseover该操作,按钮出现。

点击按钮,出现了key,结束。

总结:

1、该小游戏包含知识有:HTTP协议、XSS、HTML及CSS部分知识。

2、要仔细观察页面中的所有线索,包括地址栏,源代码,页面元素等。

3、不断在实战中积累经验,积累知识,路漫漫其修远兮。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值