コード例 #1
0
 public PluginResult(PluginResultType resultType, RegistryHive hive, RegistryView view, string registryPath, string title, string fileName, bool fileExists)
 {
     ResultType          = ScanResultType.InternetExplorerPlugin;
     PluginResultType    = resultType;
     RegistryInformation = new RegistryInformation(hive, view, registryPath);
     Title      = title;
     FileName   = fileName;
     FileExists = fileExists;
 }
コード例 #2
0
ファイル: PluginResult.cs プロジェクト: 0ks3ii/IronWASP
 public static List<string> GetSignatureList(string PluginName, string Host, PluginResultType 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;
 }
コード例 #3
0
ファイル: PluginResult.cs プロジェクト: xuezs/IronWASP
        public static List <string> GetSignatureList(string PluginName, string Host, PluginResultType 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 PluginResult(PluginResultType result, object obj, ReflectedPlugin plug)
 {
     Result       = result;
     ReturnObject = obj;
     Plugin       = plug;
 }
コード例 #5
0
ファイル: Plugin.cs プロジェクト: moon2l/IronWASP
 public bool IsSignatureUnique(string Host, PluginResultType Type, string Signature)
 {
     return PluginResult.IsSignatureUnique(this.Name, Host, Type, Signature);
 }
コード例 #6
0
ファイル: Plugin.cs プロジェクト: moon2l/IronWASP
 public List<string> GetSignatureList(string Host, PluginResultType Type)
 {
     return PluginResult.GetSignatureList(this.Name, Host, Type);
 }
コード例 #7
0
ファイル: PluginResult.cs プロジェクト: 0ks3ii/IronWASP
        internal static bool IsSignatureUnique(string PluginName, string Host, PluginResultType 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;
                }
            }
        }
コード例 #8
0
ファイル: PluginResult.cs プロジェクト: 0ks3ii/IronWASP
 public static bool IsSignatureUnique(string PluginName, string Host, PluginResultType Type, string Signature)
 {
     return IsSignatureUnique(PluginName, Host, Type, Signature, false);
 }
コード例 #9
0
ファイル: IronDB.cs プロジェクト: mskr30/IronWASP
 static int GetResultType(PluginResultType ResultType)
 {
     if (ResultType == PluginResultType.Vulnerability) return 9;
     if (ResultType == PluginResultType.TestLead) return 6;
     if (ResultType == PluginResultType.Information) return 3;
     return 3;
 }
コード例 #10
0
 public PluginRegistryParser(RegistryHive hive, string subKey, IEnumerable <RegistryView> views, PluginResultType resultType)
     : base(hive, subKey, views)
 {
     ResultType = resultType;
 }
コード例 #11
0
ファイル: Plugin.cs プロジェクト: melagiri/IronWASP
 public List <string> GetSignatureList(string Host, PluginResultType Type)
 {
     return(PluginResult.GetSignatureList(this.Name, Host, Type));
 }
コード例 #12
0
ファイル: Plugin.cs プロジェクト: melagiri/IronWASP
 public bool IsSignatureUnique(string Host, PluginResultType Type, string Signature)
 {
     return(PluginResult.IsSignatureUnique(this.Name, Host, Type, Signature));
 }
コード例 #13
0
ファイル: PluginResult.cs プロジェクト: xuezs/IronWASP
        internal static bool IsSignatureUnique(string PluginName, string Host, PluginResultType 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);
                }
            }
        }
コード例 #14
0
ファイル: PluginResult.cs プロジェクト: xuezs/IronWASP
 public static bool IsSignatureUnique(string PluginName, string Host, PluginResultType Type, string Signature)
 {
     return(IsSignatureUnique(PluginName, Host, Type, Signature, false));
 }