write file raw data bugfix
This commit is contained in:
parent
f7f9ad1628
commit
aa187bc626
@ -126,7 +126,7 @@ class ShellListener:
|
|||||||
if data.endswith(b"# ") or data.endswith(b"$ "):
|
if data.endswith(b"# ") or data.endswith(b"$ "):
|
||||||
return True
|
return True
|
||||||
elif self.os == "win":
|
elif self.os == "win":
|
||||||
if data.endswith(b"> ") or data.endswith(b">"):
|
if data.endswith(b"> ") or data.endswith(b">") or data.endswith(b"$ "):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return False
|
return False
|
||||||
@ -210,6 +210,7 @@ class ShellListener:
|
|||||||
print("[-] No method specified, assuming 'echo'")
|
print("[-] No method specified, assuming 'echo'")
|
||||||
method = echo
|
method = echo
|
||||||
|
|
||||||
|
print(f"[ ] Writing file '{path}' using method: {method}")
|
||||||
send_func = self.sendline if not sync else self.exec_sync
|
send_func = self.sendline if not sync else self.exec_sync
|
||||||
|
|
||||||
def write_chunk(chunk, first=False):
|
def write_chunk(chunk, first=False):
|
||||||
@ -243,7 +244,7 @@ class ShellListener:
|
|||||||
if isinstance(data_or_fd, str):
|
if isinstance(data_or_fd, str):
|
||||||
data_or_fd = data_or_fd.encode()
|
data_or_fd = data_or_fd.encode()
|
||||||
for offset in range(0, len(data_or_fd), chunk_size):
|
for offset in range(0, len(data_or_fd), chunk_size):
|
||||||
write_chunk(data_or_fd[offset:chunk_size], offset == 0)
|
write_chunk(data_or_fd[offset:offset+chunk_size], offset == 0)
|
||||||
|
|
||||||
if method == "powershell":
|
if method == "powershell":
|
||||||
send_func(f"$stream.Close()")
|
send_func(f"$stream.Close()")
|
||||||
@ -271,6 +272,8 @@ class ShellListener:
|
|||||||
if permissions and self.os == "unix":
|
if permissions and self.os == "unix":
|
||||||
send_func(f"chmod {permissions} {path}")
|
send_func(f"chmod {permissions} {path}")
|
||||||
|
|
||||||
|
print("[+] Done!")
|
||||||
|
|
||||||
class ParamikoTunnelServer(SocketServer.ThreadingTCPServer):
|
class ParamikoTunnelServer(SocketServer.ThreadingTCPServer):
|
||||||
daemon_threads = True
|
daemon_threads = True
|
||||||
allow_reuse_address = True
|
allow_reuse_address = True
|
||||||
|
Loading…
Reference in New Issue
Block a user