CTFshow web入门---web56

CTFshow web入门—web56

题目:
在这里插入图片描述

题目分析:

查看本题,发现本题为命令执行类题目,但是有一个很致命的点,那么就是他过滤了所有的字母和数字,以及一系列的符号。因此本题最值得推敲的点就是如何实现无字母数字的命令执行
通过拜读P神的一篇文章,其中《无字母数字webshell之提高篇》讲到了想要getshell,但是又被过滤了数字与字母时,需要如何利用。
在P神文章中>深入理解glob通配符<部分,讲到了我们上传到linux系统中的文件,都会被存放到/tmp目录下,并且传入生成的临时文件中,只有传入的php文件,中含有大写字母,且格式为/tmp/php???的形式,因此可以使用方法来选择传入的php文件/???/???[@-[]
此处为何最后一位需要用[@-[]来表示,这需要查阅ascii码表,可以看出,大写字母是被@和[两个字符所包围的,因此[@-[]可以用来表示所有的大写字母。
在这里插入图片描述
本题没有过滤符号.(点),因此可以想到linux中该符号.(点)的用法,与source命令用法相同:linxu中source命令和.(点)
总体分析后,可以post上传一个php文件,内容为所需执行的linux指令,然后使用glob通配符和.(点)来将其中的内容以linux指令的形式来进行执行。

开始解题部分:

构造一个post上传文件的脚本,用来上传我们所需的php文件:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <form action="http://8f79b818-dffd-4d3e-bab6-7afde656b630.challenge.ctf.show/" method="post" enctype="multipart/form-data">
        <input type="file" name="file" />
        <input type="submit" value="submit" />
    </form>
</body>
</html>

使用该页面来上传一个包含了所需执行指令的php文件,并使用burp抓包:
在此处上传文件
在这里插入图片描述
在这里插入图片描述

此处如果执行一次发现没有回显的话,在确保语句没有错误的前提下,多执行几次就有了
在这里插入图片描述

本题主要就是考察了使用.(点)来以命令执行上传的文件,以及如何在过滤了数字字母的情况下来进行命令执行。在学习web的一些进阶知识点时,阅读一些大师傅们的文章是能够让自己学习到很多东西的。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sunny-Dog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值