简述
第一周的题对于老师傅们来讲非常简单,但我这种新手小白还是花了较长时间去学习并解题的。(由于有时不知道该从何讲起学习到的做题方法,本wp借鉴了一下官方给出的wp,望老师傅们见谅)
[Week1] A Dark Room
这是一个很好玩的游戏,我玩了好久但是还是没有找到结局是什么,只记得我是一个究极屯屯鼠,疯狂伐木,不过罗盘是前期很重要的一个道具。但是还是感觉我不适合玩这种游戏 : |
这道题只需要会看源码就好,在网页的源代码中即可找到flag并提交
[Week1] HTTP 是什么呀
这道题是我个人感觉最简单的一道题,可能跟我对http这一块知识做的题比较多有关吧。
首先打开咱们的网站,看到这张表的东西就明白这是需要我们对网页进行抓包和传参。我们打开Chorme的Hackbar插件并按照题目要求操作。然后我们就会看见这样一个结束界面:(据官方wp所述,这是我们使用插件正常会遇到的情况)
他提示我们“在来这里的路上”,那么我们就对跳转之前的页面使用Burpsuite作为工具进行抓包,会得到一个相应的界面:
进行一次Base64解码得到flag,成功解出这道题。
[Week1] upload
这道题题目就很明显了嘛,考察的是文件上传。那么我们就要考虑上传“一句话木马”。在记事本中新建一个文档写入我们的“一句话木马”——<?php eval($_POST[0]); 然后将文件上传,显示成功后使用我们的蚁剑就能查看到根目录下的flag文件并获取到flag了
注:电脑上使用的是火绒的话有可能会需要关闭文件实时监控的安全设置,我在做题过程中火绒多次直接将我的.php文件删除,关闭之后才正常创建文件。
[Week1] md5绕过欸
还是一样,题目已将方法告诉了我们。然后我们看到第一个name和passward是弱比较,第二个name和password是强比较。
弱⽐较可以使⽤数组或是以下md5后开头为0e的字符串任意两个来绕过,强⽐较直接⽤数组绕过就⾏。
1. QNKCDZO
2. 240610708
3. s878926199a
4. s155964671a
5. s214587387a
6. 0e215962017
这里注意区分get传参和post传参
[Week1] 喵喵喵´•ﻌ•`
这是一道代码审计题,唉每次看到这种题都有一点点头痛,php相关的知识还是需要加强呢。
<?php
highlight_file(__FILE__);
error_reporting(0);
$a = $_GET['DT'];
eval($a);
?>
这道题的突破口就在传入的'DT'参数,这个参数传给了eval()函数,而eval()把字符串作为PHP代码执行,那我们就可以使用system函数执⾏Shell命令,也可⽤使⽤echo file_get_contents('/flag'); 来输出 flag 内容。
有关eval()函数的相关知识可以到这个网址中学习https://www.php.net/manual/zh/function.eval.php
[Week1] Aura 酱的礼物
这道题为什么放到最后才写呢,因为实在是对我来说有点难。每次一打开这道题我就想晚点再做吧晚点再做吧,最后拖到wp放出来也没做(叹)
这道题当然提示就很明显了,提示我们使用伪协议,又是文件读取,那就使用data://伪协议。
data://伪协议读取文件:
data://text/plain,⼀串内容 可以读取出 ⼀串内容
data://text/plain;base64,xxxxxxxx 其中 xxxxxxx 会被 Base64 解码后再读取出内容
然后构造 http://jasmineaura.github.io@127.0.0.1传给参数“challenge”。然后include 点, 由于我们的 flag 在注释部分, 我们需要将其伪协议和过滤器来进⾏ base64 编码后输出(这里一定要编码,php被解析后是不能直接读的)。然后再解码就可拿到flag了
php://filter/convert.base64-encode/resource=flag.php