Пример #1
0
        public FindingType Add(FindingType findingType)
        {
            var findingTypeDb = _mapper.Map <FindingType, FindingTypes>(findingType);

            findingTypeDb.ParametrizationsFindingTypes = _mapper.Map <List <FindingTypeParametrization>, ICollection <ParametrizationsFindingTypes> >(findingType.Parametrizations);
            _ctx.Add(findingTypeDb);
            _ctx.SaveChanges();

            findingType.Id = findingTypeDb.FindingTypeID;

            return(findingType);
        }
        public override int GetHashCode()
        {
            int hash = 1;

            if (FindingType.Length != 0)
            {
                hash ^= FindingType.GetHashCode();
            }
            if (FindingCount != 0)
            {
                hash ^= FindingCount.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
Пример #3
0
 public static List<string> GetSignatureList(string PluginName, string Host, FindingType Type)
 {
     List<string> SignatureList = new List<string>();
     lock (Signatures)
     {
         if (Signatures.ContainsKey(PluginName))
         {
             if (Signatures[PluginName].ContainsKey(Host))
             {
                 if (Signatures[PluginName][Host].ContainsKey(Type.ToString()))
                 {
                     SignatureList.AddRange(Signatures[PluginName][Host][Type.ToString()]);
                 }
             }
         }
     }
     return SignatureList;
 }
Пример #4
0
        public static List <string> GetSignatureList(string PluginName, string Host, FindingType Type)
        {
            List <string> SignatureList = new List <string>();

            lock (Signatures)
            {
                if (Signatures.ContainsKey(PluginName))
                {
                    if (Signatures[PluginName].ContainsKey(Host))
                    {
                        if (Signatures[PluginName][Host].ContainsKey(Type.ToString()))
                        {
                            SignatureList.AddRange(Signatures[PluginName][Host][Type.ToString()]);
                        }
                    }
                }
            }
            return(SignatureList);
        }
Пример #5
0
 public UpdateFindingTypeRequest(FindingType findingType)
 {
     FindingType = findingType;
 }
Пример #6
0
        internal static bool IsSignatureUnique(string PluginName, string Host, FindingType Type, string Signature, bool AddIfUnique)
        {
            bool IsUnique = false;
            if (PluginName.Length == 0) return false;
            lock (Signatures)
            {
                if (!Signatures.ContainsKey(PluginName))
                {
                    IsUnique = true;
                    if (AddIfUnique)
                        Signatures.Add(PluginName, new Dictionary<string, Dictionary<string, List<string>>>());
                    else
                        return true;
                }

                if (Signature.Length == 0)
                {
                    IsUnique = true;
                    if (!AddIfUnique) return true;
                }

                if (!Signatures[PluginName].ContainsKey(Host))
                {
                    IsUnique = true;
                    if (AddIfUnique)
                        Signatures[PluginName].Add(Host, new Dictionary<string, List<string>>());
                    else
                        return true;
                }

                if (!Signatures[PluginName][Host].ContainsKey(Type.ToString()))
                {
                    IsUnique = true;
                    if (AddIfUnique)
                        Signatures[PluginName][Host].Add(Type.ToString(), new List<string>());
                    else
                        return true;
                }

                if (IsUnique && AddIfUnique)
                {
                    Signatures[PluginName][Host][Type.ToString()].Add(Signature);
                    return true;
                }
                else if (Signatures[PluginName][Host][Type.ToString()].Contains(Signature))
                {
                    return false;
                }
                else
                {
                    if (AddIfUnique)
                    {
                        Signatures[PluginName][Host][Type.ToString()].Add(Signature);
                    }
                    return true;
                }
            }
        }
Пример #7
0
 public static bool IsSignatureUnique(string PluginName, string Host, FindingType Type, string Signature)
 {
     return IsSignatureUnique(PluginName, Host, Type, Signature, false);
 }
Пример #8
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (Name.Length != 0)
            {
                hash ^= Name.GetHashCode();
            }
            if (FindingType.Length != 0)
            {
                hash ^= FindingType.GetHashCode();
            }
            if (Severity != global::Google.Cloud.WebSecurityScanner.V1.Finding.Types.Severity.Unspecified)
            {
                hash ^= Severity.GetHashCode();
            }
            if (HttpMethod.Length != 0)
            {
                hash ^= HttpMethod.GetHashCode();
            }
            if (FuzzedUrl.Length != 0)
            {
                hash ^= FuzzedUrl.GetHashCode();
            }
            if (Body.Length != 0)
            {
                hash ^= Body.GetHashCode();
            }
            if (Description.Length != 0)
            {
                hash ^= Description.GetHashCode();
            }
            if (ReproductionUrl.Length != 0)
            {
                hash ^= ReproductionUrl.GetHashCode();
            }
            if (FrameUrl.Length != 0)
            {
                hash ^= FrameUrl.GetHashCode();
            }
            if (FinalUrl.Length != 0)
            {
                hash ^= FinalUrl.GetHashCode();
            }
            if (TrackingId.Length != 0)
            {
                hash ^= TrackingId.GetHashCode();
            }
            if (form_ != null)
            {
                hash ^= Form.GetHashCode();
            }
            if (outdatedLibrary_ != null)
            {
                hash ^= OutdatedLibrary.GetHashCode();
            }
            if (violatingResource_ != null)
            {
                hash ^= ViolatingResource.GetHashCode();
            }
            if (vulnerableHeaders_ != null)
            {
                hash ^= VulnerableHeaders.GetHashCode();
            }
            if (vulnerableParameters_ != null)
            {
                hash ^= VulnerableParameters.GetHashCode();
            }
            if (xss_ != null)
            {
                hash ^= Xss.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
Пример #9
0
 public bool IsSignatureUnique(string Host, FindingType Type, string Signature)
 {
     return Finding.IsSignatureUnique(this.Name, Host, Type, Signature);
 }
Пример #10
0
 public bool IsSignatureUnique(string Host, FindingType Type, string Signature)
 {
     return(Finding.IsSignatureUnique(this.Name, Host, Type, Signature));
 }
Пример #11
0
        internal static bool IsSignatureUnique(string PluginName, string Host, FindingType Type, string Signature, bool AddIfUnique)
        {
            bool IsUnique = false;

            if (PluginName.Length == 0)
            {
                return(false);
            }
            lock (Signatures)
            {
                if (!Signatures.ContainsKey(PluginName))
                {
                    IsUnique = true;
                    if (AddIfUnique)
                    {
                        Signatures.Add(PluginName, new Dictionary <string, Dictionary <string, List <string> > >());
                    }
                    else
                    {
                        return(true);
                    }
                }

                if (Signature.Length == 0)
                {
                    IsUnique = true;
                    if (!AddIfUnique)
                    {
                        return(true);
                    }
                }


                if (!Signatures[PluginName].ContainsKey(Host))
                {
                    IsUnique = true;
                    if (AddIfUnique)
                    {
                        Signatures[PluginName].Add(Host, new Dictionary <string, List <string> >());
                    }
                    else
                    {
                        return(true);
                    }
                }


                if (!Signatures[PluginName][Host].ContainsKey(Type.ToString()))
                {
                    IsUnique = true;
                    if (AddIfUnique)
                    {
                        Signatures[PluginName][Host].Add(Type.ToString(), new List <string>());
                    }
                    else
                    {
                        return(true);
                    }
                }

                if (IsUnique && AddIfUnique)
                {
                    Signatures[PluginName][Host][Type.ToString()].Add(Signature);
                    return(true);
                }
                else if (Signatures[PluginName][Host][Type.ToString()].Contains(Signature))
                {
                    return(false);
                }
                else
                {
                    if (AddIfUnique)
                    {
                        Signatures[PluginName][Host][Type.ToString()].Add(Signature);
                    }
                    return(true);
                }
            }
        }
Пример #12
0
 public static bool IsSignatureUnique(string PluginName, string Host, FindingType Type, string Signature)
 {
     return(IsSignatureUnique(PluginName, Host, Type, Signature, false));
 }
Пример #13
0
 public WebApiResult <FindingType> AddFindingType([FromBody] FindingType list)
 {
     return(TryCatch <AddFindingTypeRequest, FindingType>(new AddFindingTypeRequest(list)));
 }
Пример #14
0
 // Set functions
 void SetFindingType(FindingType type)
 {
     m_currentFindingType = type;
 }
Пример #15
0
 public List <string> GetSignatureList(string Host, FindingType Type)
 {
     return(Finding.GetSignatureList(this.Name, Host, Type));
 }
Пример #16
0
 static int GetResultType(FindingType ResultType)
 {
     if (ResultType == FindingType.Vulnerability) return 9;
     if (ResultType == FindingType.TestLead) return 6;
     if (ResultType == FindingType.Information) return 3;
     return 3;
 }
Пример #17
0
 public List<string> GetSignatureList(string Host, FindingType Type)
 {
     return Finding.GetSignatureList(this.Name, Host, Type);
 }