diff --git a/README.md b/README.md index c94e268..e121bf7 100644 --- a/README.md +++ b/README.md @@ -143,8 +143,8 @@ example. #### Multi-client -RevSuit supports multiple clients, and each client in the connected state receives a push of `flag`, so distributed -scanning can be supported. +As shown above, RevSuit supports multiple clients, and each client in the connected state receives a push of `flag`, so +distributed scanning can be supported. #### Temporary storage queue diff --git a/images/do_request.png b/images/do_request.png index b98afad..e69de29 100644 Binary files a/images/do_request.png and b/images/do_request.png differ diff --git a/images/evil_dtd_rule.png b/images/evil_dtd_rule.png index 6d04f7a..d68c68f 100644 Binary files a/images/evil_dtd_rule.png and b/images/evil_dtd_rule.png differ diff --git a/images/ftp_scan_rule.png b/images/ftp_scan_rule.png index baaed4c..40ff874 100644 Binary files a/images/ftp_scan_rule.png and b/images/ftp_scan_rule.png differ diff --git a/images/http_log.png b/images/http_log.png index 1cd51fa..8cc68a1 100644 Binary files a/images/http_log.png and b/images/http_log.png differ diff --git a/images/sse.gif b/images/sse.gif index f043747..5657d2a 100644 Binary files a/images/sse.gif and b/images/sse.gif differ diff --git a/pkg/dns/record.go b/pkg/dns/record.go index 109d4b8..bf4daec 100644 --- a/pkg/dns/record.go +++ b/pkg/dns/record.go @@ -47,16 +47,17 @@ func ListRecords(c *gin.Context) { res []Record count int64 order = c.Query("order") - pageSize int + pageSize = 10 ) - if c.Query("pageSize") == "" { - pageSize = 10 - } else if n, err := strconv.Atoi(c.Query("pageSize")); err == nil { - if n <= 0 || n > 100 { - pageSize = 10 + if c.Query("pageSize") != "" { + if n, err := strconv.Atoi(c.Query("pageSize")); err == nil { + if n > 0 && n < 100 { + pageSize = n + } } } + if err := c.ShouldBind(&dnsRecord); err != nil { c.JSON(400, gin.H{ "status": "failed", diff --git a/pkg/dns/rule.go b/pkg/dns/rule.go index cc994c0..752aff6 100644 --- a/pkg/dns/rule.go +++ b/pkg/dns/rule.go @@ -80,14 +80,14 @@ func ListRules(c *gin.Context) { res []Rule count int64 order = c.Query("order") - pageSize int + pageSize = 10 ) - if c.Query("pageSize") == "" { - pageSize = 10 - } else if n, err := strconv.Atoi(c.Query("pageSize")); err == nil { - if n <= 0 || n > 100 { - pageSize = 10 + if c.Query("pageSize") != "" { + if n, err := strconv.Atoi(c.Query("pageSize")); err == nil { + if n > 0 && n < 100 { + pageSize = n + } } } diff --git a/pkg/ftp/record.go b/pkg/ftp/record.go index dccc8dc..d27020a 100644 --- a/pkg/ftp/record.go +++ b/pkg/ftp/record.go @@ -59,14 +59,14 @@ func ListRecords(c *gin.Context) { res []Record count int64 order = c.Query("order") - pageSize int + pageSize = 10 ) - if c.Query("pageSize") == "" { - pageSize = 10 - } else if n, err := strconv.Atoi(c.Query("pageSize")); err == nil { - if n <= 0 || n > 100 { - pageSize = 10 + if c.Query("pageSize") != "" { + if n, err := strconv.Atoi(c.Query("pageSize")); err == nil { + if n > 0 && n < 100 { + pageSize = n + } } } diff --git a/pkg/ftp/rule.go b/pkg/ftp/rule.go index ffd2f55..3c67931 100644 --- a/pkg/ftp/rule.go +++ b/pkg/ftp/rule.go @@ -75,14 +75,14 @@ func ListRules(c *gin.Context) { res []Rule count int64 order = c.Query("order") - pageSize int + pageSize = 10 ) - if c.Query("pageSize") == "" { - pageSize = 10 - } else if n, err := strconv.Atoi(c.Query("pageSize")); err == nil { - if n <= 0 || n > 100 { - pageSize = 10 + if c.Query("pageSize") != "" { + if n, err := strconv.Atoi(c.Query("pageSize")); err == nil { + if n > 0 && n < 100 { + pageSize = n + } } } diff --git a/pkg/mysql/record.go b/pkg/mysql/record.go index c21852b..9d5717d 100644 --- a/pkg/mysql/record.go +++ b/pkg/mysql/record.go @@ -57,14 +57,14 @@ func ListRecords(c *gin.Context) { res []Record count int64 order = c.Query("order") - pageSize int + pageSize = 10 ) - if c.Query("pageSize") == "" { - pageSize = 10 - } else if n, err := strconv.Atoi(c.Query("pageSize")); err == nil { - if n <= 0 || n > 100 { - pageSize = 10 + if c.Query("pageSize") != "" { + if n, err := strconv.Atoi(c.Query("pageSize")); err == nil { + if n > 0 && n < 100 { + pageSize = n + } } } diff --git a/pkg/mysql/rule.go b/pkg/mysql/rule.go index 640ae43..d0caf4c 100644 --- a/pkg/mysql/rule.go +++ b/pkg/mysql/rule.go @@ -63,14 +63,14 @@ func ListRules(c *gin.Context) { res []Rule count int64 order = c.Query("order") - pageSize int + pageSize = 10 ) - if c.Query("pageSize") == "" { - pageSize = 10 - } else if n, err := strconv.Atoi(c.Query("pageSize")); err == nil { - if n <= 0 || n > 100 { - pageSize = 10 + if c.Query("pageSize") != "" { + if n, err := strconv.Atoi(c.Query("pageSize")); err == nil { + if n > 0 && n < 100 { + pageSize = n + } } } diff --git a/pkg/rhttp/record.go b/pkg/rhttp/record.go index acba7a3..55f8226 100644 --- a/pkg/rhttp/record.go +++ b/pkg/rhttp/record.go @@ -50,15 +50,14 @@ func ListRecords(c *gin.Context) { res []Record count int64 order = c.Query("order") - pageSize int + pageSize = 10 ) - if c.Query("pageSize") == "" { - pageSize = 10 - } else if n, err := strconv.Atoi(c.Query("pageSize")); err == nil { - pageSize = n - if pageSize <= 0 || pageSize > 100 { - pageSize = 10 + if c.Query("pageSize") != "" { + if n, err := strconv.Atoi(c.Query("pageSize")); err == nil { + if n > 0 && n < 100 { + pageSize = n + } } } diff --git a/pkg/rhttp/rule.go b/pkg/rhttp/rule.go index a58e0cc..f011ee8 100644 --- a/pkg/rhttp/rule.go +++ b/pkg/rhttp/rule.go @@ -81,14 +81,14 @@ func ListRules(c *gin.Context) { res []Rule count int64 order = c.Query("order") - pageSize int + pageSize = 10 ) - if c.Query("pageSize") == "" { - pageSize = 10 - } else if n, err := strconv.Atoi(c.Query("pageSize")); err == nil { - if n <= 0 || n > 100 { - pageSize = 10 + if c.Query("pageSize") != "" { + if n, err := strconv.Atoi(c.Query("pageSize")); err == nil { + if n > 0 && n < 100 { + pageSize = n + } } } diff --git a/pkg/rmi/record.go b/pkg/rmi/record.go index a9e6cd5..ed5edcb 100644 --- a/pkg/rmi/record.go +++ b/pkg/rmi/record.go @@ -46,14 +46,14 @@ func ListRecords(c *gin.Context) { res []Record count int64 order = c.Query("order") - pageSize int + pageSize = 10 ) - if c.Query("pageSize") == "" { - pageSize = 10 - } else if n, err := strconv.Atoi(c.Query("pageSize")); err == nil { - if n <= 0 || n > 100 { - pageSize = 10 + if c.Query("pageSize") != "" { + if n, err := strconv.Atoi(c.Query("pageSize")); err == nil { + if n > 0 && n < 100 { + pageSize = n + } } } diff --git a/pkg/rmi/rmi.go b/pkg/rmi/rmi.go index af3b79f..e620809 100644 --- a/pkg/rmi/rmi.go +++ b/pkg/rmi/rmi.go @@ -58,6 +58,7 @@ func (s *Server) handleConnection(conn net.Conn) { if err := conn.SetDeadline(time.Now().Add(time.Second * 30)); err != nil { log.Warn("RMI set connection deadline error:%v", err) + return } ip, port, _ := net.SplitHostPort(conn.RemoteAddr().String()) @@ -66,6 +67,7 @@ func (s *Server) handleConnection(conn net.Conn) { _, err := conn.Read(buf) if err != nil { log.Warn("RMI read connection error:%v", err) + return } if !bytes.Contains(buf, []byte{0x4a, 0x52, 0x4d, 0x49}) { @@ -86,6 +88,7 @@ func (s *Server) handleConnection(conn net.Conn) { _, err = conn.Write(send) if err != nil { log.Warn("RMI write connection error: %v", err) + return } data := make([]byte, 512) @@ -94,6 +97,7 @@ func (s *Server) handleConnection(conn net.Conn) { n, err := conn.Read(data) if err != nil { log.Warn("RMI read connection error: %v", err) + return } length += n } diff --git a/pkg/rmi/rule.go b/pkg/rmi/rule.go index 407fe9d..32068e9 100644 --- a/pkg/rmi/rule.go +++ b/pkg/rmi/rule.go @@ -72,14 +72,14 @@ func ListRules(c *gin.Context) { res []Rule count int64 order = c.Query("order") - pageSize int + pageSize = 10 ) - if c.Query("pageSize") == "" { - pageSize = 10 - } else if n, err := strconv.Atoi(c.Query("pageSize")); err == nil { - if n <= 0 || n > 100 { - pageSize = 10 + if c.Query("pageSize") != "" { + if n, err := strconv.Atoi(c.Query("pageSize")); err == nil { + if n > 0 && n < 100 { + pageSize = n + } } }