黑帽联盟

标题: 通过脚本语言启动一个临时的web服务,上传下载文件 [打印本页]

作者: 定位    时间: 2023-7-4 20:39
标题: 通过脚本语言启动一个临时的web服务,上传下载文件
脚本语言

很多脚本语言都可以临时启动一个http server。于是我们便可以通过浏览器来下载一些文件

Python

Python可以临时启动一个http server来提供文件访问

Python 2

python -m SimpleHTTPServer 8000

Python 3

python3 -m http.server 8000
通过浏览器我们就可以看到目录可以进行下载。前提是需要你的Python装有SimpleHTTPServer模块。截图如下:

21.png




PHP

启动php内置的服务器之后,虽然我们没有办法通过浏览器来浏览目录,但可以直接通过浏览器下载文件

php -S 0.0.0.0:8000
显示如下:
[Mon Feb 20 15:04:35 2023] PHP 7.4.27 Development Server (http://0.0.0.0:8000) started

这个方法最简单了,只需要在iptables里开启8000端口即可,跟上述的Python类似,明月感觉最简单,毕竟明月所有的服务器几乎都是有PHP的,安全上更是可以借助iptables/ipset来解决,近乎完美。截图如下:

22.png


鲜为人知的 nc

nc是netcat的简写,有着网络界的瑞士军刀美誉。因为它短小精悍、功能实用,被设计为一个简单、可靠的网络工具
很多人只知道nc可以用来探测端口是否打开,功能和telnet类似

nc -v 192.168.199.226 1001

nc: connectx to 192.168.199.226 port 1001 (tcp) failed: Connection refused

nc -v 192.168.199.226 1000
Connection to 192.168.199.226 port 1000 [tcp/cadlock2] succeeded!

但不知道nc也可以进行端口监听!利用nc端口监听的功能我们就可以实现文件传输

监听端口在目标机器上监听端口,并使用管道输出到某文件。注意:下面的-l是小写的L,不是数字1
nc -l 1000 > dst/main.go

发送数据
在本地机器上执行

nc -v 192.168.199.226 1000 < source/main.go
Connection to 192.168.199.226 port 1000 [tcp/cadlock2] succeeded!

source/main.go就被传输到了192.168.199.226的机器上,并且文件名为dst/main.go

说明nc进行文件传输,功能非常简陋,能做的事情不多,但不失为没有其他命令时的应急方案
上面两种方式只能上传或者下载文件






欢迎光临 黑帽联盟 (https://bbs.cnblackhat.com/) Powered by Discuz! X2.5