MENU

一句话开启简单的Web服务器

August 29, 2015 • Security

0x01. 背景

在渗透测试时,有时候控制了目标服务器,可以执行系统命令。为了方便直观的浏览和从目标服务器上取得一些文件,这个时候可以尝试使用系统支持的python、php或ruby命令开启一个HTTP服务器或者FTP服务器或者其他的【PS: 我不知道的】,让我们的更进一步渗透更加方便一些。下面演示的是我知道的几种开启HTTP服务器或FTP服务器的方式。

0x02. Python 开启HTTP服务器

使用Python命令:

python -m SimpleHTTPServer YourPort

SimpleHTTPServer是一个Python的模块,需要服务器安装好这个模块。

效果:

1.png

这个可以命令会以当前目录为根目录,开启一个发HTTP服务器,可以遍历目录下载想要下载的文件。

0x03.PHP 开启HTTP服务器

使用PHP命令:

php -S 0.0.0.0:8088 -t /var/   #用法: php -S IP:端口  -t 服务器根路径

从PHP5.4.0开始,就内置了一个简单的web服务器了,详细见:

http://php.net/manual/en/features.commandline.webserver.php

执行命令后,会开启php内置的web服务器,以-t后设置的参数为根目录。

效果:

2.png

浏览器访问,可见HTTP服务器已经开启成功了,但是这个服务器默认不能遍历目录,所以要下载取得目标上的文件,需要加上他的路径请求。

3.png

看看当前目录下有什么文件:

4.png

我们想要下载/var/www/wwwroot.zip文件到本地,那么浏览器请求:

http://192.168.64.133:8088/www/wwwroot.zip

5.png

 也会解析PHP,那么是不是可以写个shell,然后用菜刀连上去更方便呢? 无限的遐想。。。

6.png

0x04.Ruby 开启HTTP服务器

使用Ruby命令:

ruby -run -ehttpd . -p3000 #  ruby -run -ehttpd 路径 -p端口

通过执行ruby命令,在以“路径”为HTTP根目录,-p指定的端口,开启一个简单的HTTP服务器。

效果:

7.png

0x05.Python开启FTP服务器

使用Python命令:

python -m pyftpdlib -p 2121

同样需要目标上安装pyftplib模块支持

效果:

8.png

0x06.附上两个脚本

基于BaseHTTPServer的简单上传下载脚本:

BaseHTTPServer

FTP脚本:

SimpleFtpServer

from:http://www.coffeehb.cn/?id=47

Archives QR Code
QR Code for this page
Tipping QR Code