1.web->新手模式->PHP2
我们进入环境后可以发现这里除了一个英文界面就没有其他的提示(这里英文的意思为:你可以登陆这个网站吗?),但我们从题目中得知,这道题是要进行php代码审计的,既然这里不给源码,那么我们先进phps(php源代码文件)看看有没有;(在域名后加/index.phps)
进来后分析一下函数意义
首先看第一个if,要使"admin"===$_GET[id] 不成立,可对admin进行url编码来达到目的。可以对admin进行url编码,也可以单对a进行url编码。
其次看第二个if,要使$_GET[id] == "admin",即id经过urlcode解码后为admin
需要注意的是,经行id传入时,浏览器会对非ASCII码值的字符经行一次urlcode解码,也就是说我们需要编码两次。编码解码网站链接
admin编码%61%64%6D%69%6E
%61%64%6D%69%6E编码%25%36%31%25%36%34%25%36%44%25%36%39%25%36%45
因为为get传参,编码后分析,在原域名后加
/?id=%25%36%31%25%36%34%25%36%44%25%36%39%25%36%45
2.攻防世界web->新手模式->backup
进入域名后发现下图所示
在域名后加index.php.bak进行下载
下载好之后将.bak后缀删除即得到index.php文件
然后查看其源码即可
3.web->新手模式->weak_auth
使用BP抓包抓取特定的流量包并进行测试爆破密码
首先将网页打开随即输入账号密码登录然后使用bp进行抓包
抓包成功后将其发送
接下来将用户名和密码两个选项选中
按图示步骤进行用户名的爆破(我load中所选择的字典是我自己的)
在上图中发现只有admin的length与其他的不同,那么admin即为用户名
接下来将用户名更改然后对密码进行爆破(取消对用户名的选择)
对密码进行同样的爆破
可发现只有123456的length与其他的不同,所以这个就是所需的密码
返回原网站进行账号密码的登陆即可查看falg
4.web->新手模式->simple_php
先对函数进行分析
第一个if的意思为a是由一个阿拉伯数字和英文字母构成
第二个if的意思为b是由大于1234的数和一个字母组成
所以在域名后加符合此两条间的传参
举个例子我加的是/?a=0c&b=2222a
5.攻防世界web->新手模式web->baby_web
一般网页的首页都是index.php
对网页进行抓包处理
然后将其send to repeater
接下来在repeater中打开并且将这个1.改为index
之后便在hex中可以看到flag