危险漫步博客
新鲜的“黑客思维”就是从全新的角度看待黑客技术,从更高的层面去思考;专注于黑客精神及技术交流分享的独立博客。
文章2306 浏览20580886

学习webshell下文件的批量上传与下载

相信很多大家在百般曲折的获得了目标网站的WEBSHELL后,都离不开与服务器之间的文件交互,比如上传黑页、大批量文件,下载数据库、网站源代码等。很多情况下,由于服务器的默认配置或管理员对服务器的安全加固,我们在WEBSHELL下进行文件的上传下载都不是很顺利,本文就将把自己从网上收集、整理的几种常用方法进行了简单的罗列与总结。

一、批量上传

1、上传打包文件

(1)利用winRAR

当目标主机安装了winRAR,并且安装目录有可执行权限时,我们利用它就可以轻松的将大批量文件上传。首先把需要上传的多个文件使用winRar打包,然后利用webshell的文件上传功能进行上传,成功后再通过调用wscript.shell组件执行命令,利用命令行下的rar.exe进行解压,解压的具体命令为“C:\ProgTarn Files\winRar\rar.exe”x文件所在路径解包路径”。

由于IIS在默认状态下设定了上传的文件大小最大只能为200k,因此我们在压缩文件时应尽量增大压缩比,当然也可以进行两次压缩,就是压缩生成rar文件后,再对该rar文件进行压缩。而在webshell中调用rar,exe解压的时候,先将1.rar解压,这样文件2.rar被释放,然后我们再解压2.rar就行了。

如果网站服务器支持PHP,那么在PHP中该方法也同样适用(目标环境必须要为windows系统)。在Phpspy中执行的情况,这里需要注意,命令执行方式要选择wscript。由于PHP在默认配置下设定上传的最大文件为2M,因此我们在目标服务器支持的情况下,应该优先考虑,但是倘若我们想要上传的文件大小有好几M甚至十几M时又该如何处理呢?

我们可以先把文件通过FTP上传到自己的空间中,再利用XMLHTTP组件将其下载到目标服务器中。在目标服务器的网站目录下建立一个文件getRemoteFile.asp,文件的具体内容如下:

再在浏览器中直接访问这个getRemoteFile.asp文件,稍等片刻,文件就会下载成功了。如果上传了一句话木马,利用lake2的一句话木马连接客户端也可以一步到位,我们在“文件来源URL”处填写远程文件的URL地址,填写好后点击“发送”按钮,下载成功后。如果网站服务器是采用的LAMP环境,即Linux+Apache+Mysql+PHP,那我们可以先上传经过压缩打包的gz文件,然后再利用“Tar zxvf fjhh.tar.gz”这个命令进行解压。

(2)上传海阳木马打包文件

这个方法与上面利用rar类似,有时候目标服务器没有安装winRAR,或者是没有权限执行命令,这时我们就可叭先把需要上传的多个文件使用一句话木马进行打包,再把打包生成的HYtop.mdb上传上去,再使用海阳木马的解包功能将其解开就行了。

2、执行命令,ftp下载文件

就是把需要上传的文件先诵过ftp卜传到自己的FTP空间中,在目标服务器上执行ftp命令,登录到我们的FTP空间来进行目标文件的下载。我们首先建立一个admintest.bat文件,其内容如下:

把admintest,bat文件上传到目标网站的目录下,然后执行命令“ftp -s:D:\Webkftp\admintest.bat”。

3、利用XMLHTTP批量下载文件

先把需要上传的文件上传到WEB空间中,再提取出所有的文件名,整理成类似“082504798.html,082655332.html,082758932.html,082831379_html,082926426.html,083215340.html,083247346.html,083317949.html,0833397.html,083419868.html,083500457.html,083641370.html”的形式,这里我提供一段asp代码:

整理好需要上传的文件名后,在目标网站下建立一个getfile.asp文件(限于文章篇幅有限,这里就不贴出全部的代码),下面是需要修改的两个参数,其中Files参数所填写的内容就是上文脚本所显示的文件名集合。

这个文件会先把整理好的文件名使用“,”分割成数组,再依次获取内容,并将其保存在目标服务器上。

二、打包下载

1、利用海阳木马

这种方法是最常用也是最方便的,只是在打包相当大数量的文件时会出现脚本超时或打包不完整等问题。

2、利用winRar

在打包很大数量的文件时,这种方法尤其有效,具体命令如下:""C:\Program Files\WinRAR\rar.exe"a路径\downall.rar需要打包的文件夹”,ASP与PHP下的利用方法很类似,在Phpspy中执行该命令。

3、利用tar命令

当服务器环境为Linux时,我们可以使用tar命令,比如只打包不压缩,命令就为"tar-cvf/www/client/ylb/pic/test.tar/www/client/web"。打包同时压缩,生成gz文件,由于要压缩,如果文件过多的话会占用过多的服务器资源,命令为"tar -cvzf /www/client/ylb/pic/test.tar.gz/www/clien/web"。

4、利用php打包

Phpspy中的文件打包功能非常强大,比如全选后点击"Packing download selected",选中的文件就将被压缩打包了。由于Phpspy只能对当前目录下的文件进行打包,因此当我们需要全盘打包时就显得不太方便了.我在网上收集到了faisun写的php打包脚本faisun_zip—GB2312.php,输入密码后,选择需要打包的文件夹与文件,然后点击“开始压缩”就行了。

在webshell下对目标服务器进行文件上传与下载的方法就为大家介绍到这里,大家要多多总结,归纳出适合自己的方法来。