Scapy5

HTTPS中间人攻击

HTTPS加密过程,这个网站讲的很清楚。
我们进行HTTPS中间人攻击时,证书没被认证,浏览器会给客户端警告。在客户端点接受风险,才能继续攻击。或者控制客户端电脑认证我们的证书。
利用mitmproxy

python实现SSH

先安装bcrypt,再安装paramiko

1
2
pip install bcrypt==3.1.7
pip install paramiko
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.load_system_host_keys()
ip=input("IP:")
port=input("PORT:")
username=input("USERNAME:")
passwd=input("PASSWD:")
ssh.connect(ip,port,username,passwd)
while 1:
cmd=input("$>")
if(cmd=='q'):
break
ssh.close()
ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command(cmd,get_pty=True)
content = ssh_stdout.read().decode()
if(content!=''):
print(content,end='')

要执行多个,只能在一行写,中间用分号隔开。然后我又改进了一下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.load_system_host_keys()
ip=input("IP:")
port=input("PORT:")
username=input("USERNAME:")
passwd=input("PASSWD:")
ssh.connect(ip,port,username,passwd)
cd=""
while 1:
cmd=input("$>")
if(cmd=='q'):
break
ssh.close()
ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command(cd+cmd,get_pty=True)
content = ssh_stdout.read().decode()
if(content!=''):
print(content,end='')
if "cd" in cmd:
cd+=cmd+';'

把切换目录的命令保存在变量cd中,使用时可以正常用,感觉不错。