diff --git a/matcher/oracle/oracle.go b/matcher/oracle/oracle.go index 0638c16..70e602a 100644 --- a/matcher/oracle/oracle.go +++ b/matcher/oracle/oracle.go @@ -49,8 +49,10 @@ func (o *OracleMatcher) Match(index int, packet *packet.Packet, info scaninfo.Se } var dataLen int = int(refuse.Data_len) - if dataLen != packet.Len-12 { - return false + if dataLen != packet.Len-12 { // + if dataLen != packet.Len-22 { // morformed packet error not user not service + return false + } } return true @@ -75,7 +77,7 @@ func (o *OracleMatcher) IsNoResponse(index int) bool { } func (o *OracleMatcher) IsPrePacket() bool { - return true + return false } func NewOracleMatcher() *OracleMatcher { @@ -124,7 +126,9 @@ func NewOracleMatcher() *OracleMatcher { bc.Unknown_data[10] = 0x20 bc.Unknown_data[13] = 0x20 - conDataStr := "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.30)(PORT=1521))(CONNECT_DATA=(CID=(PROGRAM=JDBC Thin Client)(HOST=__jdbc__)(USER=loafle.match))(SERVICE_NAME=oracle.loafle.com.match)))" + conDataStr := "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.30)(PORT=1521))(CONNECT_DATA=(CID=(PROGRAM=JDBC Thin Client)(HOST=__jdbc__)(USER=loafle.match))(SERVICE_NAME=oracle.loafle.com1)))" + //conDataStr := "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.30)(PORT=1521))(CONNECT_DATA=(CID=(PROGRAM=JDBC Thin Client)(HOST=__jdbc__)(USER=Jackdaw))(SERVICE_NAME=oracle.loafle.co1m)))" + connect_data := make([]byte, len(conDataStr)) copy(connect_data, conDataStr)