如何使用Python脚本为批处理文件提供输入?
发布时间:2020-12-20 13:51:05 所属栏目:Python 来源:网络整理
导读:假设我有一个批处理文件,它要求我输入我的名字.我把我的名字输入.这是手动方式. 但我想用Python尝试一下.是否有可能在Python脚本中创建一个变量并将我的名字放在变量中并在它要求输入时将该变量传递给bat文件? 我的bat文件的第一步是问我的名字.询问名称批
假设我有一个批处理文件,它要求我输入我的名字.我把我的名字输入.这是手动方式.
但我想用Python尝试一下.是否有可能在Python脚本中创建一个变量并将我的名字放在变量中并在它要求输入时将该变量传递给bat文件? 我的bat文件的第一步是问我的名字.询问名称批处理文件是出于测试目的.我的主批处理文件有以下代码: @ECHO OFF :choice set /P c=Do you want to continue [Y/N]? if /I "%c%" EQU "Y" goto :yes if /I "%c%" EQU "N" goto :no goto :choice :yes "scriptsenter.py" yes goto :continue :no "scriptskick_out.py" no :continue pause exit 所以,我希望这会有所帮助.我想通过大约2个输入.首先是Y和其他当它调用enter.py时它会询问我的登录详细信息.我的用户名和密码.所以,我需要做3个输入.我怎样才能做到这一点? 解决方法
这是可行的:我用它来注入使用不可打印的ascii字符(如空字节)的攻击字符串.
使用Python 3的示例:
import ctypes import time import subprocess import binascii if __name__ =="__main__": response = "Y" p = subprocess.Popen("echo.bat",stdin = subprocess.PIPE) time.sleep(2) p.stdin.write(bytes(response,'ascii')) #Answer the question print("injected string :",response)
@ECHO OFF :choice set /P c=Do you want to continue [Y/N]? if /I "%c%" EQU "Y" goto :yes if /I "%c%" EQU "N" goto :no goto :choice :yes echo "User has typed yes" goto :continue :no echo "User has typed no" :continue pause
python inject_string.py Do you want to continue [Y/N]?injected string : Y "User has typed yes" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- python – 为什么在mac上使用PyQt5无法添加图标?
- python-3.x – python – daemonize bottlepy脚本
- python字符串连接混淆
- python – Mongo Query中的AND和OR
- python – 实时将cv2.imshow()与matplotlib plt.show()结合
- python – 我应该如何处理twisted.application.internet.Cl
- Python django-05 模板层
- Python熊猫:rolling_kurt与scipy.stats.kurtosis
- Django从批处理文件创建超级用户
- 抖音是目前最火的APP!它为何会这么火?Python十行代码爬抖