0x00 前言
我们在渗透测试中时常需要临时启动一个HTTP服务,用于提供文件访问下载、或者数据外带等。要想通过命令行快速启动一个简单的HTTP服务器的方法有很多,每种语言环境下基本都有,具体取决于我们的操作系统上有什么可用的环境,下面是我们常用的一些方法,如果师傅们还有其他常用的方法和平台欢迎补充完善。
0x01 常用方法
如果安装的有以下环境时则可以通过以下命令快速开启一个简单的HTTP服务器,可以将8000端口更改为我们想要的任何其他可用端口,命令中的相关模块和参数大家自己学习了解下。
python -m SimpleHTTPServer 8000 //Python2/3 python3 -m http.server 8000 //Python3 python3 -m pyftpdlib -p 8000 //Python3,pip install pyftpdlib busybox httpd -f -p 8000 //BusyBox php -S 0.0.0.0:8000 -t path //PHP≥5.4.0 http-server -p 8000 //Node.js,npm install -g http-server ruby -run -e httpd . -p 8000 //Ruby 1.9.2+ ruby -rwebrick -e 'WEBrick::HTTPServer.new(:Port => 8000, :DocumentRoot => Dir.pwd).start'
注:php和busybox不会有目录遍历,可有效防止被威胁狩猎专家发现,因为如果长期开着这个临时HTTP服务器可能会被网络空间测绘平台扫描到,所以我们在不用的时候一定要关掉。
我们之前在Windows常用Http File Server,现在看有很多师傅都在用chfs这个开源项目。
这个项目支持Windows/Linux,并且有账户控制、地址过滤、SSL/HTTPS等实用功能,测试了下还不错。
Http File Server:https://www.rejetto.com/hfs CuteHttpFileServer/chfs:http://iscute.cn/chfs
不过这个好像可以用/#/../../
跨目录,但不是每个文件都能访问和下载,而且上传文件时是传到他们的共享目录,不是当前查看的目录。
大家自己去测试下吧,群里师傅已反馈给作者。
0x02 匿名传输
如果只是用于测试上边这些足够,但如果实战中想下载一些工具到目标主机,或者是从上边“打包”一些文件到本地,建议还是用国外的免注册匿名文件传输平台,可在一定程度上防止被溯源。
Pastie:http://pastie.org //匿名代码(24小时后删除) Pastebin:https://pastebin.com //匿名代码(可设置密码/过期时间/阅后即焚等)
青蛙快传:https://cp.ciding.cc //官方被维护 文叔叔:https://www.wenshushu.cn //单文件最大5G 拷贝兔:https://cp.anyknew.com //最大上传400M 星际网盘:https://pan.xj.hk //最大上传100M file.io:https://www.file.io //文件数不限,最大可达2G transfer.sh:https://transfer.sh //最多上传10G ,文件保存14天 pCloud:https://transfer.pcloud.com //单文件最大5G,可加密,用临时匿名邮箱接收
以上是我之前收集整理的一些免注册匿名文本/文件传输平台,每家支持的功能和限制会有些差别。
各有优势吧,大家可以根据自己需求选择,部分还支持在命令终端下使用,如:file.io、transfer.sh。
这里以file.io为例演示,expires参数必须是一个正整数,这个参数表示文件保存的天数(默认为14天),w
为周, M
为月,y
为年,下载后文件会被删除,更多使用示例可去官网查看。
curl -F "file=@test.txt" https://file.io curl -F "file=@test.txt" https://file.io/?expires=1w curl --data "text=this is a secret pw" https://file.io
注:文件加密压缩->匿名文件传输->匿名邮箱接收,这样虽然能在一定程度上防止被溯源,但也不要抱有侥幸心理,不要在这些平台上传/下载违规(Fa)文件,否则也可能...,这也是我建议用国外的原因...。