Redis-cli使用EVAL执行代码

我在使用lua在redis-cli中执行代码方面遇到了问题。

下面是我迄今为止所做的事情:-

root@ubuntu:~# redis-cli -h 127.0.0.1 -p 6379 eval "返回'hello'" 0

"hello"

如果我像这样读取系统文件:-

root@ubuntu:~# redis-cli -h 127.0.0.1 -p 6379 eval "dofile('/etc/passwd')" 0

我会得到错误:

(错误)ERR(运行脚本时发生错误)(调用f_afdc51b5f9e34eced5fae459fc1d856af181aaf1):@user_script:1:/etc/passwd:1:附近的预计的函数参数

有可能读取完整的文件吗?

另外,我想获得反向shell。怎么用lua和eval实现呢?

点赞
用户3160475
用户3160475

Lua 的 dofile 命令在 Redis 的 Lua 沙盒中被禁用。反向 shell 也不受支持(但如果你找到一种方法,那么这可能是一个潜在安全漏洞的好发现)。

2017-04-19 18:07:52