【问题标题】:Python - while input doesn't workPython - 虽然输入不起作用
【发布时间】:2017-08-11 18:33:12
【问题描述】:

为什么这不起作用?我输入windows/meterpreter/reverse_tcp 并返回错误...再次

def shellcode():
    os.system("clear")
    print style
    print green + "  [+]Your Choose 4 | C Type Format - ShellCode Generate"
    print style
    print payload_types
    print ' '
    payload_choose = raw_input(time + white + "Choose Payload > ")
    while (payload_choose != "windows/meterpreter/reverse_tcp" or "linux/x86/meterpreter/reverse_tcp"):
        print "[-]error"
        payload_choose = raw_input(time + white + "Choose Payload > ")
    print "ok"

【问题讨论】:

    标签: python input while-loop


    【解决方案1】:

    这一行:

    while (payload_choose != "windows/meterpreter/reverse_tcp" or "linux/x86/meterpreter/reverse_tcp"):
    

    可能不会做你想做的事。我想你可能是这个意思?

    while payload_choose != "windows/meterpreter/reverse_tcp" and payload_choose != "linux/x86/meterpreter/reverse_tcp":
    

    进一步说明

    这个表达式:

    a or b
    

    表示“a 为真或 b 为真”。

    这个表达式:

    foo != 'hello' or 'goodbye'
    

    表示“(foo != 'hello') 为真或 'goodbye' 为真”。在 Python 中,非空字符串被认为是“真实的”,因此您原来的 while 循环条件始终为 true。

    【讨论】:

    • 其中之一.. windows/meterpreter/reverse_tcp 或 linux/x86/meterpreter/reverse_tcp 如果我输入并且必须选择 linux/x86/meterpreter/reverse_tcp 和 windows/meterpreter/reverse_tcp :/跨度>
    • @Inj3ct0r 什么?我不明白你在说什么。
    • 那么修复你的缩进?确保没有混用制表符和空格。
    猜你喜欢
    • 2012-10-13
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多