无法使用termios.TIOCSTI伪造终端输入

无法使用termios.TIOCSTI伪造终端输入,第1张

无法使用termios.TIOCSTI伪造终端输入

TIOCSTI
是一个ioctl(在中进行了记录
tty_ioctl(4)
),而不是终端设置,因此您不能使用
tcsetattr()
-您需要将伪输入的每个字符输入
ioctl()
。以前从未需要从Python进行过ioctl *** 作,但是以下 *** 作似乎可以
ls
运行Bash
的其他终端(指定为参数,例如 / dev / pts / 13 )中运行:

import fcntlimport sysimport termioswith open(sys.argv[1], 'w') as fd:    for c in "lsn":        fcntl.ioctl(fd, termios.TIOCSTI, c)

TIOCSTI``CAP_SYS_ADMIN
顺便要求root特权(或更具体地讲,但实际上通常是相同的)-请参阅
capabilities(7)



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4976916.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存