bool FillCoincidences(Dictionary <string, string> d, EDic dic, Dictionary <string, string> dest) { if (d.Count == 0) { return(false); } bool dv = false; foreach (string su in GetDic(dic)) { foreach (KeyValuePair <string, string> val in d) { string sval = val.Value.ToLowerInvariant(); if (sval.Replace(" ", "").Contains(su)) { if (dest.ContainsKey(val.Key)) { dest[val.Key] = val.Value; } else { dest.Add(val.Key, val.Value); } dv = true; } } } return(dv); }
string[] GetDic(EDic dic) { switch (dic) { case EDic.User: return(UserWordList); case EDic.Pass: return(PasswordWordList); case EDic.SQLI: return(SqliWordList); case EDic.XSS: return(XssWordList); } return(null); }
bool ExcludeUserPass(string val, EDic dic) { if (string.IsNullOrEmpty(val)) { return(true); } if (val.StartsWith("http://", StringComparison.InvariantCultureIgnoreCase)) { return(true); } if (val.StartsWith("https://", StringComparison.InvariantCultureIgnoreCase)) { return(true); } switch (dic) { case EDic.User: { if (val.Length > 100) { return(true); } if (val == "0") { return(true); } break; } case EDic.Pass: { if (val.Length > 130) { return(true); } break; } } return(false); }
bool Fill(Dictionary <string, string> d, List <string> ls, EDic dic) { if (d.Count == 0) { return(false); } bool ret = false; string v; foreach (string su in GetDic(dic)) { if (d.TryGetValue(su, out v) && !ls.Contains(v) && !ExcludeUserPass(v, dic)) { ls.Add(v); ret = true; } } return(ret); }
bool Fill(Dictionary <string, string> d, EDic dic) { if (d.Count == 0) { return(false); } foreach (string su in GetDic(dic)) { foreach (KeyValuePair <string, string> val in d) { string sval = val.Value.ToLowerInvariant(); if (sval.Replace(" ", "").Contains(su)) { return(true); } } } return(false); }