1.PHP2
首先打开攻防世界,在题库中找到web,打开新手模式,点击php2,然后加载场景,加载出来后点击网址进入题目页面
网页出现这样一句话,意思是“你能认证这个网页吗?”
如果查看页面源代码,会是以下这个样子
此时可以在网址后加上index.php去查看,发现是以下这个样子的
下一步去查看index.phps,发现出现了以下代码(index.phps是php文件的源代码文件)
这是一个php代码片段,其中的urlcode()是用于解码url编码字符串的,我们需要将admin进行转换,即进行URL编码,但是由于浏览器会进行url解码,所以我们需要进行2次url编码
打开burpsuit,再打开decoder,先输入我们需要编码的admin,会出现以下界面
然后点击encode as中选择url进行第一次编码,然后在下面的同一个地方再次选择url进行第二次编码
将第二次编码所得到的结果输入
然后就可得到结果
将key复制并输入,此题得解
2.backup
打开backup,点击加载场景然后打开,会出现以下界面
index.php的备份文件通常为index.php.bak或index.php.backup
访问index.php.bak
发现会自动保存一个文件,用记事本打开,会发现flag,将flag输入,此题得解
3.weak_auth
打开场景
先随便输入一个账号和密码,会出现
说明账号为admin,那么说明我们现在需要得到密码
在我们输入正确的账号和错误的密码之后得到的页面中查看页面源代码
其中有一句maybe you need a dictionary说明我们需要爆破密码
开始抓包
打开burpsuit进行抓包,(要抓输入账号和密码之后的网站)
然后点击action选择send to intruder
先点击clear将选中的两个全部取消,然后选中密码部分再点击add添加
转到payloads点击load添加字典然后点击start attach开始爆破密码
爆破完成后发现密码为123456
返回题目输入正确的账号和密码得到flag,此题得解
4.simple_php
打开场景
表示a=0且a不为0,b不是数字但是要大于1234。传入a=abc(或任意字符)&b=1234a
得到flag,此题得解
5.baby_web
打开场景
出现一个这样的界面,打开burpsuit进行抓包
然后send to repeater
发现flag点击hex
发现flag被隐藏了点击旁边的response headers得到flag