[Pwnable.kr] cmd1 & cmd2

23. 2 月 2016 pwnable writeup 0

这两个题考察shell编程

 

cmd1过滤了flag、sh、tmp,让构造命令来显示flag的内容。这个只需要将文件名通过xargs传给grep就搞定了:

 

cmd2的话复杂了一些,还过滤掉了PATH、=、/、export、` ……花了很多时间……

主要麻烦的是”=”和”/”被过滤了,如果不过滤”=”的话,完全可以 a=$(pwd); b=%{a%h*}弄出来,但是没有等于号就蛋疼了,于是只能考虑编码。

比如BASE64。

首先把命令 “/bin/cat /home/cmd2/flag”用base64压缩,得到L2Jpbi9jYXQgL2hvbWUvY21kMi9mbGFnCg==

但是这个是不行的,因为包含等号,但是我们只需要在命令中插入两个空格就可以把等号填充起来,结果是L2Jpbi9jYXQgL2hvbWUvY21kMi9mbGFnICAK

通过 echo “\57″可以输出”/”,所以最后的shellcode是

 


发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据