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中,使用时可以正常用,感觉不错。