unix - Redis-cli 使用EVAL执行代码

标签 unix lua redis reverse

我在使用 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/

相关文章:

php - 实时统计方程

c++ - SWIG_NewPointerObj 和值始终为零

multithreading - LuaLanes 无法在函数之间传递全局变量(在单 channel 中)

Redis 故障转移

unix - 找出 POSIX 系统上是否存在命令

linux - 我需要 grep 特定行数的数据,例如第 1 行、第 6 行

error-handling - Lua:在没有参数的情况下调用 error() 时没有堆栈跟踪?

javascript - Redis:通过索引从JSON数组中获取元素

java - Spring Boot 的 Redis 集群配置

c - 替代 lseek 来跟踪文件 (Posix)