0


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文件:

<!DOCTYPEhtml><html><head><metacharset="utf-8"/><title></title></head><body><formaction="http://8f79b818-dffd-4d3e-bab6-7afde656b630.challenge.ctf.show/"method="post"enctype="multipart/form-data"><inputtype="file"name="file"/><inputtype="submit"value="submit"/></form></body></html>

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

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

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

标签: web web安全 安全

本文转载自: https://blog.csdn.net/qq_53099119/article/details/127832822
版权归原作者 Sunny-Dog 所有, 如有侵权,请联系我们删除。

“CTFshow web入门---web56”的评论:

还没有评论