攻防世界的部分题目解析
- PHP2
- backup
- weak_auth
- simple_php
- baby_web
1、PHP2
首先进入界面之后我们可以看到的是这样一个界面:
再打开F12之后我们看到的界面是
并不能获取太多信息,可以尝试通过抓包来进行解析
但通过抓包后,发现并未有太多收获,在尝试index.php之后任然不会太多变化,因为考虑到php文档可能存在一个副本即以.phps为后缀的副本文档(不一定会有,但是修改后对于php文档不会有影响),我们进行尝试
在输入index.phps之后我们发现出现了源代码界面:
之后我们发现在此处可以得到如果要得到urldecode的结果,则需要得到id,从下面的if语句中我们得知id为admin,但是在搜索框中输入admin的id是不被允许的,那么我们要对其进行url编码,之后在尝试输入?id = %61%64%6d%69%6e,后发现,浏览器会使得url编码回到admin的状态,所以我们对其进行二次编码。
得到了密钥
2、backup
首先我们看到题干中所说
我们所要找到的是老师做准备的备份文件,那么我们有了大概的目的:
之后进入题目后,我们看到:
这个界面,我们发现,索要找的目标文件是index.php的备份文件,通过网络上搜查,我们知道PHP文件的备份常以.bak的后缀,那么我们要擦看起备份文件则只需要在.php之后加上.bak则可以得到
从而得到其备份文件为这个,得到flag。
3、weak_auth
进入题目之后,我们见到
通过常规思路,我们先输入一个随机的密码和账户,结果得到
的界面,那么我们通过将用户名改为admin之后使用Burp side抓包对密码进行爆破。
最后,我们得到密码为123456,输入后最终得到:
4、simple_php
进入界面之后,我们见到:
文件源码为以上
那么我们根据代码先进行分析:
首先我们看
a
=
@
a = @
a=@_GET指的是我们从键盘中输入的值。
我们语句下列的分析,
首先,要求a == 0且a为真,而在php之中,比较会采取一个字符传中的第一个进行比较,从而得到,a为0加上一串字符,之后b的要求内,is_numeric进行了要求,要求b不能知识纯数字,因而b也是一串数字加一串字符
输入之后即可得到结果
5、baby_web
我们首先进入界面之后,
我们见到整个界面只有一行HELLO WORLD,此时我们是注意到,在网址之后,我们所见到的其实是1.php而非其原本的源文件,我们将1.php换为index.php去查看源码,却发现最终会是的界面再次返回到i.php;
那么我们点击F12,打开网络:
见到以下界面,
我们可以先用burpside抓包,强行将1.php换为index.php最终发现:
我们发现此时的flag是隐藏起来的,所以我们要通过其他的方式来寻找flag,但是当在网页中的时候,我们会发现,页面切换太快,以至于我们无法将界面抓住那么1此时就需要F12中的网络的方式来使得我们能够通过它看到被转移的内容,也就是之前图像中的第一行,因为返回值是304,所以我们知道此时它是被转移的那一个,所以我们将他的一栏找出,其可看见信息,即flag。