본문 바로가기

old/Cyber Security

웹 해킹 예제: 인증과 인가 취약점_CTF: 미사일 날리기

반응형

목표

미사일 시스템에 접근했다!

우리가 탈취한 계정은 mario / mariosuper 이다! 흐움... 근데, 관리자 계정이 필요하군 .. ㅠㅜ

공격

공격순서

burp suite으로 내부 코드 확인

로그인 후 index 페이지에서 멈추는것을 확인 좀더 자세히 살펴본다

인덱스 페이지 자세히 확인

HTTP/1.1 200 OK
Date: Tue, 20 Jun 2023 21:03:31 GMT
Server: Apache/2.4.18 (Ubuntu)
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Vary: Accept-Encoding
Content-Length: 1395
Connection: close
Content-Type: text/html; charset=UTF-8


<!-- Show password protected content down here -->

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
    <link rel="stylesheet" type="text/css" href="css/stylesheet.css">
    <title>Auth System</title>
  </head>
  <body>
    <div class="container">
      <div class="header clearfix">
        <nav>
          <ul class="nav nav-pills pull-right">
            <li role="presentation" class="active"><a href="#">Home</a></li>
            <li role="presentation"><a href="#">About</a></li>
            <li role="presentation"><a href="logout.php">LogOut</a></li>
          </ul>
        </nav>
        <h3 class="text-muted">Segfault</h3>
      </div>

      <div class="jumbotron">
        <h1>핵미사일 시스템</h1>
	<p class="lead">DANGER</p>
<p>발사 버튼은 관리자만 이용 가능합니다.</p>
	</br></br>
	<!--	
        <p><a class="btn btn-lg btn-danger" href="fire_attack_danger.php" role="button">Fire</a></p>
-->      </div>

      <div class="row marketing">

      </div>

      <footer class="footer">
        <p>&copy; Segfault</p>
      </footer>

    </div>

    <script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>
  </body>
</html>

응단된 페이지를 자세히 살펴보면, fire버튼이 주석처리되어 있는 것을 확인할수 있다.

응답변조를 이용하여 주석을 제거

burp suite으로 응답변조 하는 법

 

burp suite으로 응답변조 하는 법

응답 변조 응답변조를 하는 burp suite의 방법은 두가지가 있습니다. 응답을 intercept한다음 응답코드자체를 수정하는것 proxy setting에서 셋팅을 하여, 어떤 코드가 오면 다르게 변조하도록 설정하기

selfinvestfriends.tistory.com

혹은 바로 이동

버튼 소스코드를 잘 보면 이동하는 주소 역시 나와 있는것을 볼수 있다. 이를 이용해서 원하는 주소로 바로 이동해도 답을 획득할수 있다.

   <p><a class="btn btn-lg btn-danger" href="fire_attack_danger.php" role="button">Fire</a></p>
href="fire_attack_danger.php"
<http://ctf.segfaulthub.com:3481/auth2/fire_attack_danger.php>

정리

이 문제는 인증을 잘하였으나, 그후에 코드를 단순히 주석으로 숨겨서 안보이게 함으로서 생기는 인가취약점이다.

 

반응형