python recv() 和 eval()
python recv() and eval()
谁能帮我理解这段代码
clientsock.send("Welcome to Maths_Server 1.0\n")
try:
clientsock.send("Enter the first number, so I can EVALuate it:\n")
firstNum = eval(clientsock.recv(1024))
firstNum = firstNum + firstNum + ord(flag[4]) + ord(flag[8]) + ord(flag[5])
clientsock.send("Enter the second number, so I can EVALuate it:\n")
secondNum = eval(clientsock.recv(1024))
if secondNum == firstNum:
clientsock.send("The flag is: " + flag + "\n")
firstNum = 0
secondNum = 0
except:
pass
clientsock.close()
我想知道 recv() 的作用以及如何使 if 语句为真
嗯,你不能确定 firstNum
值,因为它是由用户输入的,所以你在 firstNum
中输入一个随机数,然后对于 secondNum
你输入firstNum
,所以它所做的是 eval() 获取 firstNum
值并将其转换为 secondNum
的字符串,这将使 if 语句为真。希望这能成功。
谁能帮我理解这段代码
clientsock.send("Welcome to Maths_Server 1.0\n")
try:
clientsock.send("Enter the first number, so I can EVALuate it:\n")
firstNum = eval(clientsock.recv(1024))
firstNum = firstNum + firstNum + ord(flag[4]) + ord(flag[8]) + ord(flag[5])
clientsock.send("Enter the second number, so I can EVALuate it:\n")
secondNum = eval(clientsock.recv(1024))
if secondNum == firstNum:
clientsock.send("The flag is: " + flag + "\n")
firstNum = 0
secondNum = 0
except:
pass
clientsock.close()
我想知道 recv() 的作用以及如何使 if 语句为真
嗯,你不能确定 firstNum
值,因为它是由用户输入的,所以你在 firstNum
中输入一个随机数,然后对于 secondNum
你输入firstNum
,所以它所做的是 eval() 获取 firstNum
值并将其转换为 secondNum
的字符串,这将使 if 语句为真。希望这能成功。