eval(bytes.fromhex('636174202F666C6167').decode())这行代码输出的不是命令结果而是命令本身的字符串,修改
时间: 2024-02-13 15:02:25 浏览: 52
Z.Expressions.Eval 4.0.68.zip
5星 · 资源好评率100%
非常抱歉,之前的回答有误。你是正确的,`eval(bytes.fromhex('636174202F666C6167').decode())` 这行代码输出的是命令本身的字符串,而不是命令的执行结果。如果你想要执行命令并获取命令的执行结果,可以使用以下代码:
```
result = eval(f"__import__('os').popen('{bytes.fromhex('636174202F666C6167').decode()}').read()")
print(result)
```
这个代码将会执行 `cat /flag` 命令,并返回命令的输出结果。需要注意的是,这个代码可能会存在安全风险,因为它可以执行任意命令。在实际应用中,需要谨慎使用这种方法,并确保输入的命令是可信的。
阅读全文