我在使用 lua 在 redis-cli 中执行代码时遇到问题。
以下是我到目前为止所做的事情:-
root@ubuntu:~# redis-cli -h 127.0.0.1 -p 6379 eval "return 'hello'" 0
"hello"
如果我这样做是为了读取系统文件:-
root@ubuntu:~# redis-cli -h 127.0.0.1 -p 6379 eval "dofile('/etc/passwd')" 0
我收到类似这样的错误
(error) ERR Error running script (call to f_afdc51b5f9e34eced5fae459fc1d856af181aaf1): @user_script:1: /etc/passwd:1: function arguments expected near ':
是否可以读取完整文件?
此外,我正在考虑获取反向 shell。使用 lua 和 eval 怎么可能?
最佳答案
Lua 的 dofile
在 Redis 的 Lua 沙箱中被禁用。反向 shell 也不受支持(但如果您找到了一种方法,那将是潜在安全漏洞的一个很好的捕获点)。
关于unix - Redis-cli 使用EVAL执行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43502696/