public bruteResult Config(ref string dork, string objectString, string proxy = null, string additionalOne = null, string additionalTwo = null) { transActions++; bruteResult googleSearcher = helperObejct.searchersList.FirstOrDefault(func => func.Name == "google").Config(ref dork, objectString, proxy, additionalOne, additionalTwo); bruteResult bingSearcher = helperObejct.searchersList.FirstOrDefault(func => func.Name == "bing").Config(ref dork, objectString, proxy, additionalOne, additionalTwo); transActions--; return(bruteResult.itsSearcher); }
public bruteResult Config(ref string dork, string objectString, string proxy = null, string additionalOne = null, string additionalTwo = null) { transActions++; bool itsSql = false; bool itsXss = false; string unTouchDork = dork; string unTouchDork2 = dork; bruteResult sql = helperObejct.softwareMods.FirstOrDefault(func => func.Name == "sql").Config(ref unTouchDork, objectString, proxy, additionalOne, additionalTwo); if (sql == bruteResult.sql) { itsSql = true; } else { itsSql = false; } bruteResult xss = helperObejct.softwareMods.FirstOrDefault(func => func.Name == "xss").Config(ref unTouchDork2, objectString, proxy, additionalOne, additionalTwo); if (xss == bruteResult.xss) { itsXss = true; } else { itsXss = false; } transActions--; if (itsXss) { if (itsSql) { dork = unTouchDork + "*" + unTouchDork2; return(bruteResult.sqlXss); } else { dork = unTouchDork2; return(bruteResult.xss); } } else { if (itsSql) { dork = unTouchDork; return(bruteResult.sql); } else { return(bruteResult.unvulnerAble); } } }
public void Starter(List<string> target, modBase mod, bool saveit, bool needProxy, Func<bool> CANUSE, CONFIGER CONFIG, bool needCaptcha, bool saveExpectHit = false) { threadsActive++; try { int count = target.Count; for (int i = 0; i < count; i++) { try { var current = target[0]; if (current.Length > 3) { string proxy = ""; if (needProxy) { if (autoUpdateProxy) { proxy = getProxy(true); } else { proxy = getProxy(false); } if (proxy == "wait") { Thread.Sleep(2000); continue; } } bruteResult result = CONFIG(ref current, "", proxy, null, null); if (result == bruteResult.bing) { target.RemoveAt(0); Interlocked.Increment(ref statistics.urlFound); Interlocked.Increment(ref statistics.bing); showStatusVoid(); continue; } else if (result == bruteResult.google) { target.RemoveAt(0); Interlocked.Increment(ref statistics.urlFound); Interlocked.Increment(ref statistics.google); showStatusVoid(); continue; } else if (result == bruteResult.sql) { target.RemoveAt(0); Interlocked.Increment(ref statistics.sql); showStatusVoid(); string waf = Regex.Match(current, "WAF=(.*?) ").Groups[1].Value.ToString(); Save(current, "sql-Waf = " + waf); continue; } else if (result == bruteResult.xss) { target.RemoveAt(0); Interlocked.Increment(ref statistics.xss); showStatusVoid(); string waf = Regex.Match(current, "WAF=(.*?) ").Groups[1].Value.ToString(); Save(current, "xss-Waf = " + waf); continue; } else if (result == bruteResult.sqlXss) { target.RemoveAt(0); Interlocked.Increment(ref statistics.xss); Interlocked.Increment(ref statistics.sql); showStatusVoid(); string waf = Regex.Match(current.Split('*')[0], "WAF=(.*?) ").Groups[1].Value.ToString(); Save(current.Split('*')[0], "sql-Waf = " + waf); waf = Regex.Match(current.Split('*')[1], "WAF=(.*?) ").Groups[1].Value.ToString(); Save(current.Split('*')[1], "xss-Waf = " + waf); continue; } else if (result == bruteResult.unvulnerAble) { target.RemoveAt(0); Save(current, "unvulnerAble"); Interlocked.Increment(ref statistics.unvulnerAble); showStatusVoid(); continue; } else if (result == bruteResult.retry) { target.Add(current); target.RemoveAt(0); Interlocked.Increment(ref statistics.Retries); showStatusVoid(); continue; } else if (result == bruteResult.itsSearcher) { target.RemoveAt(0); Interlocked.Increment(ref statistics.dorksChecked); showStatusVoid(); continue; } else { Interlocked.Increment(ref statistics.errors); showStatusVoid(); continue; } } else { target.RemoveAt(0); Interlocked.Increment(ref statistics.unvulnerAble); showStatusVoid(); continue; } } catch (Exception E) { HandleException(E); } } threadsActive--; } catch (Exception E) { threadsActive--; HandleException(E); } }