01关 内网访问
根据题意,它让我们去尝试访问127.0.0.1的flag.php,我们点进题目链接
有一个url参数可以进行输入,我们直接访问127.0.0.1的flag.php
这样就得到了flag
02 伪协议读取文件
点开题目链接发现有一个url的参数可以进行填写
题中说让我们尝试读取一下Web中的flag.php文件,所以直接访问
Web目录根据Linux系统的经验可以尝试一下/var/www/html/flag.php
当然,这里要使用file协议,访问后得到三个?,打开页面源代码可以看见目标flag
03 端口扫描
本题打开题目链接后,依旧有一个url的参数可以进行输入,只是根据题意,我们需要在8000-9000的端口中进行扫描,找到对的端口才行
所以我们使用抓包进行攻击测试,添加8000端口位置为payload
对payload进行配置
开始攻击
根据得到的响应包长度不同,得到正确的端口号,我这里得到的是8901
返回题目链接进行检验,检验成功,得到目标flag
04 POST请求
点开网址访问127.0.0.1/flag.php得到如下
查看页面源代码得到key,填写到输入框中
在此页面进行抓包,将第一行代码信息改为如图所示
将没用的数据删除,只保留下面的
复制整个包的内容,进行url编码,放到记事本中进行修改如下图
改完之后,要在整个文本的最后加上%0D%0A
做完这一步后,将改完的文本再次进行url编码
返回题目链接作为url的参数进行访问,得到目标flag
05 上传文件
和上一关一样,只是这关变成了上传文件
我们只需要上传一个部位空的文件就可以
但是没有提交按钮,所以这里需要自己添加一个按钮
上传文件
在提交的时候进行抓包
删除多余的信息,添加gopher协议
进行url编码,将%0A全部替换为%0D%0A
进行二次编码
将冒号替换回来,作为题目链接的参数的值进行访问
得到目标flag