[SKSEC::CTF新生web专题训练赛] week1 writeup

1. 扫雷游戏(js)

随便点格子,当点到第二个时,会判定踩雷失败,浏览器给出gameover的提示并刷新网页。F12从来源中找到saolei.js,找到gameover所在的函数if分支。

            if (block.isMine) {
                block.innerHTML = '🎆';
                for (let i = 0; i < row; i++) {
                    for (let j = 0; j < col; j++) {
                        block = grid[i][j];
                        if (!block.isOpen && block.isMine) {
                            op(block); 
                            block.innerHTML = '🎇';
                        }
                    }
                }
                alert("game over!");
                location.reload();

把其中的alert("game over!");location.reload(); 删掉并保存。

image-20240924215240751

点到第二个格子时(踩雷),所有的雷都显示了,还有一个空白的格子,点击它,浏览器给出以下提示:you_have_got_the_flag!!!find_it!!!

在js中寻找,发现如下代码,可以知道控制台中给出了flag的线索。

    console.log(complexEnd);
    alert("you_have_got_the_flag!!!find_it!!!");

控制台中出现了saolei_secret.php,访问该网页,成功获得flag。

第一次做的时候,直接把if (block.isMine) 改成了if (false),导致不会踩雷,用鼠标点了半天,虽然最终获得了flag,但是不如上面方法简便。

2. F12(网页禁止右键和F12)

(方法1)控制台除了F12调出,还有一种方法:Shift+Ctrl+i

(方法2)菜单-工具-开发人员工具(不同浏览器可能位置不同)

(方法3)浏览器扩展插件强制右键

3. GET/POST请求

这里需要用到Hackbar浏览器插件。

(1)使用GET方式传入参数: name, 值为: sksec

F12,在hackbar中(或者直接在地址栏中),把http://47.94.179.6:34058/后面加参数?name=sksec,点击execute(回车)。

(2)使用POST方式传入参数: name, 值为: SKSEC

F12,在hackbar中,开启use POST method,url填第1步得到的地址,body填name=SKSEC,点击execute,成功获得flag。

4. robots

robots.txt用于告知网络爬虫(搜索引擎)可以抓取和不可以抓取的网页,本题中,访问./robots.txt可以看到flag所在的网页地址。

posted @ 2024-09-24 22:18  xiin  阅读(129)  评论(0编辑  收藏  举报