<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>yeseul7 님의 블로그</title>
    <link>https://yeseul7.tistory.com/</link>
    <description>yeseul7 님의 블로그 입니다.</description>
    <language>ko</language>
    <pubDate>Mon, 1 Jun 2026 19:56:08 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>yeseul7</managingEditor>
    <image>
      <title>yeseul7 님의 블로그</title>
      <url>https://tistory1.daumcdn.net/tistory/8282559/attach/d845270c97a7496d84d451ddd86a85b9</url>
      <link>https://yeseul7.tistory.com</link>
    </image>
    <item>
      <title>리눅스 기반 시스템 탐색 및 데이터 분석(OverTheWire Bandit)</title>
      <link>https://yeseul7.tistory.com/28</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;본 실습은 MacBook의 macOS 환경에서 진행하였다.&lt;br /&gt;macOS는 기본적으로 UNIX 기반 터미널 환경을 지원하므로, Windows 환경에서 사용하는 WSL 대신 기본 터미널(zsh)을 활용하여 Bandit 서버에 접속하고 실습을 수행하였다.&lt;/p&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;div style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;
&lt;h1&gt;Level 0&lt;/h1&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;목표: &lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;SSH를 사용하여 게임에 로그인하는 것&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;포트와, 연결할 호스트, 사용자의 이름, 비밀번호까지 다 주어졌다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778650050926&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ssh -p 2220 bandit0@bandit.labs.overthewire.org&lt;/code&gt;&lt;/pre&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-filename=&quot;스크린샷 2026-05-13 오후 2.29.46.png&quot; data-origin-width=&quot;1150&quot; data-origin-height=&quot;594&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b7yrWu/dJMcahdk6Sv/0ILXTcpe0fXVL7eI07KHY1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b7yrWu/dJMcahdk6Sv/0ILXTcpe0fXVL7eI07KHY1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b7yrWu/dJMcahdk6Sv/0ILXTcpe0fXVL7eI07KHY1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb7yrWu%2FdJMcahdk6Sv%2F0ILXTcpe0fXVL7eI07KHY1%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;1150&quot; height=&quot;594&quot; data-filename=&quot;스크린샷 2026-05-13 오후 2.29.46.png&quot; data-origin-width=&quot;1150&quot; data-origin-height=&quot;594&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 data-ke-size=&quot;size16&quot;&gt;접속 완료&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;Level 0 &amp;rarr; Level 1&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;목표: 홈 디렉토리에 있는 readme 파일에서 다음 레벨(bandit1)의 비밀번호를 찾는 것&lt;/p&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;pre id=&quot;code_1778650543085&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ls #파일 보기
cat readme #파일의 목록 중 readme 읽기 (파일 읽기)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ls와 같은 명령어를 이용해서 readme 파일의 존재를 확인 후, cat readme를 통해 읽으면 다음 레벨의 password를 찾아볼 수 있게 된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-05-13 오후 2.33.19.png&quot; data-origin-width=&quot;1148&quot; data-origin-height=&quot;382&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dk9c0s/dJMcafT8LYo/PBrqcGvKKq56jpkHftggyk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dk9c0s/dJMcafT8LYo/PBrqcGvKKq56jpkHftggyk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dk9c0s/dJMcafT8LYo/PBrqcGvKKq56jpkHftggyk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdk9c0s%2FdJMcafT8LYo%2FPBrqcGvKKq56jpkHftggyk%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;1148&quot; height=&quot;382&quot; data-filename=&quot;스크린샷 2026-05-13 오후 2.33.19.png&quot; data-origin-width=&quot;1148&quot; data-origin-height=&quot;382&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 data-ke-size=&quot;size16&quot;&gt;문제에서 말했듯 일단 password (&lt;span&gt;ZjLjTmM6FvvyRnrb2rfNWOZOTa6ip5If)를 &lt;/span&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-filename=&quot;스크린샷 2026-05-13 오후 2.38.27.png&quot; data-origin-width=&quot;1168&quot; data-origin-height=&quot;182&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xe4IN/dJMcaayw7mN/LR8htcEvK0KW0IUQLaLRGk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xe4IN/dJMcaayw7mN/LR8htcEvK0KW0IUQLaLRGk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xe4IN/dJMcaayw7mN/LR8htcEvK0KW0IUQLaLRGk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fxe4IN%2FdJMcaayw7mN%2FLR8htcEvK0KW0IUQLaLRGk%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;1168&quot; height=&quot;182&quot; data-filename=&quot;스크린샷 2026-05-13 오후 2.38.27.png&quot; data-origin-width=&quot;1168&quot; data-origin-height=&quot;182&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 data-ke-size=&quot;size16&quot;&gt;exit 명령어를 통해 로그아웃 한 뒤 찾은 암호로 다시 접속한다.&amp;nbsp;&lt;/p&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;h1 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;Level 1 &amp;rarr; Level 2&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;목표: 홈 디렉토리에 있는 -라는 이름의 파일을 읽어서 다음 레벨 비밀번호를 찾는 것&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만, 리눅스에서는 -가 특수하게 쓰이기 때문에 cat -를 할 때, 이상하게 작용할 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러므로 ls를 통해 파일명을 확인 한 후, ./를 통해 파일명을 지정하며 알아내야함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리눅스에서 ./파일명은 현재 폴더 안의 파일이라는 뜻이므로, ./를 이용하면 -도 파일명으로 선택 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778651151821&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ls
# - 가 들어있음

cat ./-&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-filename=&quot;스크린샷 2026-05-13 오후 2.45.04.png&quot; data-origin-width=&quot;638&quot; data-origin-height=&quot;84&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dm9nSa/dJMcagyHT4M/ArwsbD0nIEex1mLJ2G83kK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dm9nSa/dJMcagyHT4M/ArwsbD0nIEex1mLJ2G83kK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dm9nSa/dJMcagyHT4M/ArwsbD0nIEex1mLJ2G83kK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdm9nSa%2FdJMcagyHT4M%2FArwsbD0nIEex1mLJ2G83kK%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;638&quot; height=&quot;84&quot; data-filename=&quot;스크린샷 2026-05-13 오후 2.45.04.png&quot; data-origin-width=&quot;638&quot; data-origin-height=&quot;84&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;263JGJPfgU6LtdEvgfWU1XP5yac29mFx 다음 단계의 비밀번호를 저장해둔 후, 아까와 같이 exit -&amp;gt; 암호로 다시 접속&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;Level 2 &amp;rarr; Level 3&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;목표: 홈 디렉토리에 있는 spaces in this filename 이라는 파일에서 다음 레벨의 비밀번호를 찾기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파일 이름 안에 공백이 들어가 있는 경우 리눅스에서는 공백을 명령어 인자 구분으로 인식하기 때문에, 공백으로 인해 파일명이 잘려버리는 이슈가 발생. 그러므로 전체를 하나로 묶어주기 위해 &quot;&quot;를 사용하여야만 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778651413637&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ls
cat &quot;./--spaces in this filename--&quot;&lt;/code&gt;&lt;/pre&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-filename=&quot;스크린샷 2026-05-13 오후 2.55.13.png&quot; data-origin-width=&quot;1010&quot; data-origin-height=&quot;330&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NMPxn/dJMcacJTHH1/jclz5Xtmk36Y0JheHiPs40/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NMPxn/dJMcacJTHH1/jclz5Xtmk36Y0JheHiPs40/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NMPxn/dJMcacJTHH1/jclz5Xtmk36Y0JheHiPs40/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNMPxn%2FdJMcacJTHH1%2Fjclz5Xtmk36Y0JheHiPs40%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;1010&quot; height=&quot;330&quot; data-filename=&quot;스크린샷 2026-05-13 오후 2.55.13.png&quot; data-origin-width=&quot;1010&quot; data-origin-height=&quot;330&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실제 파일 이름은 --spaces in this filename-- 이기 때문에, 파일명이 -로 시작할 경우 옵션으로 인식될 수 있으므로, 이전 레벨과 마찬가지로 ./를 사용하여 현재 디렉토리의 파일임을 명확히 지정해주어야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;비밀번호: &lt;span&gt;MNk8KNH3Usiio41PRUEoDFPqfxLPlSmx&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;Level 3 &amp;rarr; Level 4&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;목표: inhere 디렉토리 안에 있는 숨김 파일(hidden file)에서 다음 레벨의 비밀번호를 찾는 문제&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리눅스에서는 . 으로 시작하는 파일을 숨김 파일로 취급하기 때문에, 일반 ls 명령어로는 보이지 않는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778652065624&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cd inhere
ls -a
cat ...Hiding-From-You&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파일이 &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;inhere 디렉토리 안에 있기 때문에 우선 디렉토리 이동을 할때 쓰는 cd를 통해 이동 후,&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt; &lt;span&gt;ls&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-a를 통해 숨김 파일까지 확인해야만 한다. -a를 붙이는 이유는, a가 all을 뜻하며, 숨김 파일까지 모두 보여주게 만드는 명령어이기 때문이다.&lt;/span&gt;&lt;/span&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-filename=&quot;스크린샷 2026-05-13 오후 3.05.01.png&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;224&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/drTsRj/dJMcadaRRjf/l2PGyXBMbTzuD3WN9xk5Ak/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/drTsRj/dJMcadaRRjf/l2PGyXBMbTzuD3WN9xk5Ak/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/drTsRj/dJMcadaRRjf/l2PGyXBMbTzuD3WN9xk5Ak/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdrTsRj%2FdJMcadaRRjf%2Fl2PGyXBMbTzuD3WN9xk5Ak%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;714&quot; height=&quot;224&quot; data-filename=&quot;스크린샷 2026-05-13 오후 3.05.01.png&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;224&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 data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;비밀번호: &lt;/span&gt;&lt;/span&gt;&lt;span&gt;2WmrDFRmJIq3IPxneAaMGhap0pFhF3NJ&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;Level 4 &amp;rarr; Level 5&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;목표: inhere 디렉토리 안에 있는 여러 파일 중, 사람이 읽을 수 있는(human-readable) 파일 하나를 찾아 다음 레벨의 비밀번호를 획득&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778652535004&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cd inhere
ls
file ./*&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;inhere 디렉토리 안에 있다고 했기 때문에, cd imhere을 통해 디렉토리로 이동, ls를 통해 파일이 무엇이 있는지 확인한 후,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;file ./* 명령어를 통해 현재 디렉토리의 모든 파일의 종류를 분석한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;여기서, file은 &lt;/span&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;이 파일이 어떤 종류인지 &lt;/span&gt;분석해주는 명령어이고, *는 모든 파일이라는 뜻이라서, ./*를 해주면 현재 디렉토리의 모든 파일을 의미한다. 그래서 file ./*를 하면 현재 디렉토리의 모든 파일을 어떤 종류인지 분석을 해주게 된다.&amp;nbsp;&lt;/p&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-filename=&quot;스크린샷 2026-05-13 오후 3.16.54.png&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;420&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EdkHh/dJMcaakXU2v/yWo3kgckCqVRilN5i1pZ4K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EdkHh/dJMcaakXU2v/yWo3kgckCqVRilN5i1pZ4K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EdkHh/dJMcaakXU2v/yWo3kgckCqVRilN5i1pZ4K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEdkHh%2FdJMcaakXU2v%2FyWo3kgckCqVRilN5i1pZ4K%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;714&quot; height=&quot;420&quot; data-filename=&quot;스크린샷 2026-05-13 오후 3.16.54.png&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;420&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 data-ke-size=&quot;size16&quot;&gt;-file07이 text 파일로 나타나있기 때문에 cat ./-file07을 해주면,&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;비밀번호: &lt;span&gt;4oQYVPkxZOOEOO5pTW81FB8j8lxXGUQw&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가 나타나게 된다.&lt;/p&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;h1 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;Level 5 &amp;rarr; Level 6&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;목표: inhere 디렉토리 아래 어딘가에 있는 파일 중, 특정 조건을 모두 만족하는 파일을 찾아 다음 레벨의 비밀번호를 획득&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특정 조건을 모두 만족하는 파일을 찾아야 하는 문제이다. 즉, 하나씩 찾기보다는 find를 쓰는 것이 출제 의도에 더욱 맞는 풀이이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;find는&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;파일을 조건으로 검색하는 명령어이다. -size 등 옵션을 이용해 조건으로 검색을 할 수가 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778653442138&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cd inhere
find . -size 1033c #문제에서 말한 조건, 크기가 정확히 1033 bytes인 파일을 찾기 위함

#size로 파일 크기 검색,
#리눅스에서 c는 bytes를 의미하며,
#.는 현재 디렉토리를 의미한다.

file ./maybehere07/.file2
#나온 ./maybehere07/.file2 파일의 종류를 확인&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-filename=&quot;스크린샷 2026-05-13 오후 3.27.25.png&quot; data-origin-width=&quot;934&quot; data-origin-height=&quot;280&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bBwKRH/dJMcaiwwIdH/0PWEKhhV06Uw4DP0fup1xK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bBwKRH/dJMcaiwwIdH/0PWEKhhV06Uw4DP0fup1xK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bBwKRH/dJMcaiwwIdH/0PWEKhhV06Uw4DP0fup1xK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBwKRH%2FdJMcaiwwIdH%2F0PWEKhhV06Uw4DP0fup1xK%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;934&quot; height=&quot;280&quot; data-filename=&quot;스크린샷 2026-05-13 오후 3.27.25.png&quot; data-origin-width=&quot;934&quot; data-origin-height=&quot;280&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;Level 6 &amp;rarr; Level 7&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;목표: 서버 전체에서 특정 조건을 만족하는 파일을 찾아, 그 안에 저장된 다음 레벨의 비밀번호를 획득&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;조건은, 소유자가 bandit7 그룹이 bandit6, 파일 크기가 33 bytes여야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리눅스 파일에는 파일 이름, 크기, 소유자, 그룹, 권한 같은 정보가 있기 때문에 find 명령어를 통해 그중 owner, group, size 조건을 사용해야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;주요 옵션은 다음과 같다&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;-user&lt;/td&gt;
&lt;td&gt;파일 소유자&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;-group&lt;/td&gt;
&lt;td&gt;파일 그룹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;-size&lt;/td&gt;
&lt;td&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;p data-ke-size=&quot;size16&quot;&gt;조건을 추가해본다면,&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778659117803&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;find / -user bandit7 -group bandit6 -size 33c&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 /는 리눅스 루트 디렉토리를 뜻한다. 그러므로 find /는 &lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;서버 전체 검색&lt;/span&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-filename=&quot;스크린샷 2026-05-13 오후 5.02.38.png&quot; data-origin-width=&quot;1158&quot; data-origin-height=&quot;512&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uqCsK/dJMcadaRYdY/s5ylJTRhL1Dzvngt9KtuzK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uqCsK/dJMcadaRYdY/s5ylJTRhL1Dzvngt9KtuzK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uqCsK/dJMcadaRYdY/s5ylJTRhL1Dzvngt9KtuzK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuqCsK%2FdJMcadaRYdY%2Fs5ylJTRhL1Dzvngt9KtuzK%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;1158&quot; height=&quot;512&quot; data-filename=&quot;스크린샷 2026-05-13 오후 5.02.38.png&quot; data-origin-width=&quot;1158&quot; data-origin-height=&quot;512&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 data-ke-size=&quot;size16&quot;&gt;많이 나오는 것 중에 권한 없는 폴더 접근 실패 메시지인 Permission denied가 없는 bandit7.password 파일을 찾았다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cat /var/lib/dpkg/info/bandit7.password 해서 열어주면&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-filename=&quot;스크린샷 2026-05-13 오후 5.04.06.png&quot; data-origin-width=&quot;864&quot; data-origin-height=&quot;110&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/y6g3W/dJMcacXodmM/kFz8yLC8Q4vU3yjYOX3g6k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/y6g3W/dJMcacXodmM/kFz8yLC8Q4vU3yjYOX3g6k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/y6g3W/dJMcacXodmM/kFz8yLC8Q4vU3yjYOX3g6k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fy6g3W%2FdJMcacXodmM%2FkFz8yLC8Q4vU3yjYOX3g6k%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;110&quot; data-filename=&quot;스크린샷 2026-05-13 오후 5.04.06.png&quot; data-origin-width=&quot;864&quot; data-origin-height=&quot;110&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 data-ke-size=&quot;size16&quot;&gt;다음과 같은 비밀번호 &lt;span&gt;morbNTDkSW6jIlUc0ymOdMaLnOlFVAaj를 찾을 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;Level 7 &amp;rarr; Level 8&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;목표: data.txt 파일 안에서 millionth 라는 단어 옆에 있는 값을 찾아 다음 레벨의 비밀번호를 획득&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;millionth 라는 단어 옆에 있는 값을 찾아야 하기 때문에, 파일 안에서 특정 문자열을 검색하는 명령어인 grep이 필요하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778659698953&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;grep millionth data.txt&lt;/code&gt;&lt;/pre&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 data-ke-size=&quot;size16&quot;&gt;각각의 의미는 다음과 같다.&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;grep&lt;/td&gt;
&lt;td&gt;문자열 검색&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;millionth&lt;/td&gt;
&lt;td&gt;찾을 단어&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;data.txt&lt;/td&gt;
&lt;td&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;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-05-13 오후 5.09.05.png&quot; data-origin-width=&quot;836&quot; data-origin-height=&quot;116&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ndjPk/dJMcaja3vlw/4uRNx6RijzlghNr4G47jek/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ndjPk/dJMcaja3vlw/4uRNx6RijzlghNr4G47jek/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ndjPk/dJMcaja3vlw/4uRNx6RijzlghNr4G47jek/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FndjPk%2FdJMcaja3vlw%2F4uRNx6RijzlghNr4G47jek%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;836&quot; height=&quot;116&quot; data-filename=&quot;스크린샷 2026-05-13 오후 5.09.05.png&quot; data-origin-width=&quot;836&quot; data-origin-height=&quot;116&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;바로 grep을 통해 찾아주면, 다음과 같은 글자가 뜬다. millionth라는 단어가 있는 줄을 찾은 것이고, 그 옆에 비밀번호 값이 있다고 했으니&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;비밀번호는 &lt;span&gt;dfwvzFQi4mU0wfNbFOe9RoWskMLg7eEc가 된다.&lt;/span&gt;&lt;/p&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;h1 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;Level 8 &amp;rarr; Level 9&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;목표: data.txt 파일 안에서 단 한 번만 등장하는 줄을 찾아, 그 값을 다음 레벨의 비밀번호로 사용&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;잘 찾기 위해서 텍스트를 정렬하는 명령어인 sort과 중복 줄 처리 명령어인 uniq가 필요하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;uniq만 쓰는게 아니라 sort도 함께 쓰는 이유는, uniq는 정렬이 필요하기 때문이다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;uniq는 &lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;바로 옆 줄이 같은 경우&lt;/span&gt;만 처리 가능하기 때문에 꼭 정렬을 해주어야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778660193222&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sort data.txt | uniq -u 

#uniq -u는 리눅스에서 한 번만 나온 줄만 출력이라는 의미를 가지고 있고,
#|(pipe)를 통해서 한 명령어 결과를 다음 명령어로 전달하게 된다&lt;/code&gt;&lt;/pre&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;table style=&quot;border-collapse: collapse; width: 100%; height: 65px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;height: 19px;&quot;&gt;sort data.txt&lt;/td&gt;
&lt;td style=&quot;height: 19px;&quot;&gt;파일 내용 정렬&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;height: 17px;&quot;&gt;|&lt;/td&gt;
&lt;td style=&quot;height: 17px;&quot;&gt;명령어 결과를 다음 명령어로 전달&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;height: 19px;&quot;&gt;uniq -u&lt;/td&gt;
&lt;td style=&quot;height: 19px;&quot;&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;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-05-13 오후 5.17.24.png&quot; data-origin-width=&quot;792&quot; data-origin-height=&quot;104&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cQYvlo/dJMcabc5dG6/t9gBBvqhcMJ7rOEUivspGk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cQYvlo/dJMcabc5dG6/t9gBBvqhcMJ7rOEUivspGk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cQYvlo/dJMcabc5dG6/t9gBBvqhcMJ7rOEUivspGk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcQYvlo%2FdJMcabc5dG6%2Ft9gBBvqhcMJ7rOEUivspGk%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;792&quot; height=&quot;104&quot; data-filename=&quot;스크린샷 2026-05-13 오후 5.17.24.png&quot; data-origin-width=&quot;792&quot; data-origin-height=&quot;104&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 data-ke-size=&quot;size16&quot;&gt;비밀번호: &lt;span&gt;4CKMh1JI91bUIZZPXDqGanal4xvAg0JM&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;Level 9 &amp;rarr; Level 10&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;목표: data.txt 파일 안의 사람이 읽을 수 있는 문자열 중, 여러 개의 = 문자 뒤에 있는 값을 찾아 다음 레벨의 비밀번호를 획득&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사람이 읽을 수 있는 문자열만 추출하는 것이 목표이기 때문에, data.txt가 일반 txt 파일이 아니라 이상한 문자들이 섞인 바이너리 데이터가 있을 것이라고 추측 할 수가 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이럴 때는 어떻게 해야할까? 파일 안에서 사람이 읽을 수 있는 문자열만 추출하는 명령어인 strings을 써보면 된다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-05-13 오후 5.22.31.png&quot; data-origin-width=&quot;1718&quot; data-origin-height=&quot;200&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BrF5w/dJMcacXoeAM/IuiIXM67xHCBqX8KkLeHr1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BrF5w/dJMcacXoeAM/IuiIXM67xHCBqX8KkLeHr1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BrF5w/dJMcacXoeAM/IuiIXM67xHCBqX8KkLeHr1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBrF5w%2FdJMcacXoeAM%2FIuiIXM67xHCBqX8KkLeHr1%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;1718&quot; height=&quot;200&quot; data-filename=&quot;스크린샷 2026-05-13 오후 5.22.31.png&quot; data-origin-width=&quot;1718&quot; data-origin-height=&quot;200&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 data-ke-size=&quot;size16&quot;&gt;문제에서는 preceded by several '=' characters이라고 했기 때문에, ===== 같은 문자 뒤에 비밀번호가 있을 확률이 높다. 먼저 사람이 읽을 수 있는 문자열 추출하고, 그 뒤에 = 포함 줄을 찾아보는 것이 좋다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778660686125&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;strings data.txt&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 명령어만 사용해도&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-05-13 오후 5.24.59.png&quot; data-origin-width=&quot;1124&quot; data-origin-height=&quot;354&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bi5LHN/dJMcaiQOBTZ/x5UBYKzSKMO0qa1UROSqik/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bi5LHN/dJMcaiQOBTZ/x5UBYKzSKMO0qa1UROSqik/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bi5LHN/dJMcaiQOBTZ/x5UBYKzSKMO0qa1UROSqik/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbi5LHN%2FdJMcaiQOBTZ%2Fx5UBYKzSKMO0qa1UROSqik%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;1124&quot; height=&quot;354&quot; data-filename=&quot;스크린샷 2026-05-13 오후 5.24.59.png&quot; data-origin-width=&quot;1124&quot; data-origin-height=&quot;354&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778660734986&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;strings data.txt | grep ==&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&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-filename=&quot;스크린샷 2026-05-13 오후 5.26.16.png&quot; data-origin-width=&quot;754&quot; data-origin-height=&quot;200&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cSY6KC/dJMcahxEEH9/o6ZI6K2v1yQhHJFe9noMK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cSY6KC/dJMcahxEEH9/o6ZI6K2v1yQhHJFe9noMK0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cSY6KC/dJMcahxEEH9/o6ZI6K2v1yQhHJFe9noMK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcSY6KC%2FdJMcahxEEH9%2Fo6ZI6K2v1yQhHJFe9noMK0%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;200&quot; data-filename=&quot;스크린샷 2026-05-13 오후 5.26.16.png&quot; data-origin-width=&quot;754&quot; data-origin-height=&quot;200&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 data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;the &lt;/span&gt;&lt;span&gt;password&lt;/span&gt;&lt;span&gt; is &lt;/span&gt;&lt;span&gt;FGUW5ilLVJrxX9kMYMmlN4MgbpfMiqey.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;즉, 비밀번호는 FGUW5ilLVJrxX9kMYMmlN4MgbpfMiqey이다.&lt;/span&gt;&lt;/p&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;h1 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;Level 10 &amp;rarr; Level 11&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;목표: data.txt 파일 안에 Base64로 인코딩된 데이터가 들어 있으며, 이를 디코딩해서 다음 레벨의 비밀번호를 찾기&lt;/p&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;Base64는 암호화가 아니라 인코딩이기 때문에,&amp;nbsp;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;데이터를 사람이 복사하거나 전송하기 쉬운 문자 형태로 바꿔둔 것이라고 생각하면 된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778664528874&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cat data.txt&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cat을 통해 열어보면&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-05-13 오후 6.28.59.png&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;128&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EvqwC/dJMcafzP940/2JlP3FqK9RnKxaMuHH9C7K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EvqwC/dJMcafzP940/2JlP3FqK9RnKxaMuHH9C7K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EvqwC/dJMcafzP940/2JlP3FqK9RnKxaMuHH9C7K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEvqwC%2FdJMcafzP940%2F2JlP3FqK9RnKxaMuHH9C7K%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;128&quot; data-filename=&quot;스크린샷 2026-05-13 오후 6.28.59.png&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;128&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 data-ke-size=&quot;size16&quot;&gt;다음과 같은 문자열이 있는데, 끝에 = 또는 ==가 붙어 있으면 Base64일 가능성이 높아진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778664582669&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;base64 -d data.txt #Base64를 디코딩&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-d 옵션을 통해 디코딩 해주면&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-05-13 오후 6.52.43.png&quot; data-origin-width=&quot;1174&quot; data-origin-height=&quot;230&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rzH1N/dJMcahLbESl/gkr7MrbYBD4FZztmXUqrRK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rzH1N/dJMcahLbESl/gkr7MrbYBD4FZztmXUqrRK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rzH1N/dJMcahLbESl/gkr7MrbYBD4FZztmXUqrRK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrzH1N%2FdJMcahLbESl%2Fgkr7MrbYBD4FZztmXUqrRK%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;1174&quot; height=&quot;230&quot; data-filename=&quot;스크린샷 2026-05-13 오후 6.52.43.png&quot; data-origin-width=&quot;1174&quot; data-origin-height=&quot;230&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 data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;비밀번호 dtR173fZKb0RRsDFSGsg2RWnpNVj3qRr가 된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;Level 11 &amp;rarr; Level 12&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;목표: data.txt 파일 안에 있는 문자는 알파벳이 13칸씩 밀려 있는 상태. 이를 원래대로 되돌려 다음 레벨의 비밀번호를 찾기&lt;/p&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; ROT13에 대해서 알아야한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;160&quot; data-start=&quot;146&quot; data-ke-size=&quot;size16&quot;&gt;ROT13은 &lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;알파벳을 13칸씩 밀어서 바꾸는 방식으로, 한 번 더 ROT13을 적용하면 원래 문자로 돌아온다는 특징이 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;160&quot; data-start=&quot;146&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;160&quot; data-start=&quot;146&quot; data-ke-size=&quot;size16&quot;&gt;lowercase(a-z)와 uppercase(A-Z)가 13 positions rotated라고 적혀있기 때문에, &lt;span&gt;A-Z와&amp;nbsp;&lt;/span&gt;&lt;span&gt;a-z를 둘 다 처리해야하고, 치환을 위해 특정 문자들을 다른 문자들로 바꿔주는 명령어인 tr이 쓰이게 된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;160&quot; data-start=&quot;146&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778666556657&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cat data.txt | tr 'A-Za-z' 'N-ZA-Mn-za-m'&lt;/code&gt;&lt;/pre&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 data-ke-size=&quot;size16&quot;&gt;각각의 의미는 다음과 같다.&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;cat data.txt&lt;/td&gt;
&lt;td&gt;data.txt 내용 출력&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;|&lt;/td&gt;
&lt;td&gt;명령어의 결과를 뒤로 넘김&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;tr&lt;/td&gt;
&lt;td&gt;문자 치환&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;'A-Za-z'&lt;/td&gt;
&lt;td&gt;대문자 A-Z, 소문자 a-z 전체&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;'N-ZA-Mn-za-m'&lt;/td&gt;
&lt;td&gt;13칸 밀린 알파벳 순서&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-05-13 오후 7.03.24.png&quot; data-origin-width=&quot;886&quot; data-origin-height=&quot;104&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IyVR5/dJMcaglbmsx/8mKye4ETiiKekJ254xOXIK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IyVR5/dJMcaglbmsx/8mKye4ETiiKekJ254xOXIK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IyVR5/dJMcaglbmsx/8mKye4ETiiKekJ254xOXIK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIyVR5%2FdJMcaglbmsx%2F8mKye4ETiiKekJ254xOXIK%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;886&quot; height=&quot;104&quot; data-filename=&quot;스크린샷 2026-05-13 오후 7.03.24.png&quot; data-origin-width=&quot;886&quot; data-origin-height=&quot;104&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 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 data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;비밀번호: 7x16WNeHIi5YkIhWsfFIqoognUTyj9Q4&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;12 &amp;rarr; Level 13&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;목표: data.txt 파일은 어떤 파일을 hexdump 형태로 바꿔놓은 것, 그 원본 파일은 여러 번 압축되어 있는데, 이 hexdump를 다시 원래 파일로 복구한 뒤, 압축을 여러 번 풀어서 다음 레벨의 비밀번호를 찾기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;data.txt는 파일 내용을 16진수 형태로 보여주는 hexdump의 형태라고 한다. 실제 압축 파일이 아니라, 압축 파일을 사람이 볼 수 있는 16진수 텍스트로 바꿔둔 상태라는 뜻. hexdump를 원래 바이너리 파일로 되돌리는 것이 중요하다.&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;우선, 명령어를 통해 원래 바이너리 파일로 되돌리고 /tmp 아래에 작업용 디렉토리를 만들어서 거기서 작업하라고 안내하고 있기 때문에&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778666992264&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;mktemp -d&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;명령어를 통해 임시 디렉토리를 만든다. 여기서 임시 디렉토리를 만드는 이유는, 압축을 여러 번 풀게 되면 파일 이름도 바꾸고 새 파일도 생기기 때문에 Bandit 홈 디렉토리에서 마음대로 파일을 만들거나 수정하기 힘들 수도 있어서이다.&lt;/p&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 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-filename=&quot;스크린샷 2026-05-13 오후 7.13.43.png&quot; data-origin-width=&quot;430&quot; data-origin-height=&quot;124&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bosjma/dJMcabEbY2C/0x4pkcAJ0NxtNz8kV2MNn1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bosjma/dJMcabEbY2C/0x4pkcAJ0NxtNz8kV2MNn1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bosjma/dJMcabEbY2C/0x4pkcAJ0NxtNz8kV2MNn1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbosjma%2FdJMcabEbY2C%2F0x4pkcAJ0NxtNz8kV2MNn1%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;430&quot; height=&quot;124&quot; data-filename=&quot;스크린샷 2026-05-13 오후 7.13.43.png&quot; data-origin-width=&quot;430&quot; data-origin-height=&quot;124&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 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;pre id=&quot;code_1778667291045&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cd /tmp/tmp.To4YfkYWCb&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cd를 통해 그곳에 들어가고,&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778667336136&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cp ~/data.txt .

#cp(copy) : cp 원본파일 복사할 위치 형식으로 쓰인다.
#~는 현재 로그인한 bandit12의 홈 디렉토리
#.은 현재 디렉토리&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;명령어를 통해 홈 디렉토리에 있는 data.txt를 현재 작업 폴더로 복사한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ls로 파일이 있는 것을 확인해준 뒤,&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778667522577&quot; class=&quot;bash&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;xxd -r data.txt data

#xxd는 파일을 hex dump 형태로 보여주거나, 반대로 hex dump를 원래 바이너리 파일로 되돌리는 명령어
#-r은 reverse, 되돌리기라는 뜻&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음과 같은 명령어를 통해서 hexdump을 복구한다. 이후 file data를 통해 어떤 압축을 풀어야 하는지 확인을 해보면,&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-filename=&quot;스크린샷 2026-05-13 오후 7.20.21.png&quot; data-origin-width=&quot;1160&quot; data-origin-height=&quot;360&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cdlEBM/dJMcacXokou/QS19XXaaucK3TrKlKsuHc1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cdlEBM/dJMcacXokou/QS19XXaaucK3TrKlKsuHc1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cdlEBM/dJMcacXokou/QS19XXaaucK3TrKlKsuHc1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcdlEBM%2FdJMcacXokou%2FQS19XXaaucK3TrKlKsuHc1%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;360&quot; data-filename=&quot;스크린샷 2026-05-13 오후 7.20.21.png&quot; data-origin-width=&quot;1160&quot; data-origin-height=&quot;360&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 data-ke-size=&quot;size16&quot;&gt;gzip 압축 파일임을 확인할 수 있게 된다. 그 이후&lt;/p&gt;
&lt;pre id=&quot;code_1778667791288&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;mv data data.gz #.gz여야 풀기 편하기 때문에 mv를 통해 이름 변경
gzip -d data.gz #압축 해제
file data #어떤 종류의 파일인지 확인&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;file로 종류 확인하고,&lt;/span&gt;&lt;span&gt; 맞는 압축 해제 명령어 사용 후&amp;nbsp;&lt;/span&gt;&lt;span&gt;다시 file로 확인하는 과정을 반복하면 된다.&lt;/span&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-filename=&quot;스크린샷 2026-05-13 오후 7.32.17.png&quot; data-origin-width=&quot;1138&quot; data-origin-height=&quot;1666&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sW5f1/dJMcacpzWWJ/CXLnp6Tjhck6bc4VRQZdEK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sW5f1/dJMcacpzWWJ/CXLnp6Tjhck6bc4VRQZdEK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sW5f1/dJMcacpzWWJ/CXLnp6Tjhck6bc4VRQZdEK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsW5f1%2FdJMcacpzWWJ%2FCXLnp6Tjhck6bc4VRQZdEK%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;464&quot; height=&quot;679&quot; data-filename=&quot;스크린샷 2026-05-13 오후 7.32.17.png&quot; data-origin-width=&quot;1138&quot; data-origin-height=&quot;1666&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;마지막 text 파일 확인 후 cat을 하면 드디어 비밀번호를 알 수가 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;비밀번호: &lt;/span&gt;&lt;span&gt;FO5dwFsc0cbaIiH0h8J2eUks2vdTDwAn&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;Level 13 &amp;rarr; Level 14&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;목표: 다음 레벨의 비밀번호는 /etc/bandit_pass/bandit14에 저장되어 있지만, 해당 파일은 bandit14 사용자만 읽을 수 있다. 이번 레벨에서는 비밀번호 대신 다음 레벨에 접속할 수 있는 SSH 개인키가 제공. SSH 개인키를 받기.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;비밀번호 대신 SSH key를 이용해서 로그인해야 하기 때문에, 우선 key가 있는 파일을 찾아야한다.&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-filename=&quot;스크린샷 2026-05-13 오후 7.37.39.png&quot; data-origin-width=&quot;382&quot; data-origin-height=&quot;136&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cCYmad/dJMcadPtWNj/d9rHbWTRy5ENzd9DbwTpV0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cCYmad/dJMcadPtWNj/d9rHbWTRy5ENzd9DbwTpV0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cCYmad/dJMcadPtWNj/d9rHbWTRy5ENzd9DbwTpV0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcCYmad%2FdJMcadPtWNj%2Fd9rHbWTRy5ENzd9DbwTpV0%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;382&quot; height=&quot;136&quot; data-filename=&quot;스크린샷 2026-05-13 오후 7.37.39.png&quot; data-origin-width=&quot;382&quot; data-origin-height=&quot;136&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 data-ke-size=&quot;size16&quot;&gt;ls를 통해 파일을 살펴보면 sshkey.private라는 파일을 찾을 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 환경에서 시도해본 결과 Bandit 서버 내부에서 localhost로 다시 접속하는 방식이 차단되어 있었다. 따라서 sshkey.private 파일의 내용을 로컬 Mac 환경에 저장한 뒤, 해당 개인키를 사용하여 외부에서 bandit14 계정으로 접속하는 방식으로 진행하였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778669894023&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cat sshkey.private&lt;/code&gt;&lt;/pre&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-filename=&quot;스크린샷 2026-05-13 오후 7.58.34.png&quot; data-origin-width=&quot;1042&quot; data-origin-height=&quot;674&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cOgtc4/dJMcadIGopA/TAZr3tBjAM2X6AkJ1OjqXK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cOgtc4/dJMcadIGopA/TAZr3tBjAM2X6AkJ1OjqXK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cOgtc4/dJMcadIGopA/TAZr3tBjAM2X6AkJ1OjqXK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcOgtc4%2FdJMcadIGopA%2FTAZr3tBjAM2X6AkJ1OjqXK%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;1042&quot; height=&quot;674&quot; data-filename=&quot;스크린샷 2026-05-13 오후 7.58.34.png&quot; data-origin-width=&quot;1042&quot; data-origin-height=&quot;674&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 data-ke-size=&quot;size16&quot;&gt;보이는 key값을 복사해둔 뒤에 exit한 후, mac에서 키 파일을 만든다.&lt;/p&gt;
&lt;pre id=&quot;code_1778670024904&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;nano ~/bandit14.key #nano는 터미널에서 쓰는 간단한 텍스트 편집기이다.&lt;/code&gt;&lt;/pre&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;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;nano&lt;/td&gt;
&lt;td&gt;터미널에서 쓰는 간단한 텍스트 편집기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;~&lt;/td&gt;
&lt;td&gt;내 홈 디렉토리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;/&lt;/td&gt;
&lt;td&gt;경로 구분자&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;bandit14.key&lt;/td&gt;
&lt;td&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;p data-ke-size=&quot;size16&quot;&gt;홈 디렉토리에 있는 bandit14.key 파일을 nano로 열고, 파일이 없으면 새로 만들어주는 명령어가 된다.&lt;/p&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-filename=&quot;스크린샷 2026-05-13 오후 8.04.55.png&quot; data-origin-width=&quot;932&quot; data-origin-height=&quot;164&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FG28K/dJMcadaR6DA/AwDL6KnX7v2BM9KDpkMJR1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FG28K/dJMcadaR6DA/AwDL6KnX7v2BM9KDpkMJR1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FG28K/dJMcadaR6DA/AwDL6KnX7v2BM9KDpkMJR1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFG28K%2FdJMcadaR6DA%2FAwDL6KnX7v2BM9KDpkMJR1%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;609&quot; height=&quot;107&quot; data-filename=&quot;스크린샷 2026-05-13 오후 8.04.55.png&quot; data-origin-width=&quot;932&quot; data-origin-height=&quot;164&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 data-ke-size=&quot;size16&quot;&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-filename=&quot;스크린샷 2026-05-13 오후 8.05.17.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;722&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4Zr5B/dJMcahj9gWb/Bg0TKEKjZZ1ILm1JMaxqs1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4Zr5B/dJMcahj9gWb/Bg0TKEKjZZ1ILm1JMaxqs1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4Zr5B/dJMcahj9gWb/Bg0TKEKjZZ1ILm1JMaxqs1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4Zr5B%2FdJMcahj9gWb%2FBg0TKEKjZZ1ILm1JMaxqs1%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;355&quot; data-filename=&quot;스크린샷 2026-05-13 오후 8.05.17.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;722&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 data-ke-size=&quot;size16&quot;&gt;SSH 개인키 파일은 인증 정보이기 때문에 권한이 과도하게 열려 있으면 SSH에서 사용을 거부할 수 있다. chmod 600 ~/bandit14.key 명령어를 사용해서 개인키 파일의 권한을 소유자만 읽고 쓸 수 있는 상태로 제한해주었다.&lt;/p&gt;
&lt;pre id=&quot;code_1778670451550&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;chmod 600 ~/bandit14.key 
#chmod는 파일 권한을 변경하는 명령어
#600 소유자만 읽기/쓰기 가능, 다른 사용자는 접근 불가

ssh -i ~/bandit14.key -p 2220 bandit14@bandit.labs.overthewire.org&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음과 같이 개인키 파일을 이용해 접속을 시도하면&lt;/p&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 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-filename=&quot;스크린샷 2026-05-13 오후 8.10.21.png&quot; data-origin-width=&quot;1138&quot; data-origin-height=&quot;668&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CMMAx/dJMcaiDi30z/XN1uSS37d0I3cfKhpkQUJ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CMMAx/dJMcaiDi30z/XN1uSS37d0I3cfKhpkQUJ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CMMAx/dJMcaiDi30z/XN1uSS37d0I3cfKhpkQUJ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCMMAx%2FdJMcaiDi30z%2FXN1uSS37d0I3cfKhpkQUJ1%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;593&quot; height=&quot;348&quot; data-filename=&quot;스크린샷 2026-05-13 오후 8.10.21.png&quot; data-origin-width=&quot;1138&quot; data-origin-height=&quot;668&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;다음과&amp;nbsp;같이&amp;nbsp;비밀번호&amp;nbsp;입력&amp;nbsp;없이 드디어 bandit14&amp;nbsp;계정으로&amp;nbsp;접속할&amp;nbsp;수&amp;nbsp;있다.&lt;/p&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;h1 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Level 14 &amp;rarr; Level 15&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;목표: 현재 레벨의 비밀번호를 localhost의 30000번 포트로 제출해 다음 레벨의 비밀번호를 획득.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선 현재 레벨의 비밀번호에 대해 알아보았다.&lt;/p&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;레벨의&amp;nbsp;설명에서&amp;nbsp;bandit14의&amp;nbsp;비밀번호가&amp;nbsp;`/etc/bandit_pass/bandit14`에&amp;nbsp;저장되어&amp;nbsp;있으며,&amp;nbsp;bandit14&amp;nbsp;사용자만&amp;nbsp;읽을&amp;nbsp;수&amp;nbsp;있다고&amp;nbsp;안내되어&amp;nbsp;있었다.&amp;nbsp;SSH&amp;nbsp;개인키를&amp;nbsp;이용해&amp;nbsp;bandit14&amp;nbsp;계정으로&amp;nbsp;접속한&amp;nbsp;뒤에는&amp;nbsp;해당&amp;nbsp;파일을&amp;nbsp;읽을&amp;nbsp;권한이&amp;nbsp;생기므로,&amp;nbsp;먼저&amp;nbsp;현재&amp;nbsp;레벨의&amp;nbsp;비밀번호를&amp;nbsp;확인하였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778671144071&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cat /etc/bandit_pass/bandit14&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-05-13 오후 8.19.13.png&quot; data-origin-width=&quot;766&quot; data-origin-height=&quot;62&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bSDtuk/dJMcaiJ2uKC/RPsdwdSkDQKEwIOnWaIra1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bSDtuk/dJMcaiJ2uKC/RPsdwdSkDQKEwIOnWaIra1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bSDtuk/dJMcaiJ2uKC/RPsdwdSkDQKEwIOnWaIra1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbSDtuk%2FdJMcaiJ2uKC%2FRPsdwdSkDQKEwIOnWaIra1%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;766&quot; height=&quot;62&quot; data-filename=&quot;스크린샷 2026-05-13 오후 8.19.13.png&quot; data-origin-width=&quot;766&quot; data-origin-height=&quot;62&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 data-ke-size=&quot;size16&quot;&gt;이번 문제를 풀기 위해선 특정 호스트와 포트에 연결해서 데이터를 주고받는 도구인 nc(netcat)에 대해서 알아야 했는데, localhost의 30000번 포트에 현재 레벨의 비밀번호를 보내야 하므로, 다음과 같이 명령어를 입력하였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778671317109&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;nc localhost 30000

#localhost = 현재 접속 중인 Bandit 서버 자기 자신
#30000 = 비밀번호를 제출해야 하는 포트 번호&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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-filename=&quot;스크린샷 2026-05-13 오후 8.23.59.png&quot; data-origin-width=&quot;998&quot; data-origin-height=&quot;266&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bosnyR/dJMcabRGckp/pbTaQa1GD0tN1kB27QkIA0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bosnyR/dJMcabRGckp/pbTaQa1GD0tN1kB27QkIA0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bosnyR/dJMcabRGckp/pbTaQa1GD0tN1kB27QkIA0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbosnyR%2FdJMcabRGckp%2FpbTaQa1GD0tN1kB27QkIA0%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;998&quot; height=&quot;266&quot; data-filename=&quot;스크린샷 2026-05-13 오후 8.23.59.png&quot; data-origin-width=&quot;998&quot; data-origin-height=&quot;266&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 data-ke-size=&quot;size16&quot;&gt;비밀번호: &lt;span&gt;8xCjnmgoKbGLhHFAZlGE5Tmu4M2tKJQo&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Level 15 &amp;rarr; Level 16&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;목표: 현재 레벨의 비밀번호를 localhost의 30001번 포트로 제출하되, SSL/TLS 암호화 연결을 사용하여 다음 레벨의 비밀번호를 획득&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 비밀번호는 8xCjnmgoKbGLhHFAZlGE5Tmu4M2tKJQo로 이미 앞선 단계에서 얻어놨다.&amp;nbsp;&lt;/p&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;nc 대신 SSL/TLS가 적용된 서버에 접속해서 데이터를 주고받을 수 있게 해주는 명령어인 openssl s_client를 이용해야 하는데,&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778671821957&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;openssl s_client -connect localhost:30001&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음과 같은 명령어로 이용할 수가 있다.&lt;/p&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;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;openssl&lt;/td&gt;
&lt;td&gt;SSL/TLS 관련 기능을 제공하는 명령어&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;s_client&lt;/td&gt;
&lt;td&gt;SSL/TLS 서버에 클라이언트처럼 접속하는 기능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;-connect&lt;/td&gt;
&lt;td&gt;접속할 대상 서버와 포트를 지정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;localhost:30001&lt;/td&gt;
&lt;td&gt;현재 서버의 30001번 포트에 접속&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;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-filename=&quot;스크린샷 2026-05-13 오후 8.32.05.png&quot; data-origin-width=&quot;1012&quot; data-origin-height=&quot;634&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bXpPG8/dJMcadWhhpe/GGzs3Lqb7FVNF9y9WaLRnk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bXpPG8/dJMcadWhhpe/GGzs3Lqb7FVNF9y9WaLRnk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bXpPG8/dJMcadWhhpe/GGzs3Lqb7FVNF9y9WaLRnk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbXpPG8%2FdJMcadWhhpe%2FGGzs3Lqb7FVNF9y9WaLRnk%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;634&quot; data-filename=&quot;스크린샷 2026-05-13 오후 8.32.05.png&quot; data-origin-width=&quot;1012&quot; data-origin-height=&quot;634&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 data-ke-size=&quot;size16&quot;&gt;비밀번호: &lt;span&gt;kSkvUpMQ7lBYyCM4GBPvCvT1BfWRy0Dx&lt;/span&gt;&lt;/p&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;h1 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;Level 16 &amp;rarr; Level 17&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;목표: 현재 레벨의 비밀번호를 localhost의 31000~32000 범위 안에 있는 포트 중 하나에 제출하여, 다음 레벨 접속 정보를 획득&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 문제는 적혀있는 그대로, 31000~32000 포트 중 실제로 서버가 열려 있는 포트를 찾고,&amp;nbsp;그중 SSL/TLS 통신을 사용하는 포트를 찾은 후, 현재 비밀번호를 보냈을 때 다음 인증 정보를 돌려주는 포트를 찾아야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;포트 범위를 알아내는 과정에서 nmap이라는 스캔 도구가 이용이 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;nmap은 특정 서버에서 어떤 포트가 열려 있는지 확인하는 포트 스캔 도구이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778672195946&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;nmap -sV -p 31000-32000 localhost
#-sV: 열린 포트에서 동작하는 서비스의 종류/버전을 확인하는 옵션&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이러한 구조로 이뤄지는데, 명령어를 해석하면 다음과 같다.&lt;/p&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;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;nmap&lt;/td&gt;
&lt;td&gt;포트 스캔 도구&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;-sV&lt;/td&gt;
&lt;td&gt;열린 포트의 서비스 정보를 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;-p 31000-32000&lt;/td&gt;
&lt;td&gt;31000번부터 32000번까지 검사&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;localhost&lt;/td&gt;
&lt;td&gt;현재 접속 중인 Bandit 서버 자기 자신&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;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-filename=&quot;스크린샷 2026-05-13 오후 8.53.47.png&quot; data-origin-width=&quot;1134&quot; data-origin-height=&quot;386&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IinTR/dJMcaakX9TC/2YKlwfIU2gqIzTAeAipsak/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IinTR/dJMcaakX9TC/2YKlwfIU2gqIzTAeAipsak/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IinTR/dJMcaakX9TC/2YKlwfIU2gqIzTAeAipsak/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIinTR%2FdJMcaakX9TC%2F2YKlwfIU2gqIzTAeAipsak%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;1134&quot; height=&quot;386&quot; data-filename=&quot;스크린샷 2026-05-13 오후 8.53.47.png&quot; data-origin-width=&quot;1134&quot; data-origin-height=&quot;386&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 data-ke-size=&quot;size16&quot;&gt;여기서 echo는 보낸 값을 그대로 다시 돌려주는 서비스이기 때문에, 문제에서 나머지는 보낸 값을 그대로 돌려준다고 했으니, echo들은 정답이 아니다. 31518은 ssl/echo라서 SSL은 쓰지만, 결국 echo 서비스라 정답이 아닐 가능성이 크고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;남은 것은 31790/tcp open&amp;nbsp;&amp;nbsp;ssl/unknown이 된다. &lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;SSL/TLS를 사용하지만 echo 서비스는 아닌 포트가 하나 뿐이기 때문.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778673389002&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;openssl s_client -quiet -connect localhost:31790

#-quiet: 연결 과정에서 나오는 불필요한 출력이나 일부 안내 메시지를 줄이는 옵션
#-connect: 접속할 대상 서버와 포트를 지정하는 옵션&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음으로, 앞선 문제에서 배웠던 &lt;span&gt;openssl&lt;/span&gt;&lt;span&gt; s_client를 이용하여 서버에 접속하면 입력 대기가 뜨게 되고, 그곳에 현재 비밀번호를 입력한다.&amp;nbsp;&lt;/span&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-filename=&quot;스크린샷 2026-05-13 오후 8.58.47.png&quot; data-origin-width=&quot;1014&quot; data-origin-height=&quot;680&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dqHHdx/dJMcagyIcvW/NDHCKgQ9AUuqusKLugaw9K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dqHHdx/dJMcagyIcvW/NDHCKgQ9AUuqusKLugaw9K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dqHHdx/dJMcagyIcvW/NDHCKgQ9AUuqusKLugaw9K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdqHHdx%2FdJMcagyIcvW%2FNDHCKgQ9AUuqusKLugaw9K%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;680&quot; data-filename=&quot;스크린샷 2026-05-13 오후 8.58.47.png&quot; data-origin-width=&quot;1014&quot; data-origin-height=&quot;680&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 data-ke-size=&quot;size16&quot;&gt;Level 13 -&amp;gt; 14 때처럼 SSH 개인키가 나오기 때문에, 이전과 똑같은 방식으로 풀이를 진행.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778673829515&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;exit
nano ~/bandit17.key #키 파일 생성
chmod 600 ~/bandit17.key
ssh -i ~/bandit17.key -p 2220 bandit17@bandit.labs.overthewire.org&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-filename=&quot;스크린샷 2026-05-13 오후 9.04.08.png&quot; data-origin-width=&quot;1146&quot; data-origin-height=&quot;622&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cmyKQn/dJMcadWhift/EA2Sav77xide4k8jbA0mX1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cmyKQn/dJMcadWhift/EA2Sav77xide4k8jbA0mX1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cmyKQn/dJMcadWhift/EA2Sav77xide4k8jbA0mX1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcmyKQn%2FdJMcadWhift%2FEA2Sav77xide4k8jbA0mX1%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;549&quot; height=&quot;298&quot; data-filename=&quot;스크린샷 2026-05-13 오후 9.04.08.png&quot; data-origin-width=&quot;1146&quot; data-origin-height=&quot;622&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 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;h1 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;Level 17 &amp;rarr; Level 18&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;목표: 홈 디렉토리에 passwords.old와 passwords.new 두 파일이 있고, 두 파일 사이에서 변경된 유일한 줄이 다음 레벨의 비밀번호. 두 파일의 차이 비교.&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-filename=&quot;스크린샷 2026-05-13 오후 9.05.55.png&quot; data-origin-width=&quot;524&quot; data-origin-height=&quot;70&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VWdVx/dJMcai4j7Ej/KR4ZHGNbUKYbuS8V4QE4fk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VWdVx/dJMcai4j7Ej/KR4ZHGNbUKYbuS8V4QE4fk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VWdVx/dJMcai4j7Ej/KR4ZHGNbUKYbuS8V4QE4fk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVWdVx%2FdJMcai4j7Ej%2FKR4ZHGNbUKYbuS8V4QE4fk%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;524&quot; height=&quot;70&quot; data-filename=&quot;스크린샷 2026-05-13 오후 9.05.55.png&quot; data-origin-width=&quot;524&quot; data-origin-height=&quot;70&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ls를 통해 파일을 확인하면 두개의 파일이 보인다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때, diff라는 두 파일의 차이점을 비교해서 보여주는 명령어를 사용하면 되는데&lt;/p&gt;
&lt;pre id=&quot;code_1778674007780&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;diff passwords.old passwords.new&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음과 같이 사용하면 된다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;diff&lt;/td&gt;
&lt;td&gt;두 파일의 차이점을 비교하는 명령어&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;passwords.old&lt;/td&gt;
&lt;td&gt;비교 기준이 되는 이전 파일&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;passwords.new&lt;/td&gt;
&lt;td&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;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-05-13 오후 9.07.37.png&quot; data-origin-width=&quot;766&quot; data-origin-height=&quot;194&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cgeUJV/dJMb990IjLD/bA2FY7b57fKcnT73dWUTZK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cgeUJV/dJMb990IjLD/bA2FY7b57fKcnT73dWUTZK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cgeUJV/dJMb990IjLD/bA2FY7b57fKcnT73dWUTZK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcgeUJV%2FdJMb990IjLD%2FbA2FY7b57fKcnT73dWUTZK%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;766&quot; height=&quot;194&quot; data-filename=&quot;스크린샷 2026-05-13 오후 9.07.37.png&quot; data-origin-width=&quot;766&quot; data-origin-height=&quot;194&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 data-ke-size=&quot;size16&quot;&gt;&amp;gt; 줄이 passwords.new의 변경된 줄을 의미하기 때문에, 비밀번호는 &lt;span&gt;x2gLTTjFwMOhQ8oWNbMN362QKxfRqGlO이 된다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;Level 18 &amp;rarr; Level 19&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;목표: 다음 레벨의 비밀번호는 홈 디렉토리의 readme 파일에 저장되어 있다. 하지만 .bashrc 파일이 수정되어 있어서 SSH로 로그인하면 바로 로그아웃되는 것을 우회해야 한다.&lt;/p&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-filename=&quot;스크린샷 2026-05-13 오후 9.28.05.png&quot; data-origin-width=&quot;1044&quot; data-origin-height=&quot;350&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ybyu6/dJMcacpzZ0M/xi1iT5OkePTQEZ3DovnFo0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ybyu6/dJMcacpzZ0M/xi1iT5OkePTQEZ3DovnFo0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ybyu6/dJMcacpzZ0M/xi1iT5OkePTQEZ3DovnFo0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fybyu6%2FdJMcacpzZ0M%2Fxi1iT5OkePTQEZ3DovnFo0%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;1044&quot; height=&quot;350&quot; data-filename=&quot;스크린샷 2026-05-13 오후 9.28.05.png&quot; data-origin-width=&quot;1044&quot; data-origin-height=&quot;350&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 data-ke-size=&quot;size16&quot;&gt;비밀번호를 치자마자 나가지는 것이 보인다. 정상 로그인해서 명령어를 입력하는 방식이 막혀 있으니, SSH 접속과 동시에 명령어를 실행하는 방법을 사용해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SSH는 단순히 로그인만 하는 게 아니라, 접속하면서 원격 명령어를 바로 실행할 수가 있고, 문제에서 비밀번호가 readme 파일에 있다고 했으니까, 접속하면서 바로 cat readme를 실행하면 된다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778675454976&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ssh -p 2220 bandit18@bandit.labs.overthewire.org cat readme&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실행해보면 다음과 같이 password가 뜨는 것을 볼 수가 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-05-13 오후 9.31.29.png&quot; data-origin-width=&quot;1122&quot; data-origin-height=&quot;504&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dZbBH1/dJMcafs2YzS/U23XWIK3Ur8GaPoHrU1L8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dZbBH1/dJMcafs2YzS/U23XWIK3Ur8GaPoHrU1L8k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dZbBH1/dJMcafs2YzS/U23XWIK3Ur8GaPoHrU1L8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdZbBH1%2FdJMcafs2YzS%2FU23XWIK3Ur8GaPoHrU1L8k%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;1122&quot; height=&quot;504&quot; data-filename=&quot;스크린샷 2026-05-13 오후 9.31.29.png&quot; data-origin-width=&quot;1122&quot; data-origin-height=&quot;504&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 data-ke-size=&quot;size16&quot;&gt;비밀번호: &lt;span&gt;cGWpMaKXVwDUNgPAVJbWYuGHVn9zl3j8&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;Level 19 &amp;rarr; Level 20&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음 레벨에 접근하기 위해 홈 디렉토리에 있는 setuid binary를 사용해야 한다.&lt;br /&gt;이 파일을 인자 없이 실행하면 사용 방법을 알 수 있고, setuid binary를 사용한 뒤 /etc/bandit_pass에서 이번 레벨의 비밀번호를 확인할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778675700008&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ls -l&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선 ls-l 를 사용해 파일을 자세히 봐본다.&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-filename=&quot;스크린샷 2026-05-13 오후 9.35.17.png&quot; data-origin-width=&quot;958&quot; data-origin-height=&quot;136&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bF4V4s/dJMcadIGqNG/UKOCisCKcVwrlvesjbWmLk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bF4V4s/dJMcadIGqNG/UKOCisCKcVwrlvesjbWmLk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bF4V4s/dJMcadIGqNG/UKOCisCKcVwrlvesjbWmLk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbF4V4s%2FdJMcadIGqNG%2FUKOCisCKcVwrlvesjbWmLk%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;958&quot; height=&quot;136&quot; data-filename=&quot;스크린샷 2026-05-13 오후 9.35.17.png&quot; data-origin-width=&quot;958&quot; data-origin-height=&quot;136&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 data-ke-size=&quot;size16&quot;&gt;bandit20-do 실행 파일이 보이는데, 문제에서 인자 없이 실행해보라고 했으니&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778675774152&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;./bandit20-do&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선 실행을 해본다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-05-13 오후 9.36.21.png&quot; data-origin-width=&quot;952&quot; data-origin-height=&quot;204&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bAPzUo/dJMcahdltjk/kD6cwe9KfWgq5HzS20esl0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bAPzUo/dJMcahdltjk/kD6cwe9KfWgq5HzS20esl0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bAPzUo/dJMcahdltjk/kD6cwe9KfWgq5HzS20esl0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbAPzUo%2FdJMcahdltjk%2FkD6cwe9KfWgq5HzS20esl0%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;952&quot; height=&quot;204&quot; data-filename=&quot;스크린샷 2026-05-13 오후 9.36.21.png&quot; data-origin-width=&quot;952&quot; data-origin-height=&quot;204&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 data-ke-size=&quot;size16&quot;&gt;Example: ./bandit20-do id라며 사용법이 출력되게 되는데, 이 사용법을 토대로 실행할 명령어를 붙이면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778675872536&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;./bandit20-do cat /etc/bandit_pass/bandit20&lt;/code&gt;&lt;/pre&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;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;setuid&lt;/td&gt;
&lt;td&gt;실행 파일을 파일 소유자의 권한으로 실행하게 하는 권한&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ls -l&lt;/td&gt;
&lt;td&gt;파일 권한과 소유자 정보를 자세히 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;./파일명&lt;/td&gt;
&lt;td&gt;현재 디렉토리의 실행 파일 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;/etc/bandit_pass/bandit20&lt;/td&gt;
&lt;td&gt;bandit20 비밀번호 파일 위치&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;p data-ke-size=&quot;size16&quot;&gt;setuid가 걸린 실행 파일을 이용해 bandit20 권한으로 명령을 실행하고, 다음 레벨 비밀번호 파일을 읽게 되는 것이다.&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-filename=&quot;스크린샷 2026-05-13 오후 9.39.44.png&quot; data-origin-width=&quot;918&quot; data-origin-height=&quot;96&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btj28A/dJMcagZLP4a/mNREukKYlJjcc2YA6Kpu3k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btj28A/dJMcagZLP4a/mNREukKYlJjcc2YA6Kpu3k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btj28A/dJMcagZLP4a/mNREukKYlJjcc2YA6Kpu3k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbtj28A%2FdJMcagZLP4a%2FmNREukKYlJjcc2YA6Kpu3k%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;918&quot; height=&quot;96&quot; data-filename=&quot;스크린샷 2026-05-13 오후 9.39.44.png&quot; data-origin-width=&quot;918&quot; data-origin-height=&quot;96&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;비밀번호는 &lt;span&gt;0qXahG8ZjOVMN9Ghs7iOWsCfZyXOUbYO이 된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;Level 20 &amp;rarr; Level 21&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;목표: 홈 디렉토리에 있는 setuid binary는 사용자가 지정한 포트로 localhost에 연결한 뒤, 연결된 곳에서 한 줄의 텍스트를 읽고, 그것이 현재 레벨인 bandit20의 비밀번호와 일치하면 다음 레벨인 bandit21의 비밀번호를 전송.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문제를 요약해보면 먼저 서버 역할을 하는 포트를 열어두고, setuid binary가 그 포트로 접속하게 만들면 되는 것인데, 이전 문제들은 어떤 서버에 접속해서 비밀번호를 보내는 방식이었지만, 이번 문제는 반대로 네트워크 연결을 기다리는 쪽과 접속하는 쪽을 직접 구성해야한다.&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-filename=&quot;스크린샷 2026-05-13 오후 9.43.37.png&quot; data-origin-width=&quot;910&quot; data-origin-height=&quot;132&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ImBGZ/dJMb990Ikyu/2VnfECkufDyG0uK22MPmJ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ImBGZ/dJMb990Ikyu/2VnfECkufDyG0uK22MPmJ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ImBGZ/dJMb990Ikyu/2VnfECkufDyG0uK22MPmJ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FImBGZ%2FdJMb990Ikyu%2F2VnfECkufDyG0uK22MPmJ1%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;910&quot; height=&quot;132&quot; data-filename=&quot;스크린샷 2026-05-13 오후 9.43.37.png&quot; data-origin-width=&quot;910&quot; data-origin-height=&quot;132&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 data-ke-size=&quot;size16&quot;&gt;우선 ls -l을 이용해서 파일을 보고 이번에는 nc를 서버처럼 사용하도록 명령어를 구성해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778676290846&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;echo &quot;0qXahG8ZjOVMN9Ghs7iOWsCfZyXOUbYO&quot; | nc -l -p 12345 &amp;amp;

#nc -l -p 12345는 해당 포트에서 연결을 기다리는 서버처럼 동작하게 됨&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음과 같은 명령어가 되는데, 각 부분의 의미는 다음과 같다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;echo &quot;비밀번호&quot;&lt;/td&gt;
&lt;td&gt;현재 비밀번호를 출력&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;nc -l -p 12345&lt;/td&gt;
&lt;td&gt;12345번 포트에서 연결을 기다림&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&amp;amp;&lt;/td&gt;
&lt;td&gt;이 명령어를 백그라운드에서 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실행한 후 바로 ./suconnect 12345를 통해 실행을 해주면, suconnect가 localhost:12345로 접속해서 nc가 보내는 비밀번호를 읽고, 맞으면 bandit21 비밀번호를 출력하게 된다.&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-filename=&quot;스크린샷 2026-05-13 오후 9.49.02.png&quot; data-origin-width=&quot;1130&quot; data-origin-height=&quot;288&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cW7E3c/dJMcafmjpzk/7KDXRajyycabWbElQZifwK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cW7E3c/dJMcafmjpzk/7KDXRajyycabWbElQZifwK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cW7E3c/dJMcafmjpzk/7KDXRajyycabWbElQZifwK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcW7E3c%2FdJMcafmjpzk%2F7KDXRajyycabWbElQZifwK%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;1130&quot; height=&quot;288&quot; data-filename=&quot;스크린샷 2026-05-13 오후 9.49.02.png&quot; data-origin-width=&quot;1130&quot; data-origin-height=&quot;288&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 data-ke-size=&quot;size16&quot;&gt;비밀번호: &lt;span&gt;EeoULMCra2q0dSkYj561DX7s1CpBuOBt&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Level 21 &amp;rarr; Level 22&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;목표: cron이라는 시간 기반 작업 스케줄러에 의해 어떤 프로그램이 주기적으로 자동 실행되고 있다. /etc/cron.d/ 디렉토리에서 설정 파일을 확인하고, 어떤 명령어가 실행되는지 알아내기.&lt;/p&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;pre id=&quot;code_1778676730940&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ls /etc/cron.d/&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&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-filename=&quot;스크린샷 2026-05-13 오후 9.52.39.png&quot; data-origin-width=&quot;980&quot; data-origin-height=&quot;152&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3UPr6/dJMcaichCxI/DSdDBwP5huPn48IIXulFq0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3UPr6/dJMcaichCxI/DSdDBwP5huPn48IIXulFq0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3UPr6/dJMcaichCxI/DSdDBwP5huPn48IIXulFq0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3UPr6%2FdJMcaichCxI%2FDSdDBwP5huPn48IIXulFq0%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;980&quot; height=&quot;152&quot; data-filename=&quot;스크린샷 2026-05-13 오후 9.52.39.png&quot; data-origin-width=&quot;980&quot; data-origin-height=&quot;152&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 data-ke-size=&quot;size16&quot;&gt;bandit22와 관련된 cron 설정 파일을 찾아야 하는데, 파일을 살펴보면 cronjob_bandit22이라는 파일이 보인다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778676836617&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cat /etc/cron.d/cronjob_bandit22&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&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-filename=&quot;스크린샷 2026-05-13 오후 9.54.15.png&quot; data-origin-width=&quot;916&quot; data-origin-height=&quot;118&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lVMkl/dJMcaiQOLZ5/RSpTKgqYriAHQoxrEeR3A1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lVMkl/dJMcaiQOLZ5/RSpTKgqYriAHQoxrEeR3A1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lVMkl/dJMcaiQOLZ5/RSpTKgqYriAHQoxrEeR3A1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlVMkl%2FdJMcaiQOLZ5%2FRSpTKgqYriAHQoxrEeR3A1%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;916&quot; height=&quot;118&quot; data-filename=&quot;스크린샷 2026-05-13 오후 9.54.15.png&quot; data-origin-width=&quot;916&quot; data-origin-height=&quot;118&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 data-ke-size=&quot;size16&quot;&gt;설정 파일을 볼 수 있는데, 여기서 * * * * *는 실행 주기를 의미하고, bandit22&amp;nbsp;/usr/bin/cronjob_bandit22.sh는 bandit22 사용자 권한으로 /usr/bin/cronjob_bandit22.sh 스크립트를 실행한다는 뜻이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스크립트 경로를 찾았기 때문에, cat을 통해 한번 더 읽어서 확인을 해본다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-05-13 오후 9.56.50.png&quot; data-origin-width=&quot;1036&quot; data-origin-height=&quot;132&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/csVITJ/dJMcag6zrnl/pOGehsXeBmGeODyG0NhabK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/csVITJ/dJMcag6zrnl/pOGehsXeBmGeODyG0NhabK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/csVITJ/dJMcag6zrnl/pOGehsXeBmGeODyG0NhabK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcsVITJ%2FdJMcag6zrnl%2FpOGehsXeBmGeODyG0NhabK%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;1036&quot; height=&quot;132&quot; data-filename=&quot;스크린샷 2026-05-13 오후 9.56.50.png&quot; data-origin-width=&quot;1036&quot; data-origin-height=&quot;132&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 data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;cat /etc/bandit_pass/bandit22 &amp;gt; /tmp/t7O6lds9S0RqQh9aMcz6ShpAoZKF7fgv은&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt; bandit22 비밀번호를 읽어서 /tmp/&lt;/span&gt;&lt;span&gt;t7O6lds9S0RqQh9aMcz6ShpAoZKF7fgv&lt;/span&gt;&lt;span&gt;에 저장한다는 뜻이기 때문에&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778677102537&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cat /tmp/t7O6lds9S0RqQh9aMcz6ShpAoZKF7fgv&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cat을 통해 파일을 확인 해주면&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-filename=&quot;스크린샷 2026-05-13 오후 9.58.51.png&quot; data-origin-width=&quot;1034&quot; data-origin-height=&quot;144&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/v5Q4Z/dJMcaffzemP/pKelES3Hq4FE3mjpbnC75K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/v5Q4Z/dJMcaffzemP/pKelES3Hq4FE3mjpbnC75K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/v5Q4Z/dJMcaffzemP/pKelES3Hq4FE3mjpbnC75K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fv5Q4Z%2FdJMcaffzemP%2FpKelES3Hq4FE3mjpbnC75K%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;144&quot; data-filename=&quot;스크린샷 2026-05-13 오후 9.58.51.png&quot; data-origin-width=&quot;1034&quot; data-origin-height=&quot;144&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 data-ke-size=&quot;size16&quot;&gt;다음과 같이 비밀번호 &lt;span&gt;tRae0UfB9v0UzbCdn9cY0gQnds9GF58Q&lt;/span&gt;&lt;span&gt;가 나온다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Level 22 &amp;rarr; Level 23&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;목표: 이번에도 cron에 의해 어떤 프로그램이 주기적으로 자동 실행되고 있다. /etc/cron.d/ 디렉토리에서 설정 파일을 확인하고, 실제로 어떤 명령어가 실행되는지 분석.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번에는 한 단계 더 나아가서, 단순히 스크립트를 따라가는 것뿐만 아니라 스크립트가 어떤 파일 이름을 만들고, 어디에 비밀번호를 저장하는지 이해해야 하는 문제이다. 문제에서 다른 사람이 작성한 shell script를 읽는 것은 매우 유용한 능력이라고 하고 있기 때문에, 이번 문제의 핵심은 &lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;쉘 스크립트를 읽고 동작을 해석하기가 된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778677404926&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ls /etc/cron.d/&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ls를 통해서 bandit23과 관련된 파일을 찾고&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-filename=&quot;스크린샷 2026-05-13 오후 10.03.49.png&quot; data-origin-width=&quot;914&quot; data-origin-height=&quot;168&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YXory/dJMcaf0RJzo/e6bX6favoV6btf3yIinQI0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YXory/dJMcaf0RJzo/e6bX6favoV6btf3yIinQI0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YXory/dJMcaf0RJzo/e6bX6favoV6btf3yIinQI0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYXory%2FdJMcaf0RJzo%2Fe6bX6favoV6btf3yIinQI0%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;914&quot; height=&quot;168&quot; data-filename=&quot;스크린샷 2026-05-13 오후 10.03.49.png&quot; data-origin-width=&quot;914&quot; data-origin-height=&quot;168&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cronjob_bandit23파일을 확인 후&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778677462378&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cat /etc/cron.d/cronjob_bandit23&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이전 문제처럼 cat을 통해 실제로 실행되는 스크립트 경로를 확인한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-05-13 오후 10.04.43.png&quot; data-origin-width=&quot;916&quot; data-origin-height=&quot;114&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/R1E57/dJMcafT873m/kkBoRUjTtj2kXTWF3XBCn1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/R1E57/dJMcafT873m/kkBoRUjTtj2kXTWF3XBCn1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/R1E57/dJMcafT873m/kkBoRUjTtj2kXTWF3XBCn1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FR1E57%2FdJMcafT873m%2FkkBoRUjTtj2kXTWF3XBCn1%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;916&quot; height=&quot;114&quot; data-filename=&quot;스크린샷 2026-05-13 오후 10.04.43.png&quot; data-origin-width=&quot;916&quot; data-origin-height=&quot;114&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 data-ke-size=&quot;size16&quot;&gt;이전 문제에서 말했듯&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;* * * * *는 실행 주기를 의미하기 때문에,&amp;nbsp;&lt;/span&gt;매분 bandit23 사용자 권한으로 /usr/bin/cronjob_bandit23.sh를 실행한다는 뜻이 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778677539163&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cat /usr/bin/cronjob_bandit23.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스크립트 내용을 확인해보면&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-05-13 오후 10.05.58.png&quot; data-origin-width=&quot;1038&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/t2eBc/dJMcafNpaZ3/3osQWoHPdYU1aUOKWh9rYK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/t2eBc/dJMcafNpaZ3/3osQWoHPdYU1aUOKWh9rYK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/t2eBc/dJMcafNpaZ3/3osQWoHPdYU1aUOKWh9rYK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ft2eBc%2FdJMcafNpaZ3%2F3osQWoHPdYU1aUOKWh9rYK%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;1038&quot; height=&quot;370&quot; data-filename=&quot;스크린샷 2026-05-13 오후 10.05.58.png&quot; data-origin-width=&quot;1038&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음과 같은 내용이 들어있는데, 각각의 의미를 해석해보면 다음과 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;#!/bin/bash&lt;/td&gt;
&lt;td&gt;이 파일이 bash 쉘로 실행되는 스크립트임을 의미한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;myname=$(whoami)&lt;/td&gt;
&lt;td&gt;현재 스크립트를 실행하는 사용자 이름을 myname 변수에 저장한다. cron 설정에서 이 스크립트는 bandit23 권한으로 실행되므로, myname에는 bandit23이 들어간다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;mytarget=$(echo I am user $myname | md5sum | cut -d ' ' -f 1)&lt;/td&gt;
&lt;td&gt;I am user bandit23이라는 문자열을 만들고, 이를 MD5 해시값으로 변환한 뒤, 해시값 부분만 잘라 mytarget 변수에 저장한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;echo &quot;Copying passwordfile /etc/bandit_pass/$myname to /tmp/$mytarget&quot;&lt;/td&gt;
&lt;td&gt;어떤 비밀번호 파일을 어디로 복사하는지 안내 메시지를 출력한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;cat /etc/bandit_pass/$myname &amp;gt; /tmp/$mytarget&lt;/td&gt;
&lt;td&gt;/etc/bandit_pass/bandit23 파일의 내용을 /tmp/해시값 파일로 저장한다. 즉, 이 파일 안에 다음 레벨 비밀번호가 들어 있다.&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;p data-ke-size=&quot;size16&quot;&gt;이어서 생각해보면, 이 스크립트는 실행 사용자의 이름을 기준으로 해시값을 생성하고, 해당 해시값을 파일명으로 사용하여 /tmp 디렉토리에 비밀번호 파일 내용을 저장한다. cron에 의해 bandit23 권한으로 실행되므로, 결과적으로 /etc/bandit_pass/bandit23의 내용이 /tmp/$mytarget에 저장된다는 뜻이다.&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;그 다음 스크립트에서 쓰는 해시값을 직접 계산해야 하는데&lt;/p&gt;
&lt;pre id=&quot;code_1778677683409&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;echo I am user bandit23 | md5sum | cut -d ' ' -f 1&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음과 같은 명령어를 통해 계산해볼 수가 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 부분은 다음과 같은 의미를 가진다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;echo I am user bandit23&lt;/td&gt;
&lt;td&gt;해시 계산에 사용할 문자열 출력&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;md5sum&lt;/td&gt;
&lt;td&gt;입력 문자열의 MD5 해시값 계산&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;cut -d ' ' -f 1&lt;/td&gt;
&lt;td&gt;공백 기준으로 첫 번째 값, 즉 해시값만 추출&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;/tmp/해시값&lt;/td&gt;
&lt;td&gt;cron 스크립트가 비밀번호를 저장하는 파일 경로&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;cat /tmp/해시값&lt;/td&gt;
&lt;td&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;p data-ke-size=&quot;size16&quot;&gt;계산으로 나온 해시값을 확인한 이후&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-05-13 오후 10.08.47.png&quot; data-origin-width=&quot;1074&quot; data-origin-height=&quot;84&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6m1Qb/dJMcaayxrPw/hLlhDlL8gVlAquQItZKDA0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6m1Qb/dJMcaayxrPw/hLlhDlL8gVlAquQItZKDA0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6m1Qb/dJMcaayxrPw/hLlhDlL8gVlAquQItZKDA0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6m1Qb%2FdJMcaayxrPw%2FhLlhDlL8gVlAquQItZKDA0%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;1074&quot; height=&quot;84&quot; data-filename=&quot;스크린샷 2026-05-13 오후 10.08.47.png&quot; data-origin-width=&quot;1074&quot; data-origin-height=&quot;84&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;pre id=&quot;code_1778677761667&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cat /tmp/8ca319486bfbbc3663ea0fbe81326349&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&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-filename=&quot;스크린샷 2026-05-13 오후 10.09.37.png&quot; data-origin-width=&quot;948&quot; data-origin-height=&quot;86&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/w37OA/dJMcaaFjSz2/HkLLbAyReVkLSaqE831CSk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/w37OA/dJMcaaFjSz2/HkLLbAyReVkLSaqE831CSk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/w37OA/dJMcaaFjSz2/HkLLbAyReVkLSaqE831CSk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fw37OA%2FdJMcaaFjSz2%2FHkLLbAyReVkLSaqE831CSk%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;948&quot; height=&quot;86&quot; data-filename=&quot;스크린샷 2026-05-13 오후 10.09.37.png&quot; data-origin-width=&quot;948&quot; data-origin-height=&quot;86&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 data-ke-size=&quot;size16&quot;&gt;다음 레벨의 비밀번호인 &lt;span&gt;0Zf11ioIjMVN551jX3CmStKLYqjk54Ga가 나오게 된다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;Level 23 &amp;rarr; Level 24&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번에도 cron에 의해 어떤 프로그램이 주기적으로 자동 실행되고 있다.&lt;br /&gt;/etc/cron.d/에서 cron 설정을 확인하고, 실제로 어떤 명령어가 실행되는지 분석해야 한다.&lt;br /&gt;이번 레벨에서는 직접 shell script를 만들어야 하며, 실행된 스크립트는 삭제될 수 있으므로 복사본을 따로 보관하는 것이 좋다는 것이 문제의 설명이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778677954558&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ls /etc/cron.d/
cat /etc/cron.d/cronjob_bandit24&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음과 같은 명령어를 통해 cron이 실제로 어떤 스크립트를 실행하는지 살펴본다.&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-filename=&quot;스크린샷 2026-05-13 오후 10.13.15.png&quot; data-origin-width=&quot;880&quot; data-origin-height=&quot;240&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/caYkOX/dJMcabxo5fX/sPK86RVwK60GgKdnSVLxGk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/caYkOX/dJMcabxo5fX/sPK86RVwK60GgKdnSVLxGk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/caYkOX/dJMcabxo5fX/sPK86RVwK60GgKdnSVLxGk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcaYkOX%2FdJMcabxo5fX%2FsPK86RVwK60GgKdnSVLxGk%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;880&quot; height=&quot;240&quot; data-filename=&quot;스크린샷 2026-05-13 오후 10.13.15.png&quot; data-origin-width=&quot;880&quot; data-origin-height=&quot;240&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;pre id=&quot;code_1778678011752&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cat /usr/bin/cronjob_bandit24.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;명령어를 통해서 cron이 실행하는 스크립트 확인해보면,&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-filename=&quot;스크린샷 2026-05-13 오후 10.14.09.png&quot; data-origin-width=&quot;1006&quot; data-origin-height=&quot;596&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KysGf/dJMcadaR9yo/G8zwk8IRV97DyEdidiCrDK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KysGf/dJMcadaR9yo/G8zwk8IRV97DyEdidiCrDK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KysGf/dJMcadaR9yo/G8zwk8IRV97DyEdidiCrDK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKysGf%2FdJMcadaR9yo%2FG8zwk8IRV97DyEdidiCrDK%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;1006&quot; height=&quot;596&quot; data-filename=&quot;스크린샷 2026-05-13 오후 10.14.09.png&quot; data-origin-width=&quot;1006&quot; data-origin-height=&quot;596&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 data-ke-size=&quot;size16&quot;&gt;다음과 같은 스크립트가 실행중임을 알 수가 있고, &lt;span&gt;이 스크립트는 `/var/spool/bandit24/foo` 안에 있는 파일들을 자동으로 실행하고 삭제한다. &lt;/span&gt;&lt;span&gt;다만 아무 파일이나 실행하는 것이 아니라, 소유자가 `bandit23`인 일반 파일만 실행한다. &lt;/span&gt;&lt;span&gt;따라서 bandit23 사용자인 내가 만든 스크립트를 이 디렉토리에 넣으면 cron이 주기적으로 실행해줄 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스크립트의 내용을 하나씩 뜯어보면 다음과 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;myname=$(whoami)&lt;/td&gt;
&lt;td&gt;현재 스크립트를 실행하는 사용자 이름을 저장&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;cd /var/spool/&quot;$myname&quot;/foo&lt;/td&gt;
&lt;td&gt;/var/spool/bandit24/foo 디렉토리로 이동&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;for i in * .*&lt;/td&gt;
&lt;td&gt;디렉토리 안의 일반 파일과 숨김 파일을 순회&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;owner=&quot;$(stat --format &quot;%U&quot; ./$i)&quot;&lt;/td&gt;
&lt;td&gt;각 파일의 소유자 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;[ &quot;${owner}&quot; = &quot;bandit23&quot; ] &amp;amp;&amp;amp; [ -f &quot;$i&quot; ]&lt;/td&gt;
&lt;td&gt;소유자가 bandit23이고 일반 파일인지 검사&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;timeout -s 9 60 &quot;./$i&quot;&lt;/td&gt;
&lt;td&gt;조건을 만족하면 파일을 최대 60초 동안 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;rm -rf &quot;./$i&quot;&lt;/td&gt;
&lt;td&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;bandit24 비밀번호를 직접 읽을 권한이 없는 상황이지만, cron은 bandit24 권한으로 실행될 가능성이 높기 때문에 직접 만든 스크립트 안에&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div id=&quot;code-block-viewer&quot;&gt;
&lt;div&gt;
&lt;pre class=&quot;awk&quot;&gt;&lt;code&gt;cat /etc/bandit_pass/bandit24 &amp;gt; /tmp/내파일&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;1841&quot; data-start=&quot;1778&quot; data-ke-size=&quot;size16&quot;&gt;처럼 적어두면, cron이 bandit24 권한으로 실행하면서 비밀번호를 /tmp/내파일에 저장해줄 수 있게 된다.&lt;/p&gt;
&lt;p data-end=&quot;1841&quot; data-start=&quot;1778&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778678307731&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;mktemp -d&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;명령어를 사용하게 되면 나의 작업 파일이 생기고,&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-05-13 오후 10.18.41.png&quot; data-origin-width=&quot;748&quot; data-origin-height=&quot;106&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bZdzhG/dJMcaakYcgV/adn7xglvzFkIsPBKJKOF9k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bZdzhG/dJMcaakYcgV/adn7xglvzFkIsPBKJKOF9k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bZdzhG/dJMcaakYcgV/adn7xglvzFkIsPBKJKOF9k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbZdzhG%2FdJMcaakYcgV%2Fadn7xglvzFkIsPBKJKOF9k%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;748&quot; height=&quot;106&quot; data-filename=&quot;스크린샷 2026-05-13 오후 10.18.41.png&quot; data-origin-width=&quot;748&quot; data-origin-height=&quot;106&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778678372907&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cd /tmp/tmp.3h9KF69UC2&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cd를 통해 나의 작업 파일으로 이동 후&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778678432391&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;touch result.txt #결과를 저장할 빈 파일 생성
chmod 666 result.txt #cron이 실행하는 bandit24 사용자도 이 파일에 쓸 수 있게 권한 설정&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과물을 받을 파일을 만든다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778678490655&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;nano script.sh
#nano를 통해 열어서

#!/bin/bash
cat /etc/bandit_pass/bandit24 &amp;gt; /tmp/tmp.3h9KF69UC2/result.txt

#다음과 같은 내용을 넣는다&lt;/code&gt;&lt;/pre&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-filename=&quot;스크린샷 2026-05-13 오후 10.23.19.png&quot; data-origin-width=&quot;1144&quot; data-origin-height=&quot;316&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/TPGkN/dJMcadBU5kT/jXatfkfFmGRz2Ko3i3n9p0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/TPGkN/dJMcadBU5kT/jXatfkfFmGRz2Ko3i3n9p0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/TPGkN/dJMcadBU5kT/jXatfkfFmGRz2Ko3i3n9p0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTPGkN%2FdJMcadBU5kT%2FjXatfkfFmGRz2Ko3i3n9p0%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;1144&quot; height=&quot;316&quot; data-filename=&quot;스크린샷 2026-05-13 오후 10.23.19.png&quot; data-origin-width=&quot;1144&quot; data-origin-height=&quot;316&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 때, &lt;span style=&quot;color: #666666; text-align: start;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;파일에 실행 권한을 부여하는 명령어인&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;chmod을 사용해야 한다. cron이 shell script를 실행하려면, 그 파일이 실행 가능한 상태여야 하기 때문이다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;1067&quot; data-start=&quot;1020&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778678698759&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;chmod +x script.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음 명령어를 통해 실행 권한을 준 뒤,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778678724033&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cp script.sh /var/spool/bandit24/foo/&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cp를 통해 cron이 실행하는 폴더로 복사하면 된다.&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-filename=&quot;스크린샷 2026-05-13 오후 10.33.49.png&quot; data-origin-width=&quot;1056&quot; data-origin-height=&quot;186&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Sw3EX/dJMcafT88ET/uFMCScz41urFzwVEKx7Py1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Sw3EX/dJMcafT88ET/uFMCScz41urFzwVEKx7Py1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Sw3EX/dJMcafT88ET/uFMCScz41urFzwVEKx7Py1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSw3EX%2FdJMcafT88ET%2FuFMCScz41urFzwVEKx7Py1%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;1056&quot; height=&quot;186&quot; data-filename=&quot;스크린샷 2026-05-13 오후 10.33.49.png&quot; data-origin-width=&quot;1056&quot; data-origin-height=&quot;186&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 data-ke-size=&quot;size16&quot;&gt;그 이후 cat명령어를 사용해 봐보면 다음과 같은 비밀번호가 뜬다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;비밀번호: &lt;span&gt;gb8KRRCsshuZXI0tUuR6ypOFjiZbf3G8&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;Level 24 &amp;rarr; Level 25&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;30002번 포트에서 데몬이 실행 중이며, bandit24 비밀번호와 4자리 숫자 PIN을 함께 보내면 bandit25 비밀번호를 얻을 수 있는 문제이다. PIN은 직접 알아낼 수 없고, 0000부터 9999까지 모든 조합을 시도하는 brute-forcing 방식으로 찾아야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4자리 PIN을 자동으로 전부 대입해보는 문제이지만, 직접 하나 하나 치면 너무너무 오래 걸리게 된다. 반복문을 사용한 스크립트를 만들어야 하는데, 문제에서 말한 brute-forcing은 &lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;가능한 모든 경우의 수를 하나씩 시도하는 방식&lt;/span&gt;이라&lt;/p&gt;
&lt;p data-end=&quot;461&quot; data-start=&quot;414&quot; data-ke-size=&quot;size16&quot;&gt;4자리 숫자 PIN은 0000부터 9999까지 총 10,000개 경우가 있다.&lt;/p&gt;
&lt;p data-end=&quot;461&quot; data-start=&quot;414&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778679463417&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;mktemp -d
cd /tmp/tmp.MFrtARLWW9&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선 출력이 많을 수 있으니까 /tmp에 작업 디렉토리를 만들고 이동.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;브루트포싱 스크립트 생성해야 하기 때문에&lt;/p&gt;
&lt;pre id=&quot;code_1778679642229&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;nano bforce.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;nano를 통해 생성한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778679664492&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#!/bin/bash

PASSWORD=$(cat /etc/bandit_pass/bandit24)

for pin in {0000..9999}
do
    echo &quot;$PASSWORD $pin&quot;
done | nc localhost 30002 &amp;gt; result.txt&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스크립트의 내용은 다음과 같이 작성하였는데, 각각 명령어를 해석해보면 다음과 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;#!/bin/bash&lt;/td&gt;
&lt;td&gt;이 파일을 bash 쉘로 실행하겠다는 의미이다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PASSWORD=$(cat /etc/bandit_pass/bandit24)&lt;/td&gt;
&lt;td&gt;현재 레벨인 bandit24의 비밀번호를 읽어 PASSWORD 변수에 저장한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;for pin in {0000..9999}&lt;/td&gt;
&lt;td&gt;0000부터 9999까지의 모든 4자리 PIN을 하나씩 대입하며 반복한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;do ... done&lt;/td&gt;
&lt;td&gt;반복문에서 실행할 명령어 범위를 나타낸다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;echo &quot;$PASSWORD $pin&quot;&lt;/td&gt;
&lt;td&gt;bandit24비밀번호 PIN 형태의 문자열을 출력한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;| nc localhost 30002&lt;/td&gt;
&lt;td&gt;반복문에서 만들어진 입력값들을 localhost의 30002번 포트로 전송한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&amp;gt; result.txt&lt;/td&gt;
&lt;td&gt;서버에서 돌아오는 응답을 화면에 출력하지 않고 result.txt 파일에 저장한다.&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문제에서 매번 새 연결을 만들 필요는 없다고 했기 때문에, nc 연결을 반복해서 10000번 만드는 대신, 반복문에서 생성한 입력값 전체를 한 번에 nc localhost 30002로 전달하였다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-05-13 오후 10.42.46.png&quot; data-origin-width=&quot;986&quot; data-origin-height=&quot;116&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b8gwNh/dJMcaayxshA/WfwtRgZkj9P3ghxpeokfZk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b8gwNh/dJMcaayxshA/WfwtRgZkj9P3ghxpeokfZk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b8gwNh/dJMcaayxshA/WfwtRgZkj9P3ghxpeokfZk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb8gwNh%2FdJMcaayxshA%2FWfwtRgZkj9P3ghxpeokfZk%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;986&quot; height=&quot;116&quot; data-filename=&quot;스크린샷 2026-05-13 오후 10.42.46.png&quot; data-origin-width=&quot;986&quot; data-origin-height=&quot;116&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;pre id=&quot;code_1778679803109&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;chmod +x bforce.sh
./bforce.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;chmod를 통해 권한을 부여하고, ./bforce.sh로 현재 디렉토리에 있는 bforce.sh 파일을 실행.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대부분의 잘못된 PIN에 대해서는 서버가 Wrong!과 같은 실패 메시지를 반환하기 때문에,&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778679939040&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;grep -v &quot;Wrong&quot; result.txt&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;grep -v &quot;Wrong&quot;을 사용하여 Wrong이 포함된 줄을 제외하고 출력해보면&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-filename=&quot;스크린샷 2026-05-13 오후 10.45.50.png&quot; data-origin-width=&quot;1156&quot; data-origin-height=&quot;222&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mG2c8/dJMb997rEyG/BA1Xxf6IRh7KK4tBnVug0K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mG2c8/dJMb997rEyG/BA1Xxf6IRh7KK4tBnVug0K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mG2c8/dJMb997rEyG/BA1Xxf6IRh7KK4tBnVug0K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmG2c8%2FdJMb997rEyG%2FBA1Xxf6IRh7KK4tBnVug0K%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;1156&quot; height=&quot;222&quot; data-filename=&quot;스크린샷 2026-05-13 오후 10.45.50.png&quot; data-origin-width=&quot;1156&quot; data-origin-height=&quot;222&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 data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;다음과 같은 비밀번호 iCi86ttT4KSNe1armKiwbQNmB3YJP3q4가 나오는 것을 볼 수가 있다.&lt;/span&gt;&lt;/p&gt;</description>
      <author>yeseul7</author>
      <guid isPermaLink="true">https://yeseul7.tistory.com/28</guid>
      <comments>https://yeseul7.tistory.com/28#entry28comment</comments>
      <pubDate>Wed, 13 May 2026 15:27:48 +0900</pubDate>
    </item>
    <item>
      <title>Git 기본 명령어 배우기</title>
      <link>https://yeseul7.tistory.com/27</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. Git commit&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;프로젝트의 스냅샷들. 매우 가볍고 커밋 사이의 전환도 매우 빠르다. &lt;span style=&quot;text-align: start;&quot;&gt;Git 자체에서 가능한 한 커밋을 가볍게 유지하고자 하기때문에, 커밋할 때마다 디렉토리 전체를 복사하진 않음. 각 커밋은 저장소의 이전 버전과 다음 버전의 변경내역(delta)을 저장.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;2. &lt;/span&gt;&lt;/span&gt;&lt;span&gt;git branch&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;text-align: start; color: #333333;&quot;&gt;특정 커밋에 대한 참조, &lt;span style=&quot;text-align: start;&quot;&gt;하나의 커밋과 그 부모 커밋들을 포함하는 작업 내역이다. 커밋을 가리키고 있는 이름표.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. git checkout [브랜치명]&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;현재 작업 위치(브랜치나 커밋)를 다른 곳으로 이동하는 명령어이다. 변경분을 커밋하기 전에 새 브랜치로 이동하게 만들어준다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778443241724&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git branch bugFix
git checkout bugFix&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;branch를 통해 새 브랜치를 생성하고, 이후 checkout로 bugFix 브랜치로 이동한 것이다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4. git merge&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778443644539&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git checkout main
git merge bugFix&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;별도의 브랜치를 합치는 방법 중 하나. 두 개의 부모를 가리키는 커밋을 만들게 됨. &lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;두개의 부모가 있는 커밋이라는 것은 &quot;한 부모의 모든 작업내역과 나머지 부모의 모든 작업,&amp;nbsp;&lt;/span&gt;그리고&lt;span style=&quot;text-align: start;&quot;&gt;&amp;nbsp;그 두 부모의 모든 부모들의 작업내역을 포함한다&quot;라는 의미가 있음. 현재 위치한 브랜치에 다른 브랜치의 커밋 내용을 가져와 병합함.&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;5. git rebase&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778444737027&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git rebase main&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한 브랜치의 커밋들을 다른 브랜치 뒤에 다시 이어붙이는 명령어. 기존 커밋을 그대로 합치는 merge와 달리, 커밋 기록을 새로 정리해 히스토리를 깔끔하게 만든다. 새로 시작 위치를 옮기는 것. 주로 브랜치를 최신 상태로 맞추거나, 불필요한 분기 없이 일직선 형태의 커밋 기록을 만들 때 사용함.&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;6. HEAD에 대하여&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 작업 중인 커밋을 나타내는 것이다.&lt;br /&gt;브랜치나 특정 커밋을 기준으로 현재 내가 어느 위치에서 작업하고 있는지를 보여준다.&lt;br /&gt;또한 상대참조(~&amp;lt;num&amp;gt;, ^, ^^ 등)를 통해 이전 커밋으로 이동하거나 특정 시점의 커밋을 쉽게 참조할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778446586280&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git checout bugFix^ #bugFix 부모의 커밋으로 한칸 이동

# ~연산자. 올라가고 싶은 부모의 개수를 표시

git checkout HEAD~4 #4개 부모 커밋으로 이동
git branch -f main HEAD~3 #main 브랜치를 현재 HEAD 기준 3개의 부모 커밋 이전 위치로 강제 이동&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;branch를 강제로 옮길 때 가장 주의해야 하는 점은, -f(force)를 반드시 써야 한다는 것이다. 브랜치 자체가 강제로 이동되기 때문에 최신 커밋 연결이 끊기거나 기록을 잃어버릴 수도 있는 위험성이 존재하기 때문에, git에서 -f를 요구하게 된다.&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;즉, 구조가&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778447740653&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git branch -f 브랜치이름 이동할위치&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가 된다.&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;7. git reset&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;브랜치가 예전의 커밋을 가리키도록 이동시키는 방식으로 변경 내용을 되돌리는 명령어. &lt;/span&gt;&lt;span style=&quot;text-align: start;&quot;&gt;애초에 커밋하지 않은 것처럼 예전 커밋으로 브랜치를 옮기는 것.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;bash&quot; style=&quot;background-color: #f6f8fa; color: #3a3a3a; text-align: start;&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;git reset HEAD~1 #예시&lt;/code&gt;&lt;/pre&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;8. git revert&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각자의 컴퓨터에서 작업하는 로컬 브랜치의 경우 리셋(reset)을 잘 쓸 수 있지만, 다른 사람이 작업하는 리모트 브랜치에는 쓸 수 없음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(히스토리를 고쳐쓰기 때문)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리모트 브랜치에서 사용 가능한, 이루어진 작업을 반대로 수행하는 새 커밋을 만드는 방법&lt;/p&gt;
&lt;pre id=&quot;code_1778448778690&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git revert HEAD&lt;/code&gt;&lt;/pre&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 data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;9. git cherry-pick&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1778604304253&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git cherry-pick &amp;lt;commit1&amp;gt; &amp;lt;commit2&amp;gt; &amp;lt;...&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;현재 위치(&lt;/span&gt;HEAD&lt;span style=&quot;text-align: start;&quot;&gt;) 아래에 있는 일련의 커밋들에 대한 복사본을 만드는 것. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;개별 커밋을 골라서&amp;nbsp;&lt;/span&gt;HEAD&lt;span style=&quot;text-align: start;&quot;&gt;위에 떨어뜨릴 수 있다. (단, &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;그 커밋이 현재 가리키고 있는 커밋이 아니어야함)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;10. git rebase -i&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1778604982137&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git rebase -i HEAD~4&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;인터렉티브 리베이스(rebase 명령어를 사용할 때 -i 옵션 같이 사용) 옵션을 추가하면, 해시를&amp;nbsp; 몰라도 사용 가능하게 해준다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;커밋 순서 바꾸기와, 빼기, squash(여러 커밋 합치기) 등을 할 수가 있다. &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;어떤 커밋을 취하거나 버릴지를 선택할 수 있고, 커밋의 순서를 바꿀 수도 있기 때문에 어떤 작업의 일부만 골라내기에 유용하다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;11. git commit --amend&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778605812323&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git commit -m &quot;helo&quot; #오타
git commit --amend -m &quot;hello&quot; #수정&lt;/code&gt;&lt;/pre&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 data-ke-size=&quot;size16&quot;&gt;다음의 예시와 같이 커밋을 수정할 수가 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;12. git tag&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778606741857&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git tag v1 C1&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;태그의 이름을 v1으로 짓고, 커밋 C1을 지정해서 참조했다고 해석하면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;tag는 커밋들이 추가로 생성되어도 절대 움직이지 않고, 커밋 트리에서 특정 지점을 표시하기 위한 영구적인 이정표 같은 역할을 하게 된다.&amp;nbsp;&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;13. git describe&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778607094905&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git describe &amp;lt;ref&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 가까운 태그에 비해 상대적으로 어디에 위치해있는지 묘사(describe)해주는 명령어.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서, ref에는 commit을 의미하는 그 어떤 것이든 쓸 수 있다. 특정 지어주지 않다면 그냥 지금 체크 아웃된 곳(HEAD)을 사용한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778607158710&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;tag&amp;gt;-&amp;lt;numCommits&amp;gt;-g&amp;lt;hash&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출력은 다음과 같은 형식으로 이루어지며, tag는 가장 가까운 부모 태그를, &lt;span style=&quot;color: #333333;&quot;&gt;numCommits&lt;span style=&quot;text-align: start;&quot;&gt;은 그 태그가 몇 커밋 멀리있는지를,&amp;nbsp;&lt;/span&gt;&amp;lt;hash&amp;gt;&lt;span style=&quot;text-align: start;&quot;&gt;는 묘사하고있는 커밋의 해시를 나타낸다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;14. ^ 수식&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778607554385&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git checkout main^2&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;병합이 된 커밋에서 참조 할 부모를 선택할 수 있는 수식. 보통 첫 부모를 따라가지만, ^수식을 숫자와 함께 사용하면 디폴트 동작이 아닌 선택한 동작대로 결과가 실행된다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778607692646&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git checkout HEAD~^2~2&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;이런식으로 섞어서도 사용 가능하다.&lt;/span&gt;&lt;/span&gt;&lt;/p&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&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;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;원격 저장소&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;1. &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;git clone&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1778608914953&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git clone &amp;lt;원격 저장소의 url&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;원격 저장소의 복사본을 로컬에 생성할 때 사용하는 명령어.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;2. git fetch&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1778609246130&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git fetch
git fetch origin foo #원격 저장소의 foo 브랜치로 가서 로컬에 없는 커밋들을 가져와 로컬의 o/foo 브랜치에 추가

git fetch &amp;lt;source&amp;gt;:&amp;lt;destination&amp;gt; 
#&amp;lt;source&amp;gt;에 받아올 커밋이 있는 원격에 있는 place
#&amp;lt;destination&amp;gt;에 그 커밋을 받아올 로컬의 place

git fetch origin :bugFix #리소스 인자를 없음으로 지정. 로컬에 새 브랜치를 만듦&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원격 저장소(origin)의 최신 내용을 로컬로 가져오기만 하는 명령어.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;fetch를 해야만 origin/main도 최신으로 갱신이 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원격 저장소에 있지만 로컬에 없는 커밋을 다운로드 받고, 원격 브랜치가 가리키는 곳을 업데이트 하게 된다.&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. git pull&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778609408837&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git pull

#git pull origin foo = git fetch origin foo; git merge o/foo
#git pull origin bar:bugFix = git fetch origin bar:bugFix; git merge bugFix

#커밋이 도착하는 곳을 신경 씀. fetch를 하며 지정된 destination인자의 위치로 merge가 수행).&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원격 저장소의 변경을 fetch하고 그 이후 merge하는 작업의 과정을 한번에 하는 명령어.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;본질적으로 git fetch 후에 내려받은 브랜치를 병합하는 과정을 단축하게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4. git push&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1778610092535&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git push #매개변수 없이 사용하는 디폴트 행동은 ush.default라 불리는 git의 설정에 따라 결정이 된다.
git push &amp;lt;remote&amp;gt; &amp;lt;place&amp;gt; #인자를 지정해서 어디서부터 커밋이 오고, 어디로 가야하는지 지정

#ex) git push origin main

git push origin &amp;lt;source&amp;gt;:&amp;lt;destination&amp;gt; #콜론 참조스펙. source는 git이 알아낼 수 있는 위치를 이름 붙여 말함
#source와 destination을 따로 지정

git push origin :side #리소스 인자를 없음으로 지정. 원격 저장소의 브랜치를 삭제&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로컬 저장소에서 생성한 커밋을 원격 저장소(origin)로 업로드하는 명령어. 로컬 브랜치의 변경 사항을 원격 브랜치에 반영할 때 사용한다.&lt;br /&gt;push가 완료되면 원격 저장소의 브랜치 위치도 최신 커밋으로 이동한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5. &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;git pull --rebase&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778610641414&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git pull --rebase&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원격 저장소의 최신 변경 사항을 가져온 뒤(fetch), 현재 작업 내용을 그 위에 다시 적용(rebase)하는 명령어. 기존 merge 방식과 달리 불필요한 병합 커밋이 생성되지 않는다. 커밋 기록을 한 줄로 깔끔하게 유지할 수 있게 해준다.&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;6. 원격 추적&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1778611952702&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git checkout -b foo o/main&lt;/code&gt;&lt;/pre&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div id=&quot;code-block-viewer&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;foo 라는 새 브랜치를 생성하고, o/main 브랜치를 추적 대상으로 설정 &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;이후에 foo 브랜치에서 git pull 또는 git push 를 실행하면 자동으로 o/main 과 연결되어 동쟉한다.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이미 존재하는 브랜치에도 원격 추적 설정 추가하는 법&lt;/p&gt;
&lt;pre id=&quot;code_1778611970857&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git branch -u o/main foo&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;foo 브랜치가 o/main 브랜치를 추적하도록 설정. 현재 작업 중인 브랜치라면 브랜치명을 생략할 수도 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;풀이 인증!&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-05-13 오전 10.03.18.png&quot; data-origin-width=&quot;1816&quot; data-origin-height=&quot;1568&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cABx6V/dJMcahxD3xQ/iaxwRWjjJgkDs5AZUATX21/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cABx6V/dJMcahxD3xQ/iaxwRWjjJgkDs5AZUATX21/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cABx6V/dJMcahxD3xQ/iaxwRWjjJgkDs5AZUATX21/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcABx6V%2FdJMcahxD3xQ%2FiaxwRWjjJgkDs5AZUATX21%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;1816&quot; height=&quot;1568&quot; data-filename=&quot;스크린샷 2026-05-13 오전 10.03.18.png&quot; data-origin-width=&quot;1816&quot; data-origin-height=&quot;1568&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-05-13 오전 10.03.34.png&quot; data-origin-width=&quot;1808&quot; data-origin-height=&quot;852&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SURvP/dJMb99M5Y3L/QFtJkCh4wz2yKFNklKZQC1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SURvP/dJMb99M5Y3L/QFtJkCh4wz2yKFNklKZQC1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SURvP/dJMb99M5Y3L/QFtJkCh4wz2yKFNklKZQC1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSURvP%2FdJMb99M5Y3L%2FQFtJkCh4wz2yKFNklKZQC1%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;1808&quot; height=&quot;852&quot; data-filename=&quot;스크린샷 2026-05-13 오전 10.03.34.png&quot; data-origin-width=&quot;1808&quot; data-origin-height=&quot;852&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <author>yeseul7</author>
      <guid isPermaLink="true">https://yeseul7.tistory.com/27</guid>
      <comments>https://yeseul7.tistory.com/27#entry27comment</comments>
      <pubDate>Mon, 11 May 2026 06:39:16 +0900</pubDate>
    </item>
    <item>
      <title>[포렌식 기초] 5주차 과제</title>
      <link>https://yeseul7.tistory.com/16</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;1. abcdefg - who&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;1149&quot; data-origin-height=&quot;785&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/I5iP1/dJMcabJX3Kp/loCk4oxJjqgdyK87C6nHHK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/I5iP1/dJMcabJX3Kp/loCk4oxJjqgdyK87C6nHHK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/I5iP1/dJMcabJX3Kp/loCk4oxJjqgdyK87C6nHHK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FI5iP1%2FdJMcabJX3Kp%2FloCk4oxJjqgdyK87C6nHHK%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;1149&quot; height=&quot;785&quot; data-origin-width=&quot;1149&quot; data-origin-height=&quot;785&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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-filename=&quot;스크린샷 2026-02-18 오후 8.44.49.png&quot; data-origin-width=&quot;1284&quot; data-origin-height=&quot;822&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZDNpj/dJMcaaqJP7j/xVCAKSxKA9HmMJojLIccv0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZDNpj/dJMcaaqJP7j/xVCAKSxKA9HmMJojLIccv0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZDNpj/dJMcaaqJP7j/xVCAKSxKA9HmMJojLIccv0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZDNpj%2FdJMcaaqJP7j%2FxVCAKSxKA9HmMJojLIccv0%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;1284&quot; height=&quot;822&quot; data-filename=&quot;스크린샷 2026-02-18 오후 8.44.49.png&quot; data-origin-width=&quot;1284&quot; data-origin-height=&quot;822&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 data-ke-size=&quot;size16&quot;&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-filename=&quot;스크린샷 2026-02-24 오후 7.56.18.png&quot; data-origin-width=&quot;1478&quot; data-origin-height=&quot;848&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b0tBDf/dJMcacoDapD/mzqGf86ZTKdB8mrbKi63PK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b0tBDf/dJMcacoDapD/mzqGf86ZTKdB8mrbKi63PK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b0tBDf/dJMcacoDapD/mzqGf86ZTKdB8mrbKi63PK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb0tBDf%2FdJMcacoDapD%2FmzqGf86ZTKdB8mrbKi63PK%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;1478&quot; height=&quot;848&quot; data-filename=&quot;스크린샷 2026-02-24 오후 7.56.18.png&quot; data-origin-width=&quot;1478&quot; data-origin-height=&quot;848&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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-filename=&quot;스크린샷 2026-02-24 오후 7.59.44.png&quot; data-origin-width=&quot;1362&quot; data-origin-height=&quot;938&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dKuCXz/dJMcabcaRuN/1OZRKLeQu72ohxx9b7BTyK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dKuCXz/dJMcabcaRuN/1OZRKLeQu72ohxx9b7BTyK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dKuCXz/dJMcabcaRuN/1OZRKLeQu72ohxx9b7BTyK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdKuCXz%2FdJMcabcaRuN%2F1OZRKLeQu72ohxx9b7BTyK%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;1362&quot; height=&quot;938&quot; data-filename=&quot;스크린샷 2026-02-24 오후 7.59.44.png&quot; data-origin-width=&quot;1362&quot; data-origin-height=&quot;938&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;안에 뭐가 있는지 보려면, ls를 쳐야하는데 비밀로 감춰둔 파일이 있어 안 보이기 때문에 ls -a를 통해 확인해야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또, 리눅스 시스템에서는 시스템에 존재하는 사용자 정보를 /etc/passwd에 넣기 때문에 확인을 해본다.&amp;nbsp;&lt;/p&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;&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-filename=&quot;스크린샷 2026-02-18 오후 8.53.24.png&quot; data-origin-width=&quot;1146&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pDRqO/dJMcagxHdCC/MVkSX7HPE6kZ0A06nVIBCK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pDRqO/dJMcagxHdCC/MVkSX7HPE6kZ0A06nVIBCK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pDRqO/dJMcagxHdCC/MVkSX7HPE6kZ0A06nVIBCK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpDRqO%2FdJMcagxHdCC%2FMVkSX7HPE6kZ0A06nVIBCK%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;1146&quot; height=&quot;1024&quot; data-filename=&quot;스크린샷 2026-02-18 오후 8.53.24.png&quot; data-origin-width=&quot;1146&quot; data-origin-height=&quot;1024&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cat 명령어를 통해&amp;nbsp; passwd 파일을 확인해보면, 다양한 사용자 정보를 볼 수 있는데 무언가 이상한 파일이 있다는 것을 알 수 있게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;바로, bash shell파일로 접근을 한다는 점이다. Bash shell은 사용자가 입력한 명령을 해석하여 운영체제에 전달하는 명령행 인터페이스인데 다 이곳으로 접근한다는 점이 조금 이상하다고 볼 수 있다.&amp;nbsp;&lt;/p&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 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-filename=&quot;스크린샷 2026-02-18 오후 9.07.39.png&quot; data-origin-width=&quot;736&quot; data-origin-height=&quot;112&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dsbWr8/dJMb99L6r97/mnSwKXypGRPoX52QiXJmHk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dsbWr8/dJMb99L6r97/mnSwKXypGRPoX52QiXJmHk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dsbWr8/dJMb99L6r97/mnSwKXypGRPoX52QiXJmHk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdsbWr8%2FdJMb99L6r97%2FmnSwKXypGRPoX52QiXJmHk%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;736&quot; height=&quot;112&quot; data-filename=&quot;스크린샷 2026-02-18 오후 9.07.39.png&quot; data-origin-width=&quot;736&quot; data-origin-height=&quot;112&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 data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #222222; text-align: start;&quot;&gt;&lt;span style=&quot;color: #222222; text-align: start;&quot;&gt;&lt;span style=&quot;color: #222222; text-align: start;&quot;&gt;&lt;span style=&quot;color: #222222; text-align: start;&quot;&gt;이 파일을 열기 위해선 sudo 명령어를 통해 입력해야하는데, 이를 통해 패스워드를 입력하면 이렇게 뜬다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&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-filename=&quot;스크린샷 2026-02-18 오후 9.10.15.png&quot; data-origin-width=&quot;1056&quot; data-origin-height=&quot;1462&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cwXyKP/dJMb996q1kP/08kPgTjgKDSEWCcy0Go1hK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cwXyKP/dJMb996q1kP/08kPgTjgKDSEWCcy0Go1hK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cwXyKP/dJMb996q1kP/08kPgTjgKDSEWCcy0Go1hK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcwXyKP%2FdJMb996q1kP%2F08kPgTjgKDSEWCcy0Go1hK%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;1056&quot; height=&quot;1462&quot; data-filename=&quot;스크린샷 2026-02-18 오후 9.10.15.png&quot; data-origin-width=&quot;1056&quot; data-origin-height=&quot;1462&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;엄청 많이 뜨는 화묜 속에서 플래그를 찾을 수 있었다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-02-18 오후 9.10.52.png&quot; data-origin-width=&quot;2214&quot; data-origin-height=&quot;1256&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Lw1Zj/dJMcafZRjcp/FK14r4xo3TEWHWUvjo7Vj0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Lw1Zj/dJMcafZRjcp/FK14r4xo3TEWHWUvjo7Vj0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Lw1Zj/dJMcafZRjcp/FK14r4xo3TEWHWUvjo7Vj0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLw1Zj%2FdJMcafZRjcp%2FFK14r4xo3TEWHWUvjo7Vj0%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;1256&quot; data-filename=&quot;스크린샷 2026-02-18 오후 9.10.52.png&quot; data-origin-width=&quot;2214&quot; data-origin-height=&quot;1256&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제출해보면 성공!&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;2. &lt;span style=&quot;background-color: #ffffff; color: #7d7d80; text-align: left;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;access-log&lt;/span&gt;&lt;/span&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;1282&quot; data-origin-height=&quot;844&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/p3LQC/dJMcaaxvHyQ/KkRNQ0AI0mjuY4tVTr5Gf1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/p3LQC/dJMcaaxvHyQ/KkRNQ0AI0mjuY4tVTr5Gf1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/p3LQC/dJMcaaxvHyQ/KkRNQ0AI0mjuY4tVTr5Gf1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fp3LQC%2FdJMcaaxvHyQ%2FKkRNQ0AI0mjuY4tVTr5Gf1%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;1282&quot; height=&quot;844&quot; data-origin-width=&quot;1282&quot; data-origin-height=&quot;844&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #7d7d80; text-align: left;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 문제는 솔직히 좀 어려워서ㅜㅜ 함께 실습을 함 확인해봤다... &lt;/span&gt;&lt;/span&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;1056&quot; data-origin-height=&quot;754&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BW03i/dJMcaadc2k5/DEMuc097uOLLFgcurKaCrK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BW03i/dJMcaadc2k5/DEMuc097uOLLFgcurKaCrK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BW03i/dJMcaadc2k5/DEMuc097uOLLFgcurKaCrK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBW03i%2FdJMcaadc2k5%2FDEMuc097uOLLFgcurKaCrK%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;1056&quot; height=&quot;754&quot; data-origin-width=&quot;1056&quot; data-origin-height=&quot;754&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 data-ke-size=&quot;size16&quot;&gt;필터링을 해서 보았을 때 SQLI, 그러니까 SQL injection인 것을 알 수 있게 되는데 뒤에 아이디를 보면 좀 비정상적으로 길다는 사실을 알 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;TMNo=9067 AND 1=1&lt;br /&gt;UNION&amp;nbsp;ALL&amp;nbsp;SELECT&lt;br /&gt;&amp;nbsp;&amp;nbsp;1,&lt;br /&gt;&amp;nbsp;&amp;nbsp;NULL,&lt;br /&gt;&amp;nbsp;&amp;nbsp;'&amp;lt;script&amp;gt;alert(&quot;XSS&quot;)&amp;lt;/script&amp;gt;',&lt;br /&gt;&amp;nbsp;&amp;nbsp;table_name&lt;br /&gt;FROM&amp;nbsp;information_schema.tables&lt;br /&gt;WHERE&amp;nbsp;2&amp;gt;1&lt;br /&gt;--/**/;&lt;br /&gt;EXEC&amp;nbsp;xp_cmdshell('cat&amp;nbsp;../../../etc/passwd')#&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 URL을 디코딩 해보면, AND&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;1=1을 통해 &lt;b&gt;항상 참&lt;/b&gt;인 것을 확인하는 SQL Injection 가능 여부 테스트용 코드를 넣었는데, 이것이 에러 안 나면 &amp;ldquo;취약하다&amp;rdquo;는 신호이기 때문에 취약성을 확인하는데 쓰이게 된다.&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;또,&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div id=&quot;code-block-viewer&quot;&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;&amp;lt;script&amp;gt;&lt;/span&gt;&lt;span&gt;alert&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&quot;XSS&quot;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1235&quot; data-start=&quot;1160&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1191&quot; data-start=&quot;1160&quot;&gt;&lt;b&gt;Stored / Reflected XSS 공격&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;1235&quot; data-start=&quot;1192&quot;&gt;DB에 이 값이 저장되거나 출력되면&lt;br /&gt;&amp;rarr; 웹페이지에서 자바스크립트 실행됨&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1242&quot; data-start=&quot;1237&quot; data-ke-size=&quot;size16&quot;&gt;  즉:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1271&quot; data-start=&quot;1243&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1271&quot; data-start=&quot;1243&quot;&gt;SQLi로 &lt;b&gt;XSS 페이로드를 DB에 주입&lt;/b&gt;하게 되는 코드가 있당.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 공격의 특징을 보면&amp;nbsp;특정 환경을 정확히 아는 공격으로 취약한 곳이면 뭐든 털겠다는 무차별 공격이라고 볼 수 있다.&amp;nbsp;&lt;/p&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;810&quot; data-origin-height=&quot;476&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bhY7wt/dJMcadOs2JX/tl8EwRh100nUbriMQcO761/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bhY7wt/dJMcadOs2JX/tl8EwRh100nUbriMQcO761/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bhY7wt/dJMcadOs2JX/tl8EwRh100nUbriMQcO761/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbhY7wt%2FdJMcadOs2JX%2Ftl8EwRh100nUbriMQcO761%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;810&quot; height=&quot;476&quot; data-origin-width=&quot;810&quot; data-origin-height=&quot;476&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 data-ke-size=&quot;size16&quot;&gt;이 SQL 구문을 보면 공격자가 무엇을 공격하려 했는지 알 수 있는데, 대충 보았을 때의 구조가&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SELECT&amp;nbsp;...&lt;br /&gt;FROM&amp;nbsp;dvwa.flag&lt;br /&gt;ORDER&amp;nbsp;BY&amp;nbsp;id&lt;br /&gt;LIMIT&amp;nbsp;0,1&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;IF(ASCII(SUBSTRING(flag,1,1))=68,&amp;nbsp;SLEEP(5),&amp;nbsp;0)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 조건이 붙기 때문이다. flag의 첫 글자의 ASCII 값이 68이면 5초 멈춰라. 라는 뜻으로 해석할 수 있는데 응답 시간이 달라지는지를 이용해서 데이터를 한 글자씩 뽑아내는 공격으로 해석할 수 있는 방식으로, ASCII 65, 66, 67, 68&amp;hellip; 이렇게 하나씩 바꿔가며 테스트하는 것이다. 따라서&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;974&quot; data-origin-height=&quot;230&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d7qf1U/dJMcac27JMd/DgHRptd1h075VwhLVf8Fq1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d7qf1U/dJMcac27JMd/DgHRptd1h075VwhLVf8Fq1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d7qf1U/dJMcac27JMd/DgHRptd1h075VwhLVf8Fq1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd7qf1U%2FdJMcac27JMd%2FDgHRptd1h075VwhLVf8Fq1%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;974&quot; height=&quot;230&quot; data-origin-width=&quot;974&quot; data-origin-height=&quot;230&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 data-ke-size=&quot;size16&quot;&gt;여기서 68 72 123 97 110 65 49 121 122 49 110 71 86 101 51 121 66 49 57 76 48 103 125 이 값들을 반환해보면 플래그를 추출할 수 있다고 한다.&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;1507&quot; data-origin-height=&quot;1499&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kYpX6/dJMcac27JOa/Ly2Q8Wk15Q4VqWQkEbOXT0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kYpX6/dJMcac27JOa/Ly2Q8Wk15Q4VqWQkEbOXT0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kYpX6/dJMcac27JOa/Ly2Q8Wk15Q4VqWQkEbOXT0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkYpX6%2FdJMcac27JOa%2FLy2Q8Wk15Q4VqWQkEbOXT0%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;1507&quot; height=&quot;1499&quot; data-origin-width=&quot;1507&quot; data-origin-height=&quot;1499&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 data-ke-size=&quot;size16&quot;&gt;플래그를 입력하면&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1454&quot; data-origin-height=&quot;1303&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brs82s/dJMcagkaEzT/yldhXGKTN7JnKY4en2T93k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brs82s/dJMcagkaEzT/yldhXGKTN7JnKY4en2T93k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brs82s/dJMcagkaEzT/yldhXGKTN7JnKY4en2T93k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbrs82s%2FdJMcagkaEzT%2FyldhXGKTN7JnKY4en2T93k%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;1454&quot; height=&quot;1303&quot; data-origin-width=&quot;1454&quot; data-origin-height=&quot;1303&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;성공한 것을 볼 수가 있다.&lt;/p&gt;</description>
      <author>yeseul7</author>
      <guid isPermaLink="true">https://yeseul7.tistory.com/16</guid>
      <comments>https://yeseul7.tistory.com/16#entry16comment</comments>
      <pubDate>Wed, 18 Feb 2026 21:41:35 +0900</pubDate>
    </item>
    <item>
      <title>[포렌식 기초] 3주차 과제</title>
      <link>https://yeseul7.tistory.com/15</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;시작~!&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;1. Find the USB&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;1272&quot; data-origin-height=&quot;1011&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3pRCS/dJMcaioFucJ/6QKPhbqXabgUdJh4EqQZGK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3pRCS/dJMcaioFucJ/6QKPhbqXabgUdJh4EqQZGK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3pRCS/dJMcaioFucJ/6QKPhbqXabgUdJh4EqQZGK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3pRCS%2FdJMcaioFucJ%2F6QKPhbqXabgUdJh4EqQZGK%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;1272&quot; height=&quot;1011&quot; data-origin-width=&quot;1272&quot; data-origin-height=&quot;1011&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;윈도우 레지스트리 분석을 통해 usb 사용 흔적을 파악하는 문제이다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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 floatRight&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1525&quot; data-origin-height=&quot;1060&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpv3iL/dJMcagj4mNr/YMI5IeKq4toVWMTGs5pi00/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpv3iL/dJMcagj4mNr/YMI5IeKq4toVWMTGs5pi00/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpv3iL/dJMcagj4mNr/YMI5IeKq4toVWMTGs5pi00/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbpv3iL%2FdJMcagj4mNr%2FYMI5IeKq4toVWMTGs5pi00%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;1525&quot; height=&quot;1060&quot; data-origin-width=&quot;1525&quot; data-origin-height=&quot;1060&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 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 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 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 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 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 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 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 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 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 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 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 data-ke-size=&quot;size16&quot;&gt;일단 당연히 FTK imager에서 문제 파일을 열어주고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 경로를 찾아 삼만리를 한다.&lt;/p&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;987&quot; data-origin-height=&quot;709&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Uh6W9/dJMcagYFrx4/rj95FG1cwckpD5kQDy3DVK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Uh6W9/dJMcagYFrx4/rj95FG1cwckpD5kQDy3DVK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Uh6W9/dJMcagYFrx4/rj95FG1cwckpD5kQDy3DVK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUh6W9%2FdJMcagYFrx4%2Frj95FG1cwckpD5kQDy3DVK%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;987&quot; height=&quot;709&quot; data-origin-width=&quot;987&quot; data-origin-height=&quot;709&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 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;1262&quot; data-origin-height=&quot;788&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bTnpmu/dJMcadAO67m/vUbx2dFu65hurv4kkW52r1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bTnpmu/dJMcadAO67m/vUbx2dFu65hurv4kkW52r1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bTnpmu/dJMcadAO67m/vUbx2dFu65hurv4kkW52r1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbTnpmu%2FdJMcadAO67m%2FvUbx2dFu65hurv4kkW52r1%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;1262&quot; height=&quot;788&quot; data-origin-width=&quot;1262&quot; data-origin-height=&quot;788&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마지막 system까지 추출을 끝냈으면 다음 단계는&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;992&quot; data-origin-height=&quot;657&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4neCP/dJMb99ZAd8D/cRkDMK4QkQ4WEqT7X7pn4K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4neCP/dJMb99ZAd8D/cRkDMK4QkQ4WEqT7X7pn4K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4neCP/dJMb99ZAd8D/cRkDMK4QkQ4WEqT7X7pn4K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4neCP%2FdJMb99ZAd8D%2FcRkDMK4QkQ4WEqT7X7pn4K%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;657&quot; data-origin-width=&quot;992&quot; data-origin-height=&quot;657&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 data-ke-size=&quot;size16&quot;&gt;이렇게 처리를 하는 것이다. 찾아보니 dirty 상태를 clean 상태로 만드는 것이라고 한다. 이렇게 해주는 이유는 전에 했던 분석과 파일이 섞일 수 있어서이다.&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;1342&quot; data-origin-height=&quot;1103&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8aYD5/dJMcagj4osP/1fjLvg1Dg8BNg0j3I6tFd1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8aYD5/dJMcagj4osP/1fjLvg1Dg8BNg0j3I6tFd1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8aYD5/dJMcagj4osP/1fjLvg1Dg8BNg0j3I6tFd1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8aYD5%2FdJMcagj4osP%2F1fjLvg1Dg8BNg0j3I6tFd1%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;1342&quot; height=&quot;1103&quot; data-origin-width=&quot;1342&quot; data-origin-height=&quot;1103&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 data-ke-size=&quot;size16&quot;&gt;clean을 완료하고&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/bjhPHF/dJMcadAO8ls/OhjnDnskkV1Xg3AjRdTzI1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bjhPHF/dJMcadAO8ls/OhjnDnskkV1Xg3AjRdTzI1/img.png&quot; data-origin-width=&quot;1444&quot; data-origin-height=&quot;839&quot; data-is-animation=&quot;false&quot; style=&quot;width: 48.5474%; margin-right: 10px;&quot; data-widthpercent=&quot;49.12&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bjhPHF/dJMcadAO8ls/OhjnDnskkV1Xg3AjRdTzI1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbjhPHF%2FdJMcadAO8ls%2FOhjnDnskkV1Xg3AjRdTzI1%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;1444&quot; height=&quot;839&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cEnabV/dJMcagRVj35/6LA2RqVgmuA9EUXrkpEgU0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cEnabV/dJMcagRVj35/6LA2RqVgmuA9EUXrkpEgU0/img.png&quot; data-origin-width=&quot;1478&quot; data-origin-height=&quot;829&quot; data-is-animation=&quot;false&quot; style=&quot;width: 50.2898%;&quot; data-widthpercent=&quot;50.88&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cEnabV/dJMcagRVj35/6LA2RqVgmuA9EUXrkpEgU0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcEnabV%2FdJMcagRVj35%2F6LA2RqVgmuA9EUXrkpEgU0%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;1478&quot; height=&quot;829&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기기 연결 흔적을 찾기 위해서 Registry Explorer를 열어 파일을 열어본 뒤 해당 경로를 찾는다.&amp;nbsp;&lt;/p&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;1698&quot; data-origin-height=&quot;1048&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bAjr8N/dJMcacPwOoF/JnNo7wGLTdjaoJ36jKTN31/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bAjr8N/dJMcacPwOoF/JnNo7wGLTdjaoJ36jKTN31/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bAjr8N/dJMcacPwOoF/JnNo7wGLTdjaoJ36jKTN31/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbAjr8N%2FdJMcacPwOoF%2FJnNo7wGLTdjaoJ36jKTN31%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;1698&quot; height=&quot;1048&quot; data-origin-width=&quot;1698&quot; data-origin-height=&quot;1048&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 data-end=&quot;149&quot; data-start=&quot;102&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;USBSTOR는 &amp;ldquo;저장장치로 실제 사용된 USB&amp;rdquo;만 기록되는 곳이기 때문에&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-end=&quot;198&quot; data-start=&quot;151&quot; data-ke-size=&quot;size16&quot;&gt;그래서 &lt;b&gt;Find the USB&lt;/b&gt; 문제에서는 &lt;b&gt;무조건 USBSTOR부터&lt;/b&gt; 봐야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음 사진에서 문제에서 요구한 2024년 4월의 시리얼 넘버를 살펴보면 03A49E66&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;1686&quot; data-origin-height=&quot;1038&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/JmsUZ/dJMcadnjyuz/bLeljttIHYmpAfISiZbExK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/JmsUZ/dJMcadnjyuz/bLeljttIHYmpAfISiZbExK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/JmsUZ/dJMcadnjyuz/bLeljttIHYmpAfISiZbExK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJmsUZ%2FdJMcadnjyuz%2FbLeljttIHYmpAfISiZbExK%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;1686&quot; height=&quot;1038&quot; data-origin-width=&quot;1686&quot; data-origin-height=&quot;1038&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 data-ke-size=&quot;size16&quot;&gt;USB에 들어가 같은 시리얼 넘버의 2024년 4월 흔적을 살펴보면 VID가 058F, PID가 6387인 것을 볼 수 있다.&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;그러므로 답 형식에 맞추면 답은&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;DH{058F_6387_03A49E66}&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;901&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwpAfY/dJMcacPwOxx/R3iNUKNrGCd88BO6EkppoK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwpAfY/dJMcacPwOxx/R3iNUKNrGCd88BO6EkppoK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwpAfY/dJMcacPwOxx/R3iNUKNrGCd88BO6EkppoK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbwpAfY%2FdJMcacPwOxx%2FR3iNUKNrGCd88BO6EkppoK%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;901&quot; data-origin-width=&quot;1231&quot; data-origin-height=&quot;901&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 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 data-ke-size=&quot;size16&quot;&gt;2. &lt;span style=&quot;background-color: #eeeeee; color: #2c3e50; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Autoruns&lt;/span&gt;&lt;/p&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;1207&quot; data-origin-height=&quot;961&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cIG4mn/dJMcafFtgvB/KFumvUD4RdPbcwuoskXLlk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cIG4mn/dJMcafFtgvB/KFumvUD4RdPbcwuoskXLlk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cIG4mn/dJMcafFtgvB/KFumvUD4RdPbcwuoskXLlk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcIG4mn%2FdJMcafFtgvB%2FKFumvUD4RdPbcwuoskXLlk%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;1207&quot; height=&quot;961&quot; data-origin-width=&quot;1207&quot; data-origin-height=&quot;961&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 data-ke-size=&quot;size16&quot;&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;1043&quot; data-origin-height=&quot;574&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cFteHX/dJMcagEo3VX/zIUz0oXDtY6RX5X9wbSQQ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cFteHX/dJMcagEo3VX/zIUz0oXDtY6RX5X9wbSQQ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cFteHX/dJMcagEo3VX/zIUz0oXDtY6RX5X9wbSQQ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcFteHX%2FdJMcagEo3VX%2FzIUz0oXDtY6RX5X9wbSQQ0%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;1043&quot; height=&quot;574&quot; data-origin-width=&quot;1043&quot; data-origin-height=&quot;574&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 data-ke-size=&quot;size16&quot;&gt;문제 이름도 그렇고, 컴퓨터가 재부팅 될때마다 실행된다고 했으니 다음과 같은 경로를 확인해본다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용자 레지스트리 하이브인 NTUSER.DAT로 들어가야한다.&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;1696&quot; data-origin-height=&quot;1109&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5GwXD/dJMcadAO9uX/C5ndMNzXchuKK9IrDAzWuk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5GwXD/dJMcadAO9uX/C5ndMNzXchuKK9IrDAzWuk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5GwXD/dJMcadAO9uX/C5ndMNzXchuKK9IrDAzWuk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5GwXD%2FdJMcadAO9uX%2FC5ndMNzXchuKK9IrDAzWuk%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;1109&quot; data-origin-width=&quot;1696&quot; data-origin-height=&quot;1109&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 data-ke-size=&quot;size16&quot;&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;1053&quot; data-origin-height=&quot;264&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nGkta/dJMcadHB7sj/2nGHvrzEwGBHnNgiyAcav0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nGkta/dJMcadHB7sj/2nGHvrzEwGBHnNgiyAcav0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nGkta/dJMcadHB7sj/2nGHvrzEwGBHnNgiyAcav0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnGkta%2FdJMcadHB7sj%2F2nGHvrzEwGBHnNgiyAcav0%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;1053&quot; height=&quot;264&quot; data-origin-width=&quot;1053&quot; data-origin-height=&quot;264&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;C:\Users\victim\malware.exe&quot;라는 데이터를 찾을 수 있다. 이건 victim 계정이 로그인할 때마다 malware.exe가 자동 실행되도록 등록돼 있다는 뜻이기 때문에&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;1633&quot; data-origin-height=&quot;1060&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/XUNRF/dJMcabpyqRm/Zy5X5oXghHElpkVhWrulSK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/XUNRF/dJMcabpyqRm/Zy5X5oXghHElpkVhWrulSK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/XUNRF/dJMcabpyqRm/Zy5X5oXghHElpkVhWrulSK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXUNRF%2FdJMcabpyqRm%2FZy5X5oXghHElpkVhWrulSK%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;1633&quot; height=&quot;1060&quot; data-origin-width=&quot;1633&quot; data-origin-height=&quot;1060&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 data-ke-size=&quot;size16&quot;&gt;이걸 FTK imager로 찾아보면 뜬다!&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;1442&quot; data-origin-height=&quot;906&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cuQMU3/dJMcag5sMOM/d2PT9oUvNLNtYokwW0ZlS1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cuQMU3/dJMcag5sMOM/d2PT9oUvNLNtYokwW0ZlS1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cuQMU3/dJMcag5sMOM/d2PT9oUvNLNtYokwW0ZlS1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcuQMU3%2FdJMcag5sMOM%2Fd2PT9oUvNLNtYokwW0ZlS1%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;906&quot; data-origin-width=&quot;1442&quot; data-origin-height=&quot;906&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 data-ke-size=&quot;size16&quot;&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;668&quot; data-origin-height=&quot;733&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EKpsY/dJMcacvepck/khPav035xqdSzeyMAyFUck/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EKpsY/dJMcacvepck/khPav035xqdSzeyMAyFUck/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EKpsY/dJMcacvepck/khPav035xqdSzeyMAyFUck/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEKpsY%2FdJMcacvepck%2FkhPav035xqdSzeyMAyFUck%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;668&quot; height=&quot;733&quot; data-origin-width=&quot;668&quot; data-origin-height=&quot;733&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;302021d31f2d0bce01d7afc26bfe2ba2가 MD5해시값임을 알 수 있다.&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;1271&quot; data-origin-height=&quot;1017&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/C4ug2/dJMcafMf7CC/jkKhKuwy3CGMaq5nI2Sxc0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/C4ug2/dJMcafMf7CC/jkKhKuwy3CGMaq5nI2Sxc0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/C4ug2/dJMcafMf7CC/jkKhKuwy3CGMaq5nI2Sxc0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FC4ug2%2FdJMcafMf7CC%2FjkKhKuwy3CGMaq5nI2Sxc0%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;1271&quot; height=&quot;1017&quot; data-origin-width=&quot;1271&quot; data-origin-height=&quot;1017&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 data-ke-size=&quot;size16&quot;&gt;해결 완~!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. boot_time&amp;nbsp;&lt;/p&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 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;1108&quot; data-origin-height=&quot;1067&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ehbJyb/dJMcadgzLtR/MEauMFRsjBIKgEzQ5pqG21/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ehbJyb/dJMcadgzLtR/MEauMFRsjBIKgEzQ5pqG21/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ehbJyb/dJMcadgzLtR/MEauMFRsjBIKgEzQ5pqG21/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FehbJyb%2FdJMcadgzLtR%2FMEauMFRsjBIKgEzQ5pqG21%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;1108&quot; height=&quot;1067&quot; data-origin-width=&quot;1108&quot; data-origin-height=&quot;1067&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 data-ke-size=&quot;size16&quot;&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;1326&quot; data-origin-height=&quot;636&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bsiz3d/dJMcaiPF37v/AN8fVCY9UcoATufhh4rna1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bsiz3d/dJMcaiPF37v/AN8fVCY9UcoATufhh4rna1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bsiz3d/dJMcaiPF37v/AN8fVCY9UcoATufhh4rna1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbsiz3d%2FdJMcaiPF37v%2FAN8fVCY9UcoATufhh4rna1%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;1326&quot; height=&quot;636&quot; data-origin-width=&quot;1326&quot; data-origin-height=&quot;636&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;FTK imager에 들어가 log파일 전체를 export 해주고&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;1154&quot; data-origin-height=&quot;766&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dOHKak/dJMcai3c9Pa/Lcwspqk9ky3Q4vSjqqE6g1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dOHKak/dJMcai3c9Pa/Lcwspqk9ky3Q4vSjqqE6g1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dOHKak/dJMcai3c9Pa/Lcwspqk9ky3Q4vSjqqE6g1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdOHKak%2FdJMcai3c9Pa%2FLcwspqk9ky3Q4vSjqqE6g1%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;766&quot; data-origin-width=&quot;1154&quot; data-origin-height=&quot;766&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 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 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;1115&quot; data-origin-height=&quot;840&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Pf8lC/dJMcaaKVEzW/wC4O8BsOMk1KoSTTS83flK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Pf8lC/dJMcaaKVEzW/wC4O8BsOMk1KoSTTS83flK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Pf8lC/dJMcaaKVEzW/wC4O8BsOMk1KoSTTS83flK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPf8lC%2FdJMcaaKVEzW%2FwC4O8BsOMk1KoSTTS83flK%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;1115&quot; height=&quot;840&quot; data-origin-width=&quot;1115&quot; data-origin-height=&quot;840&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 data-ke-size=&quot;size16&quot;&gt;ppt에 적힌대로 일단 security먼저 들어가서&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;868&quot; data-origin-height=&quot;549&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RwH43/dJMcabJRDGQ/jULgKitlig0Ygi9DkeBLKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RwH43/dJMcabJRDGQ/jULgKitlig0Ygi9DkeBLKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RwH43/dJMcabJRDGQ/jULgKitlig0Ygi9DkeBLKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRwH43%2FdJMcabJRDGQ%2FjULgKitlig0Ygi9DkeBLKK%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;549&quot; data-origin-width=&quot;868&quot; data-origin-height=&quot;549&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 data-ke-size=&quot;size16&quot;&gt;마지막 부팅이니까 EventID 4608으로 찾아본다&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;795&quot; data-origin-height=&quot;833&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qw0z7/dJMcadOlXkX/iDZQZlrOHJMzxGsGF0MQkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qw0z7/dJMcadOlXkX/iDZQZlrOHJMzxGsGF0MQkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qw0z7/dJMcadOlXkX/iDZQZlrOHJMzxGsGF0MQkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fqw0z7%2FdJMcadOlXkX%2FiDZQZlrOHJMzxGsGF0MQkK%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;795&quot; height=&quot;833&quot; data-origin-width=&quot;795&quot; data-origin-height=&quot;833&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 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;1057&quot; data-origin-height=&quot;749&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/33Fzu/dJMcacBY49K/7Kr3Y3xlokQMj0HGomsUD1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/33Fzu/dJMcacBY49K/7Kr3Y3xlokQMj0HGomsUD1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/33Fzu/dJMcacBY49K/7Kr3Y3xlokQMj0HGomsUD1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F33Fzu%2FdJMcacBY49K%2F7Kr3Y3xlokQMj0HGomsUD1%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;1057&quot; height=&quot;749&quot; data-origin-width=&quot;1057&quot; data-origin-height=&quot;749&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마지막 부팅이랬으니 답은 2024.04.07일에 있던게 맞는 것 같다.&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;905&quot; data-origin-height=&quot;509&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NZpxy/dJMcaihS88I/GTgVytHtzkoDzZ1EKbDjK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NZpxy/dJMcaihS88I/GTgVytHtzkoDzZ1EKbDjK1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NZpxy/dJMcaihS88I/GTgVytHtzkoDzZ1EKbDjK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNZpxy%2FdJMcaihS88I%2FGTgVytHtzkoDzZ1EKbDjK1%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;905&quot; height=&quot;509&quot; data-origin-width=&quot;905&quot; data-origin-height=&quot;509&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 data-ke-size=&quot;size16&quot;&gt;답 치던 중 한번 틀렸는데... 이유가 오전 12시이기 때문에 12가 아니라 00가 답이었다.. 한참 헤메었다ㅜㅜㅜ&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;4. nikonikoni&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1218&quot; data-origin-height=&quot;1292&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DVpoa/dJMcaiWsR8z/e5NU72SlhW0KxhzbVgwuxK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DVpoa/dJMcaiWsR8z/e5NU72SlhW0KxhzbVgwuxK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DVpoa/dJMcaiWsR8z/e5NU72SlhW0KxhzbVgwuxK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDVpoa%2FdJMcaiWsR8z%2Fe5NU72SlhW0KxhzbVgwuxK%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;1218&quot; height=&quot;1292&quot; data-origin-width=&quot;1218&quot; data-origin-height=&quot;1292&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 data-ke-size=&quot;size16&quot;&gt;왜 자구 이런 해킹을 당하는 건지 모를 일이다ㅜㅜ&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;아까 boot 한거랑 똑같은 파일을 쓰기 때문에 중략하고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어디를 살펴봐야 할지 몰라서 GPT에게 물어보니&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;224&quot; data-start=&quot;203&quot; data-ke-size=&quot;size26&quot;&gt;문제 상황을 포렌식 관점으로 풀면&lt;/h2&gt;
&lt;h3 data-end=&quot;238&quot; data-start=&quot;226&quot; data-ke-size=&quot;size23&quot;&gt;  사건 요약&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;304&quot; data-start=&quot;239&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;265&quot; data-start=&quot;239&quot;&gt;배경화면이 &lt;b&gt;애니메이션 캐릭터로 변경됨&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;282&quot; data-start=&quot;266&quot;&gt;사용자는 직접 바꾼 적 ❌&lt;/li&gt;
&lt;li data-end=&quot;304&quot; data-start=&quot;283&quot;&gt;&amp;rArr; &lt;b&gt;스크립트가 실행됐다&lt;/b&gt;는 뜻&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;309&quot; data-start=&quot;306&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;333&quot; data-start=&quot;311&quot; data-ke-size=&quot;size26&quot;&gt;그럼 &amp;ldquo;어떤 방식&amp;rdquo;이 제일 흔하냐?&lt;/h2&gt;
&lt;h3 data-end=&quot;356&quot; data-start=&quot;335&quot; data-ke-size=&quot;size23&quot;&gt;✅ 1순위: PowerShell&lt;/h3&gt;
&lt;p data-end=&quot;362&quot; data-start=&quot;357&quot; data-ke-size=&quot;size16&quot;&gt;왜냐하면:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;437&quot; data-start=&quot;363&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;372&quot; data-start=&quot;363&quot;&gt;파일 다운로드&lt;/li&gt;
&lt;li data-end=&quot;381&quot; data-start=&quot;373&quot;&gt;이미지 변경&lt;/li&gt;
&lt;li data-end=&quot;392&quot; data-start=&quot;382&quot;&gt;레지스트리 수정&lt;/li&gt;
&lt;li data-end=&quot;437&quot; data-start=&quot;393&quot;&gt;자동 실행 등록&lt;br /&gt;  &lt;b&gt;이걸 전부 PowerShell 한 줄로 가능&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;451&quot; data-start=&quot;439&quot; data-ke-size=&quot;size16&quot;&gt;실제 공격자 입장에서:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;powershell &lt;/span&gt;&lt;span&gt;&lt;span&gt;-ExecutionPolicy&lt;/span&gt;&lt;/span&gt;&lt;span&gt; Bypass &lt;/span&gt;&lt;span&gt;&lt;span&gt;-File&lt;/span&gt;&lt;/span&gt;&lt;span&gt; script.ps1 &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;531&quot; data-start=&quot;522&quot; data-ke-size=&quot;size16&quot;&gt;이게 제일 흔함.&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이라고 한다. 그러므로 powershell을 함 열어본다....&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;2207&quot; data-origin-height=&quot;1460&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1pWHH/dJMcab37W34/jLan1bOwdwS7FKT7ZK49k1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1pWHH/dJMcab37W34/jLan1bOwdwS7FKT7ZK49k1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1pWHH/dJMcab37W34/jLan1bOwdwS7FKT7ZK49k1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1pWHH%2FdJMcab37W34%2FjLan1bOwdwS7FKT7ZK49k1%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;2207&quot; height=&quot;1460&quot; data-origin-width=&quot;2207&quot; data-origin-height=&quot;1460&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 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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;뭔가 내려받는 파일이 있어서 https링크 복붙해 들어가보니&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;1356&quot; data-origin-height=&quot;973&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cDnt9l/dJMcahccEQs/OqTk1w0fJa84J8SeD3mijK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cDnt9l/dJMcahccEQs/OqTk1w0fJa84J8SeD3mijK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cDnt9l/dJMcahccEQs/OqTk1w0fJa84J8SeD3mijK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcDnt9l%2FdJMcahccEQs%2FOqTk1w0fJa84J8SeD3mijK%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;1356&quot; height=&quot;973&quot; data-origin-width=&quot;1356&quot; data-origin-height=&quot;973&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 파일이 있다. 보기만해도 어지러워 지피티한테 물어보니 읽어야 하는 핵심 코드 10줄 정도를 해석해 알려주었고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드의 흐름을 보았을 때 ||로 인해 앞에 있던 명령어의 출력이 뒤에 있는 것의 입력으로 가며&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;jpg 파일이 다운로드 되어 창에 띄워지는 그런 악성 코드의 흐름을 가지고 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;악성 스크립트 실행 시간을 unix로 바꿔야된댄다&amp;nbsp; . 왜냐하면, 문제에서 시켯기 때문. 2024-04-07 오전 12시 26분 45초였으니 또 속지말고 00으로 꼭 해서 돌려보면&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;DH{merong_ani_1712417205}가 답이 된다. 넘 어려운문제였는데... 이해를 위해서 한번 더 봐야할듯 ㅜ&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; 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;883&quot; data-origin-height=&quot;535&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bw5GPn/dJMcaaEaDz9/xxKfHnqw3mXFOJQAoeTKj0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bw5GPn/dJMcaaEaDz9/xxKfHnqw3mXFOJQAoeTKj0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bw5GPn/dJMcaaEaDz9/xxKfHnqw3mXFOJQAoeTKj0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbw5GPn%2FdJMcaaEaDz9%2FxxKfHnqw3mXFOJQAoeTKj0%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;883&quot; height=&quot;535&quot; data-origin-width=&quot;883&quot; data-origin-height=&quot;535&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. &lt;span style=&quot;background-color: #eeeeee; color: #2c3e50; text-align: start;&quot;&gt;Track_the_file&lt;/span&gt;&lt;/p&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;1129&quot; data-origin-height=&quot;1115&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqlX1k/dJMcaiPF4Yg/KtkkvfKEIKsVH8bBnLklOK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqlX1k/dJMcaiPF4Yg/KtkkvfKEIKsVH8bBnLklOK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqlX1k/dJMcaiPF4Yg/KtkkvfKEIKsVH8bBnLklOK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqlX1k%2FdJMcaiPF4Yg%2FKtkkvfKEIKsVH8bBnLklOK%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;1129&quot; height=&quot;1115&quot; data-origin-width=&quot;1129&quot; data-origin-height=&quot;1115&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 data-ke-size=&quot;size16&quot;&gt;드림이가 자꾸 해킹에 당해온다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;드림이: 나도 힘들다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;978&quot; data-origin-height=&quot;535&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Xo0fm/dJMcaia8TKl/ykaWdTN36r6L1G3vtFHTj1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Xo0fm/dJMcaia8TKl/ykaWdTN36r6L1G3vtFHTj1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Xo0fm/dJMcaia8TKl/ykaWdTN36r6L1G3vtFHTj1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXo0fm%2FdJMcaia8TKl%2FykaWdTN36r6L1G3vtFHTj1%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;978&quot; height=&quot;535&quot; data-origin-width=&quot;978&quot; data-origin-height=&quot;535&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 data-ke-size=&quot;size16&quot;&gt;ppt에 적힌대로 추출을 하고&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1638&quot; data-origin-height=&quot;546&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b21jqX/dJMcaaqDg5v/TAQCSmpcgL4vGHfHg1Z7y1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b21jqX/dJMcaaqDg5v/TAQCSmpcgL4vGHfHg1Z7y1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b21jqX/dJMcaaqDg5v/TAQCSmpcgL4vGHfHg1Z7y1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb21jqX%2FdJMcaaqDg5v%2FTAQCSmpcgL4vGHfHg1Z7y1%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;1638&quot; height=&quot;546&quot; data-origin-width=&quot;1638&quot; data-origin-height=&quot;546&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 data-ke-size=&quot;size16&quot;&gt;NTFS log Tracker로 각자 자리에 잘 넣어준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;추출 후 &lt;span style=&quot;color: #222222; text-align: start;&quot;&gt;DB browser for SQLite에서 열어주면&amp;nbsp;&lt;/span&gt;&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;많은 것이 뜬다. 우리의 목표는 파일이 복사된것을 확인하는 것이다.&lt;/p&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;UsnJrnl 로그 분석 결과, malware.exe에 대해 동일 시각에 다수의 기록이 확인되었으며, 이는 파일이 복사 및 생성되는 과정에서 발생한 이벤트로 해석할 수 있다!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;NTFS UsnJrnl 특성상 파일 복사 시 여러 이벤트가 연속적으로 기록된다고 한다. malware.exe 역시 해당 시점에 생성/쓰기 이벤트가 확인된다.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dna/cNbC18/dJMcaaYsv76/AAAAAAAAAAAAAAAAAAAAAKZYQKSLJo_1t61uyQDM5Q15hNH3f4nn-sCCiXST1eUH/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&amp;amp;expires=1772290799&amp;amp;allow_ip=&amp;amp;allow_referer=&amp;amp;signature=fd1oy1Hput69EfAeNT8OttIPQLY%3D&quot; data-origin-width=&quot;787&quot; data-origin-height=&quot;327&quot; data-is-animation=&quot;false&quot; /&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;플래그 양식인&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #000000; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FLAG =&lt;span&gt;&amp;nbsp;&lt;/span&gt;DH{yyyy_MM_dd_hh_mm_ss}대로 쓰면&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #222222; text-align: start;&quot;&gt;DH{2024_04_04_21_10_46}가 정답이 된다.&lt;/span&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;1075&quot; data-origin-height=&quot;795&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/K3ihe/dJMcagdjYKx/5UPkttLS8Lfem0eD7WTLwK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/K3ihe/dJMcagdjYKx/5UPkttLS8Lfem0eD7WTLwK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/K3ihe/dJMcagdjYKx/5UPkttLS8Lfem0eD7WTLwK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FK3ihe%2FdJMcagdjYKx%2F5UPkttLS8Lfem0eD7WTLwK%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;1075&quot; height=&quot;795&quot; data-origin-width=&quot;1075&quot; data-origin-height=&quot;795&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <author>yeseul7</author>
      <guid isPermaLink="true">https://yeseul7.tistory.com/15</guid>
      <comments>https://yeseul7.tistory.com/15#entry15comment</comments>
      <pubDate>Wed, 4 Feb 2026 13:33:16 +0900</pubDate>
    </item>
    <item>
      <title>[Devops 3.5기] 2주차 과제</title>
      <link>https://yeseul7.tistory.com/14</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #eeeeee; color: #ecf0f1; text-align: start;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1.&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;background-color: #eeeeee; text-align: start;&quot;&gt;dockerhub&lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; text-align: start;&quot;&gt;에 올렸는데 이걸 이제&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; text-align: start;&quot;&gt;pull&lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; text-align: start;&quot;&gt;로 가져와서&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; text-align: start;&quot;&gt;wsl&lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; text-align: start;&quot;&gt;에서 실행시켜보기&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;해봅시당~&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;근데 이제 나는 맥북이기 때문에 알아보니 wsl는 신경 쓸 필요가 없다구 햇당 &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;WSL = 윈도우 안에서 리눅스를 쓰게 해주는 것&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;인데 나는 리눅스가 바탕이기 때문이다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;드디어 맥북을 쓰는 이점이 생겼다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;끼끼.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-01-28 오전 9.11.11.png&quot; data-origin-width=&quot;1376&quot; data-origin-height=&quot;344&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b8qaAm/dJMcagj1Rit/ICjjURkkFZgy39lIGjpOEk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b8qaAm/dJMcagj1Rit/ICjjURkkFZgy39lIGjpOEk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b8qaAm/dJMcagj1Rit/ICjjURkkFZgy39lIGjpOEk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb8qaAm%2FdJMcagj1Rit%2FICjjURkkFZgy39lIGjpOEk%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;1376&quot; height=&quot;344&quot; data-filename=&quot;스크린샷 2026-01-28 오전 9.11.11.png&quot; data-origin-width=&quot;1376&quot; data-origin-height=&quot;344&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;일단 vs 코드에서 새로운 터미널을 열고,&lt;/span&gt;&lt;/span&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-filename=&quot;스크린샷 2026-01-28 오전 9.11.44.png&quot; data-origin-width=&quot;1372&quot; data-origin-height=&quot;502&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bcEnby/dJMcaaYpI9M/vB9tMEHhQEoeKjtyUhr640/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bcEnby/dJMcaaYpI9M/vB9tMEHhQEoeKjtyUhr640/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bcEnby/dJMcaaYpI9M/vB9tMEHhQEoeKjtyUhr640/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbcEnby%2FdJMcaaYpI9M%2FvB9tMEHhQEoeKjtyUhr640%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;1372&quot; height=&quot;502&quot; data-filename=&quot;스크린샷 2026-01-28 오전 9.11.44.png&quot; data-origin-width=&quot;1372&quot; data-origin-height=&quot;502&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 data-ke-size=&quot;size16&quot;&gt;uname -a 로 지금 이 터미널이 맥 터미널이 맞는지 확인해본다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Daewin이 뜨면 맞다고 한다!&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-filename=&quot;스크린샷 2026-01-28 오전 9.12.59.png&quot; data-origin-width=&quot;1370&quot; data-origin-height=&quot;532&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qci6x/dJMcafem4pV/kk2WNf5FSUA34QVcqxH9pk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qci6x/dJMcafem4pV/kk2WNf5FSUA34QVcqxH9pk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qci6x/dJMcafem4pV/kk2WNf5FSUA34QVcqxH9pk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fqci6x%2FdJMcafem4pV%2Fkk2WNf5FSUA34QVcqxH9pk%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;1370&quot; height=&quot;532&quot; data-filename=&quot;스크린샷 2026-01-28 오전 9.12.59.png&quot; data-origin-width=&quot;1370&quot; data-origin-height=&quot;532&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 data-ke-size=&quot;size16&quot;&gt;docker --version 로 docker 버전을 출력해서, 설치와 실행이 되는 것을 확인 후&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-filename=&quot;스크린샷 2026-01-28 오전 9.15.25.png&quot; data-origin-width=&quot;1394&quot; data-origin-height=&quot;292&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bXx7Qq/dJMcaiB6Uvw/hBKFCbKdeZ7wH2iTa8TpS1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bXx7Qq/dJMcaiB6Uvw/hBKFCbKdeZ7wH2iTa8TpS1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bXx7Qq/dJMcaiB6Uvw/hBKFCbKdeZ7wH2iTa8TpS1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbXx7Qq%2FdJMcaiB6Uvw%2FhBKFCbKdeZ7wH2iTa8TpS1%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;1394&quot; height=&quot;292&quot; data-filename=&quot;스크린샷 2026-01-28 오전 9.15.25.png&quot; data-origin-width=&quot;1394&quot; data-origin-height=&quot;292&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 data-ke-size=&quot;size16&quot;&gt;pull 해보려니 안되었다... 물어보니 login이 안되어서 그렇다고..&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-filename=&quot;스크린샷 2026-01-28 오전 9.32.14.png&quot; data-origin-width=&quot;1420&quot; data-origin-height=&quot;326&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LiqmC/dJMcaiWpMka/OIIkQpkfUKMTwm8rvBBNX0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LiqmC/dJMcaiWpMka/OIIkQpkfUKMTwm8rvBBNX0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LiqmC/dJMcaiWpMka/OIIkQpkfUKMTwm8rvBBNX0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLiqmC%2FdJMcaiWpMka%2FOIIkQpkfUKMTwm8rvBBNX0%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;1420&quot; height=&quot;326&quot; data-filename=&quot;스크린샷 2026-01-28 오전 9.32.14.png&quot; data-origin-width=&quot;1420&quot; data-origin-height=&quot;326&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 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-filename=&quot;스크린샷 2026-01-28 오전 10.30.24.png&quot; data-origin-width=&quot;1394&quot; data-origin-height=&quot;248&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/beAkmn/dJMcaaxlZw6/MWkAJSl0qEJ8qprg1k3Mvk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/beAkmn/dJMcaaxlZw6/MWkAJSl0qEJ8qprg1k3Mvk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/beAkmn/dJMcaaxlZw6/MWkAJSl0qEJ8qprg1k3Mvk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbeAkmn%2FdJMcaaxlZw6%2FMWkAJSl0qEJ8qprg1k3Mvk%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;1394&quot; height=&quot;248&quot; data-filename=&quot;스크린샷 2026-01-28 오전 10.30.24.png&quot; data-origin-width=&quot;1394&quot; data-origin-height=&quot;248&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 data-ke-size=&quot;size16&quot;&gt;pull 해주면 된다.&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-filename=&quot;스크린샷 2026-01-28 오전 10.34.59.png&quot; data-origin-width=&quot;1370&quot; data-origin-height=&quot;146&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cPiBWv/dJMcadgvYDD/sqGmnBCc6evKFUsDk0EUgK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cPiBWv/dJMcadgvYDD/sqGmnBCc6evKFUsDk0EUgK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cPiBWv/dJMcadgvYDD/sqGmnBCc6evKFUsDk0EUgK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcPiBWv%2FdJMcadgvYDD%2FsqGmnBCc6evKFUsDk0EUgK%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;1370&quot; height=&quot;146&quot; data-filename=&quot;스크린샷 2026-01-28 오전 10.34.59.png&quot; data-origin-width=&quot;1370&quot; data-origin-height=&quot;146&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 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 data-ke-size=&quot;size16&quot;&gt;과제 2번~!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #eeeeee; color: #ecf0f1; text-align: start;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2. 다음 실습 때&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;background-color: #eeeeee; text-align: start;&quot;&gt;&amp;nbsp;GCP&lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; text-align: start;&quot;&gt;에서 자동 배포할 예정이니&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; text-align: start;&quot;&gt;카드 등록해오기&lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; text-align: start;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; text-align: start;&quot;&gt;무료임&lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; text-align: start;&quot;&gt;!)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;카드 등록 완!&lt;/span&gt;&lt;/span&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-filename=&quot;스크린샷 2026-01-28 오전 10.48.11.png&quot; data-origin-width=&quot;1316&quot; data-origin-height=&quot;296&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eBTZlP/dJMcabbWDA5/bON2kK2CWhbVtLI1d7mRLK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eBTZlP/dJMcabbWDA5/bON2kK2CWhbVtLI1d7mRLK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eBTZlP/dJMcabbWDA5/bON2kK2CWhbVtLI1d7mRLK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeBTZlP%2FdJMcabbWDA5%2FbON2kK2CWhbVtLI1d7mRLK%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;1316&quot; height=&quot;296&quot; data-filename=&quot;스크린샷 2026-01-28 오전 10.48.11.png&quot; data-origin-width=&quot;1316&quot; data-origin-height=&quot;296&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;과제 3번!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #eeeeee; color: #000000; text-align: start;&quot;&gt;3. CI/CD 배웠던 파이프라인 구조 뭔지 알아보기, nginx가 뭐였는지 알아보기&lt;/span&gt;&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;CI&lt;/b&gt;는 지속적 통합, Continuous Integration의 줄임말이라고 한다! 개발자가 작업한 코드를 주기적으로 Main Repository에 병합(merge)하여 변경하게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우리가 실습에서 했던 것은 &lt;span&gt;.github/workflows/flask_ci.yml&lt;/span&gt;&lt;span&gt; 파일을 통해 Pull Request 생성 시 CI가 작동하도록 설정했다!&lt;/span&gt;&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;b&gt;CD&lt;/b&gt;는 지속적 배포/구축을 뜻하고 Continuous Delivery/Deployment의 줄임말이라고 한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;빌드된 결과물을 Docker 이미지로 만들어 Docker Hub에 자동으로 push해서 올린다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;Main 브랜치에 PR(Pull Request)이 머지되면 자동으로 배포 프로세스가 진행된다고 한다. 실습 과정에서는 GitHub의 Secrets 기능을 이용해 Docker Hub 토큰 등을 저장하고, 머지 성공 시 Docker Hub에 이미지가 푸시되도록 구축하는 작업이 적혀있다.(ppt 내용 참고)&lt;/span&gt;&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;16&quot; data-path-to-node=&quot;5&quot;&gt;nginx&lt;/b&gt;는 서비스의 앞단에서 요청을 받아 전달해 주는 역할으로, 쓰인 말로는 &lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;6,0,1,0&quot;&gt;&lt;span&gt;리버스 프록시(Reverse Proxy)&lt;/span&gt;&lt;/b&gt;&lt;span&gt;라는 기능을 통해&lt;/span&gt;&lt;span&gt; 클라이언트의 요청을 받아서 실제 애플리케이션(예: 8080 포트)으로 전달해 주는 역할을 수행하게된다.&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;조금 쉬운 설명으로 이해하고자 한다면, 안내원으로 생각하여 용자가 &quot;저 여기 서비스 좀 쓸게요!&quot; 하고 들어오면, Nginx가 &quot;아, 이쪽으로 가세요~&quot; 하고 내부 서버(예: 8080 포트)로 길을 안내해 준다고 한다. 장점으로는 두개가 있다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;7,1,1,0,0&quot;&gt;보호&lt;/b&gt;: 서버를 직접 노출 안 시켜서 보안에 좋다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;7,1,1,1,0&quot;&gt;교통정리&lt;/b&gt;: 손님이 너무 많으면 여러 서버로 나누어 보내주기도 한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;CI/CD 파이프라인&lt;/b&gt;도 쉽게 표현하면, 코드를 넣으면 서비스가 짠! 하고 나오는 자동화 공장이라고 생각하면 된다고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-path-to-node=&quot;3&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;3,0,0&quot;&gt;코드 작성 (GitHub)&lt;/b&gt;: 네가 코드를 고치고 GitHub에 올린다.(Push/PR).&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;3,1,0&quot;&gt;검사 단계 (CI)&lt;/b&gt;: 샌드위치 재료가 신선한지 검사하듯, GitHub Actions가 네 코드를 자동으로 빌드하고 테스트 (문제가 있으면 여기서 딱 걸리게 됨)&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;3,2,0&quot;&gt;박스 포장 (Docker)&lt;/b&gt;: 검사가 끝난 코드를 어느 컴퓨터에서나 잘 돌아가게 'Docker'라는 박스에 예쁘게 담는다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;3,3,0&quot;&gt;배송 및 진열 (CD)&lt;/b&gt;: 박스(Docker 이미지)를 Docker Hub에 보내고, 우리 서버(AWS 등)에서 새 버전으로 교체한다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음과 같은 단계가 이어진다고 생각하면 된다!&lt;/p&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 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;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;11,0,0&quot;&gt;GitHub&lt;/b&gt;: 코드를 커밋하고 Pull Request(PR)를 날린다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;11,1,0&quot;&gt;GitHub Actions(yml...)&lt;/b&gt;:&amp;nbsp; PR이 올라오면 자동으로 CI(빌드/테스트)를 돌린다,&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;11,2,0&quot;&gt;Docker Hub&lt;/b&gt;: CI가 성공하면 소스코드를 &lt;b data-index-in-node=&quot;27&quot; data-path-to-node=&quot;11,2,0&quot;&gt;Docker 이미지&lt;/b&gt;로 구워서 Docker Hub라는 창고에 저장한다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;ㄴ 이 과정에서 왜 굳이 Docker를 쓰는가?에 대해선 이미 수업 시간에 들었던 바로, 환경 일관성. 즉, 어떤 컴퓨터 환경에서도 동일하게 내 프로그램을 실행하기 위해서라고 생각해면 된다)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;11,3,0&quot;&gt;Server (Nginx)&lt;/b&gt;: 최종적으로 우리 서버에 배포되면, &lt;b data-index-in-node=&quot;35&quot; data-path-to-node=&quot;11,3,0&quot;&gt;Nginx&lt;/b&gt;가 딱 버티고 서서 들어오는 요청을 처리해 주는 구조.&lt;/li&gt;
&lt;/ul&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 data-ke-size=&quot;size16&quot;&gt;'GitHub Actions가 코드를 검사해서 Docker 박스에 담아 창고(Docker Hub)에 넣으면, Nginx라는 문지기가 있는 서버에서 서비스가 돌아가는 것' 이라고 이해하면 편하다.&amp;nbsp;&lt;/p&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 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 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 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 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;</description>
      <author>yeseul7</author>
      <guid isPermaLink="true">https://yeseul7.tistory.com/14</guid>
      <comments>https://yeseul7.tistory.com/14#entry14comment</comments>
      <pubDate>Wed, 28 Jan 2026 11:33:26 +0900</pubDate>
    </item>
    <item>
      <title>[Devops 3.5기] 1주차 과제</title>
      <link>https://yeseul7.tistory.com/13</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;밀렷다. 벼락치기가 아닌 벼락맞기... 1주차 과제 시작~!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1940&quot; data-origin-height=&quot;1255&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6QC32/dJMcacPtoNM/hDNO1rGgzmz32CMcledauK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6QC32/dJMcacPtoNM/hDNO1rGgzmz32CMcledauK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6QC32/dJMcacPtoNM/hDNO1rGgzmz32CMcledauK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6QC32%2FdJMcacPtoNM%2FhDNO1rGgzmz32CMcledauK%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;1940&quot; height=&quot;1255&quot; data-origin-width=&quot;1940&quot; data-origin-height=&quot;1255&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;1314&quot; data-origin-height=&quot;921&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c0nzci/dJMcabpufWq/qmpjbNWWRk698MmKvMEtmK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c0nzci/dJMcabpufWq/qmpjbNWWRk698MmKvMEtmK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c0nzci/dJMcabpufWq/qmpjbNWWRk698MmKvMEtmK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc0nzci%2FdJMcabpufWq%2FqmpjbNWWRk698MmKvMEtmK%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;1314&quot; height=&quot;921&quot; data-origin-width=&quot;1314&quot; data-origin-height=&quot;921&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;요래 다양한 명령어를 배울 수 있는 것 같다.&lt;/p&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;1388&quot; data-origin-height=&quot;1292&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bKIglC/dJMcahpH9aI/vkZgg7NUlAqSgTnY21kegk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bKIglC/dJMcahpH9aI/vkZgg7NUlAqSgTnY21kegk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bKIglC/dJMcahpH9aI/vkZgg7NUlAqSgTnY21kegk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbKIglC%2FdJMcahpH9aI%2FvkZgg7NUlAqSgTnY21kegk%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;1388&quot; height=&quot;1292&quot; data-origin-width=&quot;1388&quot; data-origin-height=&quot;1292&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 data-ke-size=&quot;size16&quot;&gt;우리의 과제는 1단계(git 기본)의 문제 4까지 해보는 것 같다!&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;1317&quot; data-origin-height=&quot;680&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfA2pY/dJMcaiPCXmy/3v5NI0ZzDN1TywmenGiqH1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfA2pY/dJMcaiPCXmy/3v5NI0ZzDN1TywmenGiqH1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfA2pY/dJMcaiPCXmy/3v5NI0ZzDN1TywmenGiqH1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfA2pY%2FdJMcaiPCXmy%2F3v5NI0ZzDN1TywmenGiqH1%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;1317&quot; height=&quot;680&quot; data-origin-width=&quot;1317&quot; data-origin-height=&quot;680&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;1847&quot; data-origin-height=&quot;1137&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bNXOPL/dJMcajns1SG/d6tVuWzsYlcQ7TutXxSokk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bNXOPL/dJMcajns1SG/d6tVuWzsYlcQ7TutXxSokk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bNXOPL/dJMcajns1SG/d6tVuWzsYlcQ7TutXxSokk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbNXOPL%2FdJMcajns1SG%2Fd6tVuWzsYlcQ7TutXxSokk%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;1847&quot; height=&quot;1137&quot; data-origin-width=&quot;1847&quot; data-origin-height=&quot;1137&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;1828&quot; data-origin-height=&quot;785&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BlkEq/dJMcagdfXT6/bVaQYPPskkD14IgFFaNKYk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BlkEq/dJMcagdfXT6/bVaQYPPskkD14IgFFaNKYk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BlkEq/dJMcagdfXT6/bVaQYPPskkD14IgFFaNKYk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBlkEq%2FdJMcagdfXT6%2FbVaQYPPskkD14IgFFaNKYk%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;1828&quot; height=&quot;785&quot; data-origin-width=&quot;1828&quot; data-origin-height=&quot;785&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 data-ke-size=&quot;size16&quot;&gt;두번 해보니 끝낫다. 아직까진 쉽지만 방심하지. 않을. 것.입니다.&lt;/p&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;1429&quot; data-origin-height=&quot;651&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/buYH2M/dJMcafrSoxS/qXCQQkl5uNwpAhwwLlSCaK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/buYH2M/dJMcafrSoxS/qXCQQkl5uNwpAhwwLlSCaK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/buYH2M/dJMcafrSoxS/qXCQQkl5uNwpAhwwLlSCaK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbuYH2M%2FdJMcafrSoxS%2FqXCQQkl5uNwpAhwwLlSCaK%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;1429&quot; height=&quot;651&quot; data-origin-width=&quot;1429&quot; data-origin-height=&quot;651&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 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;1896&quot; data-origin-height=&quot;513&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HJPCY/dJMcah4jogc/MhMgvU4B5cmfF8QR1ZgQhK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HJPCY/dJMcah4jogc/MhMgvU4B5cmfF8QR1ZgQhK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HJPCY/dJMcah4jogc/MhMgvU4B5cmfF8QR1ZgQhK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHJPCY%2FdJMcah4jogc%2FMhMgvU4B5cmfF8QR1ZgQhK%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;1896&quot; height=&quot;513&quot; data-origin-width=&quot;1896&quot; data-origin-height=&quot;513&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;1809&quot; data-origin-height=&quot;643&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bVJfl3/dJMcaac2Qk5/u95IbQnEbq1RvHiKdInRY0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bVJfl3/dJMcaac2Qk5/u95IbQnEbq1RvHiKdInRY0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bVJfl3/dJMcaac2Qk5/u95IbQnEbq1RvHiKdInRY0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbVJfl3%2FdJMcaac2Qk5%2Fu95IbQnEbq1RvHiKdInRY0%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;1809&quot; height=&quot;643&quot; data-origin-width=&quot;1809&quot; data-origin-height=&quot;643&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 data-ke-size=&quot;size16&quot;&gt;해결을 했다. 사실 한번 중간에 틀렸는데, 이건 인자를 2개까지만 받기 때문에 같이 써서 그렇다고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이쯤에서 잠깐 헷갈려서 소중한 친구 지피티한테 물어봤는데 커밋은 사진 찍는 것, 브랜치(main)은 지금 최신 사진이 어디있는지 알려주는 화살표 같은 거라고 했다. 여기서 main은 사진이 아니라 화살표라서 움직일 수 있다고 했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;437&quot; data-start=&quot;408&quot; data-ke-size=&quot;size16&quot;&gt;왜 commit 하면 main이 움직이냐고 물었는데, main 위에 서서(commit 위치에서) 사진을 찍고 있었기 때문이라고 한다.&lt;/p&gt;
&lt;p data-end=&quot;437&quot; data-start=&quot;408&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;checkout = 내가 잡을 화살표 고르기&lt;/b&gt;&lt;/p&gt;
&lt;p data-end=&quot;437&quot; data-start=&quot;408&quot; data-ke-size=&quot;size16&quot;&gt;이기 때문에&lt;/p&gt;
&lt;p data-end=&quot;437&quot; data-start=&quot;408&quot; data-ke-size=&quot;size16&quot;&gt;그래서, 브랜치 bugFix를 만들어서 참조(화살표) 하나 추가했고,&lt;/p&gt;
&lt;p data-end=&quot;437&quot; data-start=&quot;408&quot; data-ke-size=&quot;size16&quot;&gt;checkout bugFix를 해서 bugFix 화살표를 내가 잡은 것이라고 이해하면 된다고 한다.&lt;/p&gt;
&lt;p data-end=&quot;437&quot; data-start=&quot;408&quot; 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;1840&quot; data-origin-height=&quot;798&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vnKAg/dJMcahJ1fj3/fItG9TGgGJFM7aIWuAsOT1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vnKAg/dJMcahJ1fj3/fItG9TGgGJFM7aIWuAsOT1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vnKAg/dJMcahJ1fj3/fItG9TGgGJFM7aIWuAsOT1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvnKAg%2FdJMcahJ1fj3%2FfItG9TGgGJFM7aIWuAsOT1%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;1840&quot; height=&quot;798&quot; data-origin-width=&quot;1840&quot; data-origin-height=&quot;798&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-end=&quot;437&quot; data-start=&quot;408&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;437&quot; data-start=&quot;408&quot; data-ke-size=&quot;size16&quot;&gt;드간다.&lt;/p&gt;
&lt;p data-end=&quot;437&quot; data-start=&quot;408&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;437&quot; data-start=&quot;408&quot; 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;1387&quot; data-origin-height=&quot;772&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bKh3e4/dJMcabbWv1n/VL8l4ClugcpJmFm5mAxVO0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bKh3e4/dJMcabbWv1n/VL8l4ClugcpJmFm5mAxVO0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bKh3e4/dJMcabbWv1n/VL8l4ClugcpJmFm5mAxVO0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbKh3e4%2FdJMcabbWv1n%2FVL8l4ClugcpJmFm5mAxVO0%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;1387&quot; height=&quot;772&quot; data-origin-width=&quot;1387&quot; data-origin-height=&quot;772&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-end=&quot;437&quot; data-start=&quot;408&quot; 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;1714&quot; data-origin-height=&quot;626&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dcu509/dJMcacu9HA3/qVcEak5aDm1A1QPJ71WnOk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dcu509/dJMcacu9HA3/qVcEak5aDm1A1QPJ71WnOk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dcu509/dJMcacu9HA3/qVcEak5aDm1A1QPJ71WnOk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdcu509%2FdJMcacu9HA3%2FqVcEak5aDm1A1QPJ71WnOk%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;1714&quot; height=&quot;626&quot; data-origin-width=&quot;1714&quot; data-origin-height=&quot;626&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;position: absolute;&quot; 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 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 data-end=&quot;359&quot; data-start=&quot;328&quot; data-ke-size=&quot;size16&quot;&gt;git checkout -b bugFix&lt;/p&gt;
&lt;p data-end=&quot;382&quot; data-start=&quot;360&quot; data-ke-size=&quot;size16&quot;&gt;이 한 줄이 &lt;b&gt;두 개를 동시에&lt;/b&gt; 해줌&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;450&quot; data-start=&quot;384&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;415&quot; data-start=&quot;384&quot;&gt;git branch bugFix (브랜치 만들기)&lt;/li&gt;
&lt;li data-end=&quot;450&quot; data-start=&quot;416&quot;&gt;git checkout bugFix (그 브랜치 잡기)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;1328&quot; data-origin-height=&quot;578&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5WYpY/dJMcaiB6LAo/soZyHqyBcHr4mKu1ZhCSd0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5WYpY/dJMcaiB6LAo/soZyHqyBcHr4mKu1ZhCSd0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5WYpY/dJMcaiB6LAo/soZyHqyBcHr4mKu1ZhCSd0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5WYpY%2FdJMcaiB6LAo%2FsoZyHqyBcHr4mKu1ZhCSd0%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;1328&quot; height=&quot;578&quot; data-origin-width=&quot;1328&quot; data-origin-height=&quot;578&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;상당히 헷갈리는 것이 나왔다. 무슨 설명인지 모르겠으니 일단 설명을 한번 보고 오겠다.44&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;1331&quot; data-origin-height=&quot;585&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xh99Z/dJMcad1QNKr/fbld4Of7YZ4L1SPUE2vrEk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xh99Z/dJMcad1QNKr/fbld4Of7YZ4L1SPUE2vrEk/img.png&quot; data-alt=&quot;문제 설명 중 작은 깨달음... 위로 올려놓는다는게 화살표로 자식으로 표현되는구나... 나는 부모가 되는줄 알앗다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xh99Z/dJMcad1QNKr/fbld4Of7YZ4L1SPUE2vrEk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fxh99Z%2FdJMcad1QNKr%2Ffbld4Of7YZ4L1SPUE2vrEk%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;1331&quot; height=&quot;585&quot; data-origin-width=&quot;1331&quot; data-origin-height=&quot;585&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;문제 설명 중 작은 깨달음... 위로 올려놓는다는게 화살표로 자식으로 표현되는구나... 나는 부모가 되는줄 알앗다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&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/cDdLys/dJMcadt0Vh3/K4gKQ6FGVGW1Raqj80qBJK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cDdLys/dJMcadt0Vh3/K4gKQ6FGVGW1Raqj80qBJK/img.png&quot; data-origin-width=&quot;671&quot; data-origin-height=&quot;347&quot; data-is-animation=&quot;false&quot; style=&quot;width: 57.0568%; margin-right: 10px;&quot; data-widthpercent=&quot;57.73&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cDdLys/dJMcadt0Vh3/K4gKQ6FGVGW1Raqj80qBJK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcDdLys%2FdJMcadt0Vh3%2FK4gKQ6FGVGW1Raqj80qBJK%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;671&quot; height=&quot;347&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7BD0j/dJMcabwe4oL/j7JSqOrIyLIMTehqUdaFwk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7BD0j/dJMcabwe4oL/j7JSqOrIyLIMTehqUdaFwk/img.png&quot; data-origin-width=&quot;691&quot; data-origin-height=&quot;488&quot; data-is-animation=&quot;false&quot; style=&quot;width: 41.7804%;&quot; data-widthpercent=&quot;42.27&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7BD0j/dJMcabwe4oL/j7JSqOrIyLIMTehqUdaFwk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7BD0j%2FdJMcabwe4oL%2Fj7JSqOrIyLIMTehqUdaFwk%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;691&quot; height=&quot;488&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;리베이스에 대한 개념은 일부러 다 캡쳐해서 남겨두었다! 다시 돌아봤을 때 더 쉽게 이해하기 위해서!&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&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;1140&quot; data-origin-height=&quot;642&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cHE8uZ/dJMcad1QNMr/rS9Z17PdRCpRKHxkKFN5hk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cHE8uZ/dJMcad1QNMr/rS9Z17PdRCpRKHxkKFN5hk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cHE8uZ/dJMcad1QNMr/rS9Z17PdRCpRKHxkKFN5hk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcHE8uZ%2FdJMcad1QNMr%2FrS9Z17PdRCpRKHxkKFN5hk%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;1140&quot; height=&quot;642&quot; data-origin-width=&quot;1140&quot; data-origin-height=&quot;642&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 data-ke-size=&quot;size16&quot;&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;1839&quot; data-origin-height=&quot;631&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kxlwf/dJMcahiWAx3/Ev019QQKwZ50g5tv1Ffrwk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kxlwf/dJMcahiWAx3/Ev019QQKwZ50g5tv1Ffrwk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kxlwf/dJMcahiWAx3/Ev019QQKwZ50g5tv1Ffrwk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fkxlwf%2FdJMcahiWAx3%2FEv019QQKwZ50g5tv1Ffrwk%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;1839&quot; height=&quot;631&quot; data-origin-width=&quot;1839&quot; data-origin-height=&quot;631&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 data-ke-size=&quot;size16&quot;&gt;이번에는 모범 답안으로 성공했다!! 새 브랜치를 만들어 선택하는 부분ㅎ에서 아까 알아보았던 모범답안인&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;git checkout -b bugFix를 써서 그런 것 같당ㅎㅎ&lt;/p&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;1055&quot; data-origin-height=&quot;230&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lWkqO/dJMcafZHV35/my7O1b7VrrIpRppf0khwD1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lWkqO/dJMcafZHV35/my7O1b7VrrIpRppf0khwD1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lWkqO/dJMcafZHV35/my7O1b7VrrIpRppf0khwD1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlWkqO%2FdJMcafZHV35%2Fmy7O1b7VrrIpRppf0khwD1%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;230&quot; data-origin-width=&quot;1055&quot; data-origin-height=&quot;230&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 data-ke-size=&quot;size16&quot;&gt;짠! 끝낫당~~ 3번이 완벽하게 못 푼게 아숩지만 배운 후 4번에서 썼으니 만족하기로(?) 하였다!&lt;/p&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 data-ke-size=&quot;size16&quot;&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-filename=&quot;e792901eae788841ebd53ec20cf61acd.jpg&quot; data-origin-width=&quot;736&quot; data-origin-height=&quot;553&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dV8XYT/dJMcadgvLPK/WTJILuGRh6dJKdkfwVxjKk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dV8XYT/dJMcadgvLPK/WTJILuGRh6dJKdkfwVxjKk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dV8XYT/dJMcadgvLPK/WTJILuGRh6dJKdkfwVxjKk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdV8XYT%2FdJMcadgvLPK%2FWTJILuGRh6dJKdkfwVxjKk%2Fimg.jpg&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;510&quot; height=&quot;383&quot; data-filename=&quot;e792901eae788841ebd53ec20cf61acd.jpg&quot; data-origin-width=&quot;736&quot; data-origin-height=&quot;553&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;</description>
      <author>yeseul7</author>
      <guid isPermaLink="true">https://yeseul7.tistory.com/13</guid>
      <comments>https://yeseul7.tistory.com/13#entry13comment</comments>
      <pubDate>Wed, 28 Jan 2026 02:35:21 +0900</pubDate>
    </item>
    <item>
      <title>[포렌식 기초] 2주차 과제!</title>
      <link>https://yeseul7.tistory.com/12</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;문제 1. VBR&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-filename=&quot;스크린샷 2026-01-24 003303.png&quot; data-origin-width=&quot;1202&quot; data-origin-height=&quot;554&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmdGhY/dJMcaf6sjiv/QekXGOlakMPtdxuqVxIP81/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmdGhY/dJMcaf6sjiv/QekXGOlakMPtdxuqVxIP81/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmdGhY/dJMcaf6sjiv/QekXGOlakMPtdxuqVxIP81/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbmdGhY%2FdJMcaf6sjiv%2FQekXGOlakMPtdxuqVxIP81%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;1202&quot; height=&quot;554&quot; data-filename=&quot;스크린샷 2026-01-24 003303.png&quot; data-origin-width=&quot;1202&quot; data-origin-height=&quot;554&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 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;1486&quot; data-origin-height=&quot;384&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WCgOi/dJMcai28quq/YPtbwwidaXDKmtPrQ18jA1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WCgOi/dJMcai28quq/YPtbwwidaXDKmtPrQ18jA1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WCgOi/dJMcai28quq/YPtbwwidaXDKmtPrQ18jA1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWCgOi%2FdJMcai28quq%2FYPtbwwidaXDKmtPrQ18jA1%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;384&quot; data-origin-width=&quot;1486&quot; data-origin-height=&quot;384&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 data-ke-size=&quot;size16&quot;&gt;다음과 같이 FAT32는 0x52나, NTFS는 0x03에서 확인해야 한다.&amp;nbsp;&lt;/p&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;1051&quot; data-origin-height=&quot;990&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cCLsGh/dJMcacIGi9g/OMJmLKvkq9KvCqclRCSKR1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cCLsGh/dJMcacIGi9g/OMJmLKvkq9KvCqclRCSKR1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cCLsGh/dJMcacIGi9g/OMJmLKvkq9KvCqclRCSKR1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcCLsGh%2FdJMcacIGi9g%2FOMJmLKvkq9KvCqclRCSKR1%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;1051&quot; height=&quot;990&quot; data-origin-width=&quot;1051&quot; data-origin-height=&quot;990&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 파일은 0x52부터 FAT32라는 것이 나타나있기 때문에 A = 1이다.&amp;nbsp;&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;다음은, 볼륨의 크기에 대해 알아야 하는데&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1647&quot; data-origin-height=&quot;925&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bGD67j/dJMcah4hEhq/7JBQskj44lfflL56KEkdu1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bGD67j/dJMcah4hEhq/7JBQskj44lfflL56KEkdu1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGD67j/dJMcah4hEhq/7JBQskj44lfflL56KEkdu1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGD67j%2FdJMcah4hEhq%2F7JBQskj44lfflL56KEkdu1%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;1647&quot; height=&quot;925&quot; data-origin-width=&quot;1647&quot; data-origin-height=&quot;925&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 data-ke-size=&quot;size16&quot;&gt;Total Sectors &amp;times; Bytes Per Sector&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 표에 의하면, total sector 32는 0x20 ~ 0x23에 있고,&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;948&quot; data-origin-height=&quot;861&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b76daA/dJMcahQKbPC/33kut5QZi4RbdbQgooqcMK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b76daA/dJMcahQKbPC/33kut5QZi4RbdbQgooqcMK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b76daA/dJMcahQKbPC/33kut5QZi4RbdbQgooqcMK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb76daA%2FdJMcahQKbPC%2F33kut5QZi4RbdbQgooqcMK%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;381&quot; height=&quot;346&quot; data-origin-width=&quot;948&quot; data-origin-height=&quot;861&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;00 80 3E 00에 FAT32이니까 리틀 에디안 방식이기 때문에 바꾸면 00 3E 80 00 = &lt;span style=&quot;color: #222222; text-align: start;&quot;&gt;0x3E800&lt;/span&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;939&quot; data-origin-height=&quot;175&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bBbGQs/dJMcabXijNG/62Jpflk8U7kXwNWsSN2asK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bBbGQs/dJMcabXijNG/62Jpflk8U7kXwNWsSN2asK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bBbGQs/dJMcabXijNG/62Jpflk8U7kXwNWsSN2asK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBbGQs%2FdJMcabXijNG%2F62Jpflk8U7kXwNWsSN2asK%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;548&quot; height=&quot;102&quot; data-origin-width=&quot;939&quot; data-origin-height=&quot;175&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Bytes Per Sector은 0x0B~0x0C에서부터 시작해 00 02 리틀 에디안 방식을 바꿔버리면 02 00 = 512B/sector = &lt;span style=&quot;color: #222222; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;0x200&lt;/span&gt; &lt;/span&gt;&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #222222; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;0x3E800 * 0x200 = 0x7D000000 이다&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #222222; text-align: start;&quot;&gt;볼륨 시리얼 번호는&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Volume ID, 그르니까&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;957&quot; data-origin-height=&quot;993&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dv1qkM/dJMcadAKLoe/NP9KmVQnfR8qjmE3WIfGo0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dv1qkM/dJMcadAKLoe/NP9KmVQnfR8qjmE3WIfGo0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dv1qkM/dJMcadAKLoe/NP9KmVQnfR8qjmE3WIfGo0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdv1qkM%2FdJMcadAKLoe%2FNP9KmVQnfR8qjmE3WIfGo0%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;957&quot; height=&quot;993&quot; data-origin-width=&quot;957&quot; data-origin-height=&quot;993&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;0x43 ~ 0x46에 있다. 그러므로 8A EE A8 0E. 리틀 에디안 방식이기 때문에 큰 자리면서 표기로 바꾸면 0E A8 EE 8A이다.&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;이제 대충 답을 구할 수 있을 것이다. &lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot;&gt;FLAG =&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;DH{(A + B + C)}&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #000000; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;A: 파일시스템이 FAT32면&lt;span&gt;&amp;nbsp;&lt;/span&gt;1, NTFS면&lt;span&gt;&amp;nbsp;&lt;/span&gt;2&amp;nbsp;&lt;/li&gt;
&lt;li&gt;B: 해당 볼륨의 크기&lt;/li&gt;
&lt;li&gt;C: 볼륨 시리얼 번호&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;답을 하나 하나 더해 넣어 10진수로&amp;nbsp; 바꿔주면, &lt;span style=&quot;color: #222222; text-align: start;&quot;&gt;2343104139이라는 수가 나온다&amp;nbsp;&lt;/span&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;1359&quot; data-origin-height=&quot;762&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dAy069/dJMcaiozsIp/9qLpKZtBPtAtBKR3RyXcB0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dAy069/dJMcaiozsIp/9qLpKZtBPtAtBKR3RyXcB0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dAy069/dJMcaiozsIp/9qLpKZtBPtAtBKR3RyXcB0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdAy069%2FdJMcaiozsIp%2F9qLpKZtBPtAtBKR3RyXcB0%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;1359&quot; height=&quot;762&quot; data-origin-width=&quot;1359&quot; data-origin-height=&quot;762&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 data-ke-size=&quot;size16&quot;&gt;성공!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문제 2. &lt;span style=&quot;background-color: #eeeeee; color: #2c3e50; text-align: center;&quot;&gt;Corrupted Disk Image&lt;/span&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;1285&quot; data-origin-height=&quot;634&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bp0yWH/dJMcahJZsPl/yh7ZwIEdJM9GoRhluN5EMK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bp0yWH/dJMcahJZsPl/yh7ZwIEdJM9GoRhluN5EMK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bp0yWH/dJMcahJZsPl/yh7ZwIEdJM9GoRhluN5EMK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbp0yWH%2FdJMcahJZsPl%2Fyh7ZwIEdJM9GoRhluN5EMK%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;1285&quot; height=&quot;634&quot; data-origin-width=&quot;1285&quot; data-origin-height=&quot;634&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 data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #222222; text-align: start;&quot;&gt;우선 FTK imager에서 파일을 열어보면,&amp;nbsp; 파일이 깨져있는 것을 발견할 수 있다.&amp;nbsp;&lt;/span&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;265&quot; data-origin-height=&quot;147&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bzRrSX/dJMcaihOJ7N/HVREjpGC7ZHGRVKjK623GK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bzRrSX/dJMcaihOJ7N/HVREjpGC7ZHGRVKjK623GK/img.png&quot; data-alt=&quot;Raw로 바꾸고 텍스트 파일이 아닌 걸 선택해야 한다&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bzRrSX/dJMcaihOJ7N/HVREjpGC7ZHGRVKjK623GK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbzRrSX%2FdJMcaihOJ7N%2FHVREjpGC7ZHGRVKjK623GK%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;265&quot; height=&quot;147&quot; data-origin-width=&quot;265&quot; data-origin-height=&quot;147&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Raw로 바꾸고 텍스트 파일이 아닌 걸 선택해야 한다&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;NTFS VBR&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;복사본&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; VBR&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위치&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;+ NTFS&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;의&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;전체&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;섹터&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;크기&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;- 1&lt;/span&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;1101&quot; data-origin-height=&quot;661&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Uk1aD/dJMcafelg13/vRPi5bIKRl0Hehyl8CmWAk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Uk1aD/dJMcafelg13/vRPi5bIKRl0Hehyl8CmWAk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Uk1aD/dJMcafelg13/vRPi5bIKRl0Hehyl8CmWAk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUk1aD%2FdJMcafelg13%2FvRPi5bIKRl0Hehyl8CmWAk%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;1101&quot; height=&quot;661&quot; data-origin-width=&quot;1101&quot; data-origin-height=&quot;661&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 data-ke-size=&quot;size16&quot;&gt;검색을 통해 확인해보면 NTFS 파일이라는 것을 알 수 있고, 공식에 따르면 끝 주소 = 0x0D8FFE00 + 0x200 - 1&lt;br /&gt;= 0x0D8FFFFF 그만큼을 긁어서 맨 처음 부분에 복붙 하면&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;1120&quot; data-origin-height=&quot;933&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bA8wYU/dJMcaivjbJ0/pAghTe8V1AKgbwLoldKKFk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bA8wYU/dJMcaivjbJ0/pAghTe8V1AKgbwLoldKKFk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bA8wYU/dJMcaivjbJ0/pAghTe8V1AKgbwLoldKKFk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbA8wYU%2FdJMcaivjbJ0%2FpAghTe8V1AKgbwLoldKKFk%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;933&quot; data-origin-width=&quot;1120&quot; data-origin-height=&quot;933&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇ㄱ게 된당! 여기서 이메저를 열고 들어가면 뭔가... 읽지 않고는 못 배길 것 같은 그런 파일을 찾을 수 있는데 그걸 열어보면 이런 얼탱이 없는 그림판 문구가 뜬다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근데 이건 &lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #222222; text-align: start;&quot;&gt;keyFile를&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #222222; text-align: start;&quot;&gt;Hashcalc라는 해시 계산 소프트웨어를 사용해서 파일의 해시값을 계산하는 그런 보기보다 복잡한 문구였다고 한다............&lt;/span&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;1591&quot; data-origin-height=&quot;1036&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bFgXGk/dJMcagRQoCG/0gWnTa9UmLF95PullLKQJk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bFgXGk/dJMcagRQoCG/0gWnTa9UmLF95PullLKQJk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bFgXGk/dJMcagRQoCG/0gWnTa9UmLF95PullLKQJk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbFgXGk%2FdJMcagRQoCG%2F0gWnTa9UmLF95PullLKQJk%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;1591&quot; height=&quot;1036&quot; data-origin-width=&quot;1591&quot; data-origin-height=&quot;1036&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 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 data-ke-size=&quot;size16&quot;&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;1624&quot; data-origin-height=&quot;999&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/czzBsl/dJMcahDbOEp/BeUFwgKnW923P54PPEPt61/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/czzBsl/dJMcahDbOEp/BeUFwgKnW923P54PPEPt61/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/czzBsl/dJMcahDbOEp/BeUFwgKnW923P54PPEPt61/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FczzBsl%2FdJMcahDbOEp%2FBeUFwgKnW923P54PPEPt61%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;1624&quot; height=&quot;999&quot; data-origin-width=&quot;1624&quot; data-origin-height=&quot;999&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 data-ke-size=&quot;size16&quot;&gt;해결된다ㅜㅜ&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;문제 3. &lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot;&gt;FFFAAATTT!&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot;&gt;일단 FTK imager로 열면 이렇게 옆에 계속 FIX라는 문구가 뜬다!!&lt;/span&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;1072&quot; data-origin-height=&quot;960&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b9GKbL/dJMcaajMtr4/KxgWk1HjEIuanzcjGsQvV1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b9GKbL/dJMcaajMtr4/KxgWk1HjEIuanzcjGsQvV1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b9GKbL/dJMcaajMtr4/KxgWk1HjEIuanzcjGsQvV1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb9GKbL%2FdJMcaajMtr4%2FKxgWk1HjEIuanzcjGsQvV1%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;1072&quot; height=&quot;960&quot; data-origin-width=&quot;1072&quot; data-origin-height=&quot;960&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파일 시스템 확인! 파일 시스템은 FTA32이다.&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;956&quot; data-origin-height=&quot;844&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EQC13/dJMcadAKMz3/f3Nfwru9YK9ZfTTNixTil0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EQC13/dJMcadAKMz3/f3Nfwru9YK9ZfTTNixTil0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EQC13/dJMcadAKMz3/f3Nfwru9YK9ZfTTNixTil0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEQC13%2FdJMcadAKMz3%2Ff3Nfwru9YK9ZfTTNixTil0%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;956&quot; height=&quot;844&quot; data-origin-width=&quot;956&quot; data-origin-height=&quot;844&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;짱짱! 중요한 수업 자료에 따르면, FAT 32는 사본은 6번째 섹터에 저장해둔다는 것을 알 수가 있다!!!&lt;/p&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;1104&quot; data-origin-height=&quot;694&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cfRxE8/dJMcafMaU6m/UUijZ1vy0qid6xlhiiw1Ok/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cfRxE8/dJMcafMaU6m/UUijZ1vy0qid6xlhiiw1Ok/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cfRxE8/dJMcafMaU6m/UUijZ1vy0qid6xlhiiw1Ok/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcfRxE8%2FdJMcafMaU6m%2FUUijZ1vy0qid6xlhiiw1Ok%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;1104&quot; height=&quot;694&quot; data-origin-width=&quot;1104&quot; data-origin-height=&quot;694&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 data-ke-size=&quot;size16&quot;&gt;섹터는 한 섹터에 512바이트니까, 단순계산으로 6번 섹터 시작 = 6 &amp;times; 512 = 3072바이트 = 0x0C00라고 알 수가 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;섹터 크키는 512 = 0x200니까&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;0x0C00 + 0x200 - 1 = 0x0DFF까지 잡아주면 된당&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/6DVR4/dJMcacIGluK/FiV9whyVbDksWhhMzZPYm1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6DVR4/dJMcacIGluK/FiV9whyVbDksWhhMzZPYm1/img.png&quot; data-origin-width=&quot;1146&quot; data-origin-height=&quot;817&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;51.31&quot; style=&quot;width: 50.7131%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6DVR4/dJMcacIGluK/FiV9whyVbDksWhhMzZPYm1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6DVR4%2FdJMcacIGluK%2FFiV9whyVbDksWhhMzZPYm1%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;1146&quot; height=&quot;817&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MlhtP/dJMcadU36qp/0iQ5wyN7rlBbHnJiLCkQJk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MlhtP/dJMcadU36qp/0iQ5wyN7rlBbHnJiLCkQJk/img.png&quot; data-origin-width=&quot;985&quot; data-origin-height=&quot;740&quot; data-is-animation=&quot;false&quot; style=&quot;width: 48.1241%;&quot; data-widthpercent=&quot;48.69&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MlhtP/dJMcadU36qp/0iQ5wyN7rlBbHnJiLCkQJk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMlhtP%2FdJMcadU36qp%2F0iQ5wyN7rlBbHnJiLCkQJk%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;985&quot; height=&quot;740&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;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 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;859&quot; data-origin-height=&quot;658&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3v6F8/dJMcacPrUQg/mePTR38SXJ5QUKQfpkmrRk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3v6F8/dJMcacPrUQg/mePTR38SXJ5QUKQfpkmrRk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3v6F8/dJMcacPrUQg/mePTR38SXJ5QUKQfpkmrRk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3v6F8%2FdJMcacPrUQg%2FmePTR38SXJ5QUKQfpkmrRk%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;859&quot; height=&quot;658&quot; data-origin-width=&quot;859&quot; data-origin-height=&quot;658&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 data-ke-size=&quot;size16&quot;&gt;플래그 파일을 만날 수 있어 신났는데 암호가 걸려있다... 이걸 알아내야 끝이,,,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;살펴보던 중 gg.png 파일이 안 열려 이걸 헥스 에디어로 다시 돌려보니 키를 발견할 수 있게 되었다 ㅜㅠ DHDHFIX.&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;1128&quot; data-origin-height=&quot;395&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pvDiy/dJMcaaKQZuV/wMFh88VCxHxlFHnoPkJUTk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pvDiy/dJMcaaKQZuV/wMFh88VCxHxlFHnoPkJUTk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pvDiy/dJMcaaKQZuV/wMFh88VCxHxlFHnoPkJUTk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpvDiy%2FdJMcaaKQZuV%2FwMFh88VCxHxlFHnoPkJUTk%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;1128&quot; height=&quot;395&quot; data-origin-width=&quot;1128&quot; data-origin-height=&quot;395&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그걸 암호로 하나 하나 다 열어보니, FINISH_FIX 메모에서 플래그를 확인할 수 있었다!!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;384&quot; data-origin-height=&quot;144&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dDgD4C/dJMcagEkw0u/2iTfpBctwM92sYwcYG36fK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dDgD4C/dJMcagEkw0u/2iTfpBctwM92sYwcYG36fK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dDgD4C/dJMcagEkw0u/2iTfpBctwM92sYwcYG36fK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdDgD4C%2FdJMcagEkw0u%2F2iTfpBctwM92sYwcYG36fK%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;384&quot; height=&quot;144&quot; data-origin-width=&quot;384&quot; data-origin-height=&quot;144&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;성공!!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1428&quot; data-origin-height=&quot;898&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wxU41/dJMcag5nFCA/fEpB0cDk1hdSinvbIxuRHK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wxU41/dJMcag5nFCA/fEpB0cDk1hdSinvbIxuRHK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wxU41/dJMcag5nFCA/fEpB0cDk1hdSinvbIxuRHK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwxU41%2FdJMcag5nFCA%2FfEpB0cDk1hdSinvbIxuRHK%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;898&quot; data-origin-width=&quot;1428&quot; data-origin-height=&quot;898&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 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 data-ke-size=&quot;size16&quot;&gt;4. &lt;span style=&quot;background-color: #eeeeee; color: #2c3e50; text-align: center;&quot;&gt;structure-based carving&lt;/span&gt;&lt;/p&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;1739&quot; data-origin-height=&quot;890&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cTAXgb/dJMcacPzr0L/bPHIKDDjQORNN5kkOsFAdk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cTAXgb/dJMcacPzr0L/bPHIKDDjQORNN5kkOsFAdk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cTAXgb/dJMcacPzr0L/bPHIKDDjQORNN5kkOsFAdk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcTAXgb%2FdJMcacPzr0L%2FbPHIKDDjQORNN5kkOsFAdk%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;890&quot; data-origin-width=&quot;1739&quot; data-origin-height=&quot;890&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 data-ke-size=&quot;size16&quot;&gt;문제 파일은 zip이라고 했으니, zip 헥스 에디터를 열어 zip 헤더인&amp;nbsp; 50 4B 03 04를 검색해본다.&lt;/p&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;1187&quot; data-origin-height=&quot;372&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ctugT5/dJMcaaEd5Qm/Ke8Qn5Cc5WydZVnz1OdBNK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ctugT5/dJMcaaEd5Qm/Ke8Qn5Cc5WydZVnz1OdBNK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ctugT5/dJMcaaEd5Qm/Ke8Qn5Cc5WydZVnz1OdBNK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FctugT5%2FdJMcaaEd5Qm%2FKe8Qn5Cc5WydZVnz1OdBNK%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;1187&quot; height=&quot;372&quot; data-origin-width=&quot;1187&quot; data-origin-height=&quot;372&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;완전 얼탱이. 1009개나 나온다... 으쩌지 생각하던 중에&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;810&quot; data-origin-height=&quot;1400&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bljWX2/dJMcaaEd5SW/Z5iNTcmnmXgMJ2y0ka5Wck/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bljWX2/dJMcaaEd5SW/Z5iNTcmnmXgMJ2y0ka5Wck/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bljWX2/dJMcaaEd5SW/Z5iNTcmnmXgMJ2y0ka5Wck/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbljWX2%2FdJMcaaEd5SW%2FZ5iNTcmnmXgMJ2y0ka5Wck%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;810&quot; height=&quot;1400&quot; data-origin-width=&quot;810&quot; data-origin-height=&quot;1400&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 data-ke-size=&quot;size16&quot;&gt;참고 자료 설명? 해석?을 해보면&amp;nbsp; 압축 방식을 보니 08이 일반적인 압축 방식이라고 설명을 했고&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;925&quot; data-origin-height=&quot;229&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ysjmL/dJMb99ZC5bp/0g8khrJJyMG30TxIoMvp5K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ysjmL/dJMb99ZC5bp/0g8khrJJyMG30TxIoMvp5K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ysjmL/dJMb99ZC5bp/0g8khrJJyMG30TxIoMvp5K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FysjmL%2FdJMb99ZC5bp%2F0g8khrJJyMG30TxIoMvp5K%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;925&quot; height=&quot;229&quot; data-origin-width=&quot;925&quot; data-origin-height=&quot;229&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;version은 GPT에게 물어보니 14일 확률이 높다고 하는데, 이 이유는 보통 최근 버전인 14로 되어있다고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;flag는 00일 확률이 당근 높다고 생각되는 파일이기에 00으로 해서 한번 더 검색해보면,&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;1498&quot; data-origin-height=&quot;1084&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/by7EVv/dJMcabJUsxT/uMN2a374rtQdhfv75ibxY0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/by7EVv/dJMcabJUsxT/uMN2a374rtQdhfv75ibxY0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/by7EVv/dJMcabJUsxT/uMN2a374rtQdhfv75ibxY0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fby7EVv%2FdJMcabJUsxT%2FuMN2a374rtQdhfv75ibxY0%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;1498&quot; height=&quot;1084&quot; data-origin-width=&quot;1498&quot; data-origin-height=&quot;1084&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 검색했는데 아무래도 내가 찾지 못하는 건지 안 뜬다ㅜㅜ 지윤언니가 알려준 방식대로 생각했을 때, 08은 비밀번호가 걸려있지 않은 파일, 09는 암호화 되지 않은 파일이라고 했는데 우리의 문제에선 {압축 패스워드는 zip 파일 어딘가에...}라고 쓰여있었으므로 패스워드가 필요만 암호화 된 zip 파일이다. 그러므로 09로 검색하는 것이 맞다!&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;1319&quot; data-origin-height=&quot;779&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bOPU0l/dJMcafS3Hol/vw62WYWnrDzxWEidi5QQY0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bOPU0l/dJMcafS3Hol/vw62WYWnrDzxWEidi5QQY0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bOPU0l/dJMcafS3Hol/vw62WYWnrDzxWEidi5QQY0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbOPU0l%2FdJMcafS3Hol%2Fvw62WYWnrDzxWEidi5QQY0%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;1319&quot; height=&quot;779&quot; data-origin-width=&quot;1319&quot; data-origin-height=&quot;779&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;938&quot; data-origin-height=&quot;385&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/blugpj/dJMcac24arj/AsIhBjtuQRSEHjS3tNPPS1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/blugpj/dJMcac24arj/AsIhBjtuQRSEHjS3tNPPS1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/blugpj/dJMcac24arj/AsIhBjtuQRSEHjS3tNPPS1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fblugpj%2FdJMcac24arj%2FAsIhBjtuQRSEHjS3tNPPS1%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;938&quot; height=&quot;385&quot; data-origin-width=&quot;938&quot; data-origin-height=&quot;385&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 부분 복사해서 붙이고 zip으로 만드니&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;1557&quot; data-origin-height=&quot;523&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bACmDm/dJMcaiCduv4/QlOAiiyVDJqtAOJPk99Vm1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bACmDm/dJMcaiCduv4/QlOAiiyVDJqtAOJPk99Vm1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bACmDm/dJMcaiCduv4/QlOAiiyVDJqtAOJPk99Vm1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbACmDm%2FdJMcaiCduv4%2FQlOAiiyVDJqtAOJPk99Vm1%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;1557&quot; height=&quot;523&quot; data-origin-width=&quot;1557&quot; data-origin-height=&quot;523&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 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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;605&quot; data-origin-height=&quot;123&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sg5lu/dJMcaf6AkFX/gaxDpu9bSdhzjFI6GyEEj1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sg5lu/dJMcaf6AkFX/gaxDpu9bSdhzjFI6GyEEj1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sg5lu/dJMcaf6AkFX/gaxDpu9bSdhzjFI6GyEEj1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fsg5lu%2FdJMcaf6AkFX%2FgaxDpu9bSdhzjFI6GyEEj1%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;605&quot; height=&quot;123&quot; data-origin-width=&quot;605&quot; data-origin-height=&quot;123&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;라고 해서 다시 들어가서 함 살펴보니&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;985&quot; data-origin-height=&quot;461&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c0IhFn/dJMcaivraip/ya5Vq6ZQoVyQWbOETy8W31/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c0IhFn/dJMcaivraip/ya5Vq6ZQoVyQWbOETy8W31/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c0IhFn/dJMcaivraip/ya5Vq6ZQoVyQWbOETy8W31/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc0IhFn%2FdJMcaivraip%2Fya5Vq6ZQoVyQWbOETy8W31%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;985&quot; height=&quot;461&quot; data-origin-width=&quot;985&quot; data-origin-height=&quot;461&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 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 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;872&quot; data-origin-height=&quot;110&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7OXpO/dJMcaaKYr64/cO6smVLiTEmU2evstyblJK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7OXpO/dJMcaaKYr64/cO6smVLiTEmU2evstyblJK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7OXpO/dJMcaaKYr64/cO6smVLiTEmU2evstyblJK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7OXpO%2FdJMcaaKYr64%2FcO6smVLiTEmU2evstyblJK%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;872&quot; height=&quot;110&quot; data-origin-width=&quot;872&quot; data-origin-height=&quot;110&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;압축 풀면 플래그 뜬다! 요걸 고대로 입력하면~!&lt;/p&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;885&quot; data-origin-height=&quot;538&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xvUxl/dJMcahi3Pne/nfuG5LPlOZiXaSiYnOKf61/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xvUxl/dJMcahi3Pne/nfuG5LPlOZiXaSiYnOKf61/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xvUxl/dJMcahi3Pne/nfuG5LPlOZiXaSiYnOKf61/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxvUxl%2FdJMcahi3Pne%2FnfuG5LPlOZiXaSiYnOKf61%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;885&quot; height=&quot;538&quot; data-origin-width=&quot;885&quot; data-origin-height=&quot;538&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 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 data-ke-size=&quot;size16&quot;&gt;끝!!!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <author>yeseul7</author>
      <guid isPermaLink="true">https://yeseul7.tistory.com/12</guid>
      <comments>https://yeseul7.tistory.com/12#entry12comment</comments>
      <pubDate>Sat, 24 Jan 2026 04:02:49 +0900</pubDate>
    </item>
    <item>
      <title>해초 : 김예슬 7주차 과제(File Vulnerability)</title>
      <link>https://yeseul7.tistory.com/11</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;유종의 미를 거두기 위해! 시시시작~!&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. image-storage&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot;&gt;php로 작성된 파일 저장 서비스입니다. 라고 문제 설명에 적혀있지만,,, php 파일을 몬만들까봐 잔뜩 긴장하며 풀어본다....&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot;&gt;일단 문제에 처음 들어가면 이런 화면이 뜬다. &lt;/span&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-filename=&quot;스크린샷 2025-11-27 오후 3.43.48.png&quot; data-origin-width=&quot;1070&quot; data-origin-height=&quot;432&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/T19Dj/dJMcacIj5JP/lnR7s9sqBve9p5IzOJMy90/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/T19Dj/dJMcacIj5JP/lnR7s9sqBve9p5IzOJMy90/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/T19Dj/dJMcacIj5JP/lnR7s9sqBve9p5IzOJMy90/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FT19Dj%2FdJMcacIj5JP%2FlnR7s9sqBve9p5IzOJMy90%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;1070&quot; height=&quot;432&quot; data-filename=&quot;스크린샷 2025-11-27 오후 3.43.48.png&quot; data-origin-width=&quot;1070&quot; data-origin-height=&quot;432&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 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-filename=&quot;스크린샷 2025-11-27 오후 3.45.13.png&quot; data-origin-width=&quot;758&quot; data-origin-height=&quot;420&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/S1dz6/dJMcaihsRaI/rxYtmMES2KvqeoxQkwmi91/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/S1dz6/dJMcaihsRaI/rxYtmMES2KvqeoxQkwmi91/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/S1dz6/dJMcaihsRaI/rxYtmMES2KvqeoxQkwmi91/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FS1dz6%2FdJMcaihsRaI%2FrxYtmMES2KvqeoxQkwmi91%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;758&quot; height=&quot;420&quot; data-filename=&quot;스크린샷 2025-11-27 오후 3.45.13.png&quot; data-origin-width=&quot;758&quot; data-origin-height=&quot;420&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 data-ke-size=&quot;size16&quot;&gt;업로드에 한번 들어가보면, 이런 업로드 창이 뜨는데&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-11-27 오후 4.00.52.png&quot; data-origin-width=&quot;1868&quot; data-origin-height=&quot;1198&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cIuCUM/dJMcadtEgbq/7FjPkEH96B4kewFE6WskW0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cIuCUM/dJMcadtEgbq/7FjPkEH96B4kewFE6WskW0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cIuCUM/dJMcadtEgbq/7FjPkEH96B4kewFE6WskW0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcIuCUM%2FdJMcadtEgbq%2F7FjPkEH96B4kewFE6WskW0%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;1868&quot; height=&quot;1198&quot; data-filename=&quot;스크린샷 2025-11-27 오후 4.00.52.png&quot; data-origin-width=&quot;1868&quot; data-origin-height=&quot;1198&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-11-27 오후 4.01.30.png&quot; data-origin-width=&quot;1906&quot; data-origin-height=&quot;1274&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AzRDv/dJMcadHbgWl/oa2LirM0X5nzJdXvCmy130/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AzRDv/dJMcadHbgWl/oa2LirM0X5nzJdXvCmy130/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AzRDv/dJMcadHbgWl/oa2LirM0X5nzJdXvCmy130/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAzRDv%2FdJMcadHbgWl%2Foa2LirM0X5nzJdXvCmy130%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;1906&quot; height=&quot;1274&quot; data-filename=&quot;스크린샷 2025-11-27 오후 4.01.30.png&quot; data-origin-width=&quot;1906&quot; data-origin-height=&quot;1274&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 data-ke-size=&quot;size16&quot;&gt;대충 소스 코드를 읽어봐도 다 찾아봐도 업로드의 기능은 있지만 파일을 읽는 기능은 없기 때문에, 우리가 직접 웹쉘 파일을 올려서 cat 명령어로 파일을 읽게 해야한다. 서버에 파일 읽는 기능이 없기 때문이다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;서버가 파일을 단순히 보여주는 것이 아니라&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;, '&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;프로그램&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;'&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;처럼 실행해서 그 결과물만 &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;보여주기 때문!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-11-27 오후 4.06.16.png&quot; data-origin-width=&quot;1234&quot; data-origin-height=&quot;198&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uHJk9/dJMcagcS68K/OGtArtXkRZ01TBUxo4kX0k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uHJk9/dJMcagcS68K/OGtArtXkRZ01TBUxo4kX0k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uHJk9/dJMcagcS68K/OGtArtXkRZ01TBUxo4kX0k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuHJk9%2FdJMcagcS68K%2FOGtArtXkRZ01TBUxo4kX0k%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;1234&quot; height=&quot;198&quot; data-filename=&quot;스크린샷 2025-11-27 오후 4.06.16.png&quot; data-origin-width=&quot;1234&quot; data-origin-height=&quot;198&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;서버 코드가 php로 이루어져 있기 때문에 php 파일을 하나 맹글어준다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; 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-filename=&quot;스크린샷 2025-11-27 오후 4.10.12.png&quot; data-origin-width=&quot;1020&quot; data-origin-height=&quot;466&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/UBZP1/dJMcah3VzET/OGQHS4v5tKpm4B1kC2mHc0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/UBZP1/dJMcah3VzET/OGQHS4v5tKpm4B1kC2mHc0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/UBZP1/dJMcah3VzET/OGQHS4v5tKpm4B1kC2mHc0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUBZP1%2FdJMcah3VzET%2FOGQHS4v5tKpm4B1kC2mHc0%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;466&quot; data-filename=&quot;스크린샷 2025-11-27 오후 4.10.12.png&quot; data-origin-width=&quot;1020&quot; data-origin-height=&quot;466&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;다음과 같은 코드를 작성하면 되는데, php 기본 구조를 유지한 상태로&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;system() 함수를 통해 시스템 명령어를 넣어주어야 하기 때문에 system(&quot;cat /falg.txt&quot;);&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이번에 문제 풀면서 알게 된 사실인데, &quot;&quot;하는 이유가 system 함수 자체가 문자를 읽어 명령어로 변환하라는 뜻이란다... 그래서 문자열을 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;넣어야 하기 때문에 &quot;&quot;라고,,,, 큰 깨달음...&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-11-27 오후 4.23.37.png&quot; data-origin-width=&quot;1132&quot; data-origin-height=&quot;470&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zuweX/dJMb99Y7UXN/DpV7rkM0Ux5U8j6O3cEka0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zuweX/dJMb99Y7UXN/DpV7rkM0Ux5U8j6O3cEka0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zuweX/dJMb99Y7UXN/DpV7rkM0Ux5U8j6O3cEka0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzuweX%2FdJMb99Y7UXN%2FDpV7rkM0Ux5U8j6O3cEka0%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;1132&quot; height=&quot;470&quot; data-filename=&quot;스크린샷 2025-11-27 오후 4.23.37.png&quot; data-origin-width=&quot;1132&quot; data-origin-height=&quot;470&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;아무튼 만들어서 업로드 해주면?&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; 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-filename=&quot;스크린샷 2025-11-27 오후 4.24.17.png&quot; data-origin-width=&quot;1082&quot; data-origin-height=&quot;416&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DM9pn/dJMcafyg7xT/n2HAPPk2dQPj5gPrIcyzY1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DM9pn/dJMcafyg7xT/n2HAPPk2dQPj5gPrIcyzY1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DM9pn/dJMcafyg7xT/n2HAPPk2dQPj5gPrIcyzY1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDM9pn%2FdJMcafyg7xT%2Fn2HAPPk2dQPj5gPrIcyzY1%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;1082&quot; height=&quot;416&quot; data-filename=&quot;스크린샷 2025-11-27 오후 4.24.17.png&quot; data-origin-width=&quot;1082&quot; data-origin-height=&quot;416&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;업로드 되었다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-11-27 오후 4.28.29.png&quot; data-origin-width=&quot;754&quot; data-origin-height=&quot;288&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HHR4A/dJMcacatGYf/lD4g0TLmtvPvKKODfsLqn1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HHR4A/dJMcacatGYf/lD4g0TLmtvPvKKODfsLqn1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HHR4A/dJMcacatGYf/lD4g0TLmtvPvKKODfsLqn1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHHR4A%2FdJMcacatGYf%2FlD4g0TLmtvPvKKODfsLqn1%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;288&quot; data-filename=&quot;스크린샷 2025-11-27 오후 4.28.29.png&quot; data-origin-width=&quot;754&quot; data-origin-height=&quot;288&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 메인에 들어가면 내가 만든 파일이 뜨고 들어가면&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-11-27 오후 4.28.17.png&quot; data-origin-width=&quot;712&quot; data-origin-height=&quot;230&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QQi4a/dJMcaiIuwmA/LQbyib33r88v7lESqJbCFk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QQi4a/dJMcaiIuwmA/LQbyib33r88v7lESqJbCFk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QQi4a/dJMcaiIuwmA/LQbyib33r88v7lESqJbCFk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQQi4a%2FdJMcaiIuwmA%2FLQbyib33r88v7lESqJbCFk%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;712&quot; height=&quot;230&quot; data-filename=&quot;스크린샷 2025-11-27 오후 4.28.17.png&quot; data-origin-width=&quot;712&quot; data-origin-height=&quot;230&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 data-ke-size=&quot;size16&quot;&gt;플래그가 뜬다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. file-download-1&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;비기너 문제이다. 못 풀면 안되기 때문에... 해보자!!!&lt;/p&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-filename=&quot;스크린샷 2025-11-27 오후 3.28.44.png&quot; data-origin-width=&quot;1036&quot; data-origin-height=&quot;346&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DuxEx/dJMcahXaxEH/7WJYJkyTJng2WDSPseAC3k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DuxEx/dJMcahXaxEH/7WJYJkyTJng2WDSPseAC3k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DuxEx/dJMcahXaxEH/7WJYJkyTJng2WDSPseAC3k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDuxEx%2FdJMcahXaxEH%2F7WJYJkyTJng2WDSPseAC3k%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;1036&quot; height=&quot;346&quot; data-filename=&quot;스크린샷 2025-11-27 오후 3.28.44.png&quot; data-origin-width=&quot;1036&quot; data-origin-height=&quot;346&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 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 data-ke-size=&quot;size16&quot;&gt;우선 들어가면 이런 페이지가 뜬다. memo 를 업로드 해달라고 하기 때문에 돌아볼 것도 없이 upload my memo로 들어가본다~!&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-filename=&quot;스크린샷 2025-11-27 오후 3.29.34.png&quot; data-origin-width=&quot;2006&quot; data-origin-height=&quot;978&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eqGEdo/dJMcahQoppB/T16zjD2Bky3ZU4EHZ8c0Tk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eqGEdo/dJMcahQoppB/T16zjD2Bky3ZU4EHZ8c0Tk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eqGEdo/dJMcahQoppB/T16zjD2Bky3ZU4EHZ8c0Tk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeqGEdo%2FdJMcahQoppB%2FT16zjD2Bky3ZU4EHZ8c0Tk%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;2006&quot; height=&quot;978&quot; data-filename=&quot;스크린샷 2025-11-27 오후 3.29.34.png&quot; data-origin-width=&quot;2006&quot; data-origin-height=&quot;978&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 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 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-filename=&quot;스크린샷 2025-11-27 오후 3.28.23.png&quot; data-origin-width=&quot;1568&quot; data-origin-height=&quot;1722&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/UMjJX/dJMcahXaxEp/1IMzfjRwH7AyArnRbolYl1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/UMjJX/dJMcahXaxEp/1IMzfjRwH7AyArnRbolYl1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/UMjJX/dJMcahXaxEp/1IMzfjRwH7AyArnRbolYl1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUMjJX%2FdJMcahXaxEp%2F1IMzfjRwH7AyArnRbolYl1%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;1568&quot; height=&quot;1722&quot; data-filename=&quot;스크린샷 2025-11-27 오후 3.28.23.png&quot; data-origin-width=&quot;1568&quot; data-origin-height=&quot;1722&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 data-ke-size=&quot;size16&quot;&gt;이때, 소스 코드를 보면 우리가 배운 ..(더 상위의 디렉토리로 접근 할 수 있는 것)을&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제한하고 있다는(bed characters...라고 뜨게 해둠)것을 알 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;거두절미하고 memo를 한번 올려보자&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-11-27 오후 3.32.32.png&quot; data-origin-width=&quot;2102&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/diaRJ3/dJMcafLOe8H/mV8l0YbG2Sk7o3EXOzxYBk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/diaRJ3/dJMcafLOe8H/mV8l0YbG2Sk7o3EXOzxYBk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/diaRJ3/dJMcafLOe8H/mV8l0YbG2Sk7o3EXOzxYBk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdiaRJ3%2FdJMcafLOe8H%2FmV8l0YbG2Sk7o3EXOzxYBk%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;2102&quot; height=&quot;1024&quot; data-filename=&quot;스크린샷 2025-11-27 오후 3.32.32.png&quot; data-origin-width=&quot;2102&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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-filename=&quot;스크린샷 2025-11-27 오후 3.32.41.png&quot; data-origin-width=&quot;1160&quot; data-origin-height=&quot;590&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cAjCtw/dJMcaiod9vt/iQy5BMNspLiaNfjJpB2gNk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cAjCtw/dJMcaiod9vt/iQy5BMNspLiaNfjJpB2gNk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cAjCtw/dJMcaiod9vt/iQy5BMNspLiaNfjJpB2gNk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcAjCtw%2FdJMcaiod9vt%2FiQy5BMNspLiaNfjJpB2gNk%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;590&quot; data-filename=&quot;스크린샷 2025-11-27 오후 3.32.41.png&quot; data-origin-width=&quot;1160&quot; data-origin-height=&quot;590&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 data-ke-size=&quot;size16&quot;&gt;우리가 넣은 memo가 뜬다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-11-27 오후 3.33.26.png&quot; data-origin-width=&quot;1620&quot; data-origin-height=&quot;842&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cdtLIy/dJMcad1tBTG/SxoyykVpONxY7sNfa2HI8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cdtLIy/dJMcad1tBTG/SxoyykVpONxY7sNfa2HI8k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cdtLIy/dJMcad1tBTG/SxoyykVpONxY7sNfa2HI8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcdtLIy%2FdJMcad1tBTG%2FSxoyykVpONxY7sNfa2HI8k%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;1620&quot; height=&quot;842&quot; data-filename=&quot;스크린샷 2025-11-27 오후 3.33.26.png&quot; data-origin-width=&quot;1620&quot; data-origin-height=&quot;842&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 data-ke-size=&quot;size16&quot;&gt;들어가보면 우리가 만든 메모가 적혀있는 것을 알 수 있는데, 우리의 문제 설명에&amp;nbsp;flag.py&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot;&gt;를 다운로드 받으면 플래그를 획득할 수 있습니다. 라고 적혀있기 때고, 다시 한번 소스 코드를 확인하면&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-11-27 오후 3.36.11.png&quot; data-origin-width=&quot;1390&quot; data-origin-height=&quot;976&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EiyUh/dJMcacatFUl/I2hm1rCFLbkh4KwRXDmw7k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EiyUh/dJMcacatFUl/I2hm1rCFLbkh4KwRXDmw7k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EiyUh/dJMcacatFUl/I2hm1rCFLbkh4KwRXDmw7k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEiyUh%2FdJMcacatFUl%2FI2hm1rCFLbkh4KwRXDmw7k%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;1390&quot; height=&quot;976&quot; data-filename=&quot;스크린샷 2025-11-27 오후 3.36.11.png&quot; data-origin-width=&quot;1390&quot; data-origin-height=&quot;976&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 data-ke-size=&quot;size16&quot;&gt;이런 형식이기 때문에 read?______로 읽어서 다운로드 받을 수 있는 것을 알 수 있당.&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-filename=&quot;스크린샷 2025-11-27 오후 3.39.28.png&quot; data-origin-width=&quot;1484&quot; data-origin-height=&quot;654&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ckQW73/dJMcagYfAzw/bvLPN3PZk6T6AFAOxipfyk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ckQW73/dJMcagYfAzw/bvLPN3PZk6T6AFAOxipfyk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ckQW73/dJMcagYfAzw/bvLPN3PZk6T6AFAOxipfyk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FckQW73%2FdJMcagYfAzw%2FbvLPN3PZk6T6AFAOxipfyk%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;654&quot; data-filename=&quot;스크린샷 2025-11-27 오후 3.39.28.png&quot; data-origin-width=&quot;1484&quot; data-origin-height=&quot;654&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서, url을 통해 read?name= ../flag.py로 변경해주면? 다음과 같은 플래그가 뜬다!&lt;/p&gt;</description>
      <author>yeseul7</author>
      <guid isPermaLink="true">https://yeseul7.tistory.com/11</guid>
      <comments>https://yeseul7.tistory.com/11#entry11comment</comments>
      <pubDate>Thu, 27 Nov 2025 16:29:10 +0900</pubDate>
    </item>
    <item>
      <title>해초 : 김예슬 6주차 과제(commed Injection)</title>
      <link>https://yeseul7.tistory.com/10</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. command-injection-1&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;문제에 들어가 확인해본다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-11-25 오후 4.46.21.png&quot; data-origin-width=&quot;1714&quot; data-origin-height=&quot;422&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bRG1jH/dJMcaacEmNE/Vy59nc87cKiAz135DJTFS1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bRG1jH/dJMcaacEmNE/Vy59nc87cKiAz135DJTFS1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bRG1jH/dJMcaacEmNE/Vy59nc87cKiAz135DJTFS1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbRG1jH%2FdJMcaacEmNE%2FVy59nc87cKiAz135DJTFS1%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;1714&quot; height=&quot;422&quot; data-filename=&quot;스크린샷 2025-11-25 오후 4.46.21.png&quot; data-origin-width=&quot;1714&quot; data-origin-height=&quot;422&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-11-25 오후 4.46.42.png&quot; data-origin-width=&quot;1320&quot; data-origin-height=&quot;512&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cS2JSw/dJMcaawXpwr/k38MsKhrfVJW76AXj9MwJ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cS2JSw/dJMcaawXpwr/k38MsKhrfVJW76AXj9MwJ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cS2JSw/dJMcaawXpwr/k38MsKhrfVJW76AXj9MwJ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcS2JSw%2FdJMcaawXpwr%2Fk38MsKhrfVJW76AXj9MwJ1%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;1320&quot; height=&quot;512&quot; data-filename=&quot;스크린샷 2025-11-25 오후 4.46.42.png&quot; data-origin-width=&quot;1320&quot; data-origin-height=&quot;512&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 data-ke-size=&quot;size16&quot;&gt;host에 무언가 적는 칸이 있는 것을 보아, 여기에 값을 넣으면 flag가 나오는 구조로 추측을 해볼 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-11-25 오후 4.47.33.png&quot; data-origin-width=&quot;2490&quot; data-origin-height=&quot;1030&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b1LhPr/dJMcafE1XWl/aXhGQoPDm2KA4kAKfZ0wsk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b1LhPr/dJMcafE1XWl/aXhGQoPDm2KA4kAKfZ0wsk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b1LhPr/dJMcafE1XWl/aXhGQoPDm2KA4kAKfZ0wsk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1LhPr%2FdJMcafE1XWl%2FaXhGQoPDm2KA4kAKfZ0wsk%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;2490&quot; height=&quot;1030&quot; data-filename=&quot;스크린샷 2025-11-25 오후 4.47.33.png&quot; data-origin-width=&quot;2490&quot; data-origin-height=&quot;1030&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 data-ke-size=&quot;size16&quot;&gt;받은 소스코드 파일을 살펴보면, flag.py에는 flag가 있는 것을 알 수 있고&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;app.py에는 우리가 답을 추측해볼 수 있는 소스가 적혀있는데,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때 cmd = f'ping -c 3&quot;{host}&quot;'라는 구절에서 우리가 form으로 host 값을 주게 되면 cmd에 저장되는 것을 알 수 있고,&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이것은 &amp;nbsp;subprocess.check 부분에서 실행되게 되는데, 성공시 render_template('ping_result.html', data=output.decode('utf-8'))을 통해서 결과 페이지를 랜더링 해주고, subprocess.CalledProcessError: 에서 보면 실패시 만들어진 cmd과 an error occurred while executing the commed. 라는 에러 메시지를 보여주게 된다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러므로 정답 코드를 작성해보면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8.8.8.8&quot; ; cat flag.py #이 되는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이유는&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8.8.8.8&quot;을 통해 값을 넣어주고 닫은 뒤,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;;라는 에러이든 아니든 뒤에 것도 실행해주는 쉘 메타문자를 써준 뒤&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cat(읽어서 출력해주는 기능을함)을 통해 flag.py를 출력, #을 통해 뒤를 주석처리하여 뒤 구문을 무력화시키는 것이다!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-11-25 오후 5.17.16.png&quot; data-origin-width=&quot;1068&quot; data-origin-height=&quot;426&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dHew0i/dJMcabo5NpU/4mdb3n9KlhGkqH2A9aelpk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dHew0i/dJMcabo5NpU/4mdb3n9KlhGkqH2A9aelpk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dHew0i/dJMcabo5NpU/4mdb3n9KlhGkqH2A9aelpk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdHew0i%2FdJMcabo5NpU%2F4mdb3n9KlhGkqH2A9aelpk%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;1068&quot; height=&quot;426&quot; data-filename=&quot;스크린샷 2025-11-25 오후 5.17.16.png&quot; data-origin-width=&quot;1068&quot; data-origin-height=&quot;426&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만, 이렇게 넣을 시 이런 문장이 뜨게 되는데 이때 최종적으로 개발자 도구를 켜&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-11-25 오후 5.17.59.png&quot; data-origin-width=&quot;1760&quot; data-origin-height=&quot;418&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OG3ey/dJMcaawXp8y/4SrXfRA8HBMeOKxugbGIN1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OG3ey/dJMcaawXp8y/4SrXfRA8HBMeOKxugbGIN1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OG3ey/dJMcaawXp8y/4SrXfRA8HBMeOKxugbGIN1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOG3ey%2FdJMcaawXp8y%2F4SrXfRA8HBMeOKxugbGIN1%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;1760&quot; height=&quot;418&quot; data-filename=&quot;스크린샷 2025-11-25 오후 5.17.59.png&quot; data-origin-width=&quot;1760&quot; data-origin-height=&quot;418&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 data-ke-size=&quot;size16&quot;&gt;이 pattern 부분을 지우고 다시 실행해보면&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-11-25 오후 5.18.41.png&quot; data-origin-width=&quot;1282&quot; data-origin-height=&quot;882&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bq7l7z/dJMcac9kFpZ/SBKAqA7IQLlLuDYrsDcSb1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bq7l7z/dJMcac9kFpZ/SBKAqA7IQLlLuDYrsDcSb1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bq7l7z/dJMcac9kFpZ/SBKAqA7IQLlLuDYrsDcSb1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbq7l7z%2FdJMcac9kFpZ%2FSBKAqA7IQLlLuDYrsDcSb1%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;1282&quot; height=&quot;882&quot; data-filename=&quot;스크린샷 2025-11-25 오후 5.18.41.png&quot; data-origin-width=&quot;1282&quot; data-origin-height=&quot;882&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 data-ke-size=&quot;size16&quot;&gt;이렇게 플래그가 나오는 것을 볼 수 있다 끝!!&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;2. old-44&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-11-25 오후 5.29.08.png&quot; data-origin-width=&quot;2642&quot; data-origin-height=&quot;330&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bRJk1l/dJMcadHax3j/RP5KONKpEWWFBuYbKpYGqK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bRJk1l/dJMcadHax3j/RP5KONKpEWWFBuYbKpYGqK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bRJk1l/dJMcadHax3j/RP5KONKpEWWFBuYbKpYGqK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbRJk1l%2FdJMcadHax3j%2FRP5KONKpEWWFBuYbKpYGqK%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;2642&quot; height=&quot;330&quot; data-filename=&quot;스크린샷 2025-11-25 오후 5.29.08.png&quot; data-origin-width=&quot;2642&quot; data-origin-height=&quot;330&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 data-ke-size=&quot;size16&quot;&gt;문제를 들어가본다! 먼가 name에 뭘 넣어야만 하는 것 같다...&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이것만으로는 감을 전혀 잡을 수 없으므로(당연히)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;view-source에 들어가본다.&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-filename=&quot;스크린샷 2025-11-25 오후 5.30.29.png&quot; data-origin-width=&quot;1344&quot; data-origin-height=&quot;772&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5FJzi/dJMcaiaGEQs/9YAfVYp1hPZZinDlfVyKvK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5FJzi/dJMcaiaGEQs/9YAfVYp1hPZZinDlfVyKvK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5FJzi/dJMcaiaGEQs/9YAfVYp1hPZZinDlfVyKvK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5FJzi%2FdJMcaiaGEQs%2F9YAfVYp1hPZZinDlfVyKvK%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;1344&quot; height=&quot;772&quot; data-filename=&quot;스크린샷 2025-11-25 오후 5.30.29.png&quot; data-origin-width=&quot;1344&quot; data-origin-height=&quot;772&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 data-ke-size=&quot;size16&quot;&gt;echo를 통해 id 값을 우리가 출력하는 것 같은데, You just need to execute ls라고 적혀있으니 우리는 쿨하게 '를 통해 닫아줄것이다. 그리구 ;라는 아까도 봤던 오류이든 아니든 실행하게 만드는 쉘 메타문자를 넣어준 뒤 뒤에 ls를 넣고 주석처리 넣어보고싶지만 5글자까지의 한계가 있기 때문에 '로 닫은 뒤 고대로 넣어준당&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-11-25 오후 5.34.03.png&quot; data-origin-width=&quot;658&quot; data-origin-height=&quot;110&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KzS3D/dJMcadtDuXf/UmSpR0QtkHdLzipnQrz991/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KzS3D/dJMcadtDuXf/UmSpR0QtkHdLzipnQrz991/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KzS3D/dJMcadtDuXf/UmSpR0QtkHdLzipnQrz991/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKzS3D%2FdJMcadtDuXf%2FUmSpR0QtkHdLzipnQrz991%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;658&quot; height=&quot;110&quot; data-filename=&quot;스크린샷 2025-11-25 오후 5.34.03.png&quot; data-origin-width=&quot;658&quot; data-origin-height=&quot;110&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 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-filename=&quot;스크린샷 2025-11-25 오후 5.34.20.png&quot; data-origin-width=&quot;1794&quot; data-origin-height=&quot;408&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Bibqv/dJMcafruTxD/3rZjXyVaVRTjcyKLqkHk60/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Bibqv/dJMcafruTxD/3rZjXyVaVRTjcyKLqkHk60/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Bibqv/dJMcafruTxD/3rZjXyVaVRTjcyKLqkHk60/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBibqv%2FdJMcafruTxD%2F3rZjXyVaVRTjcyKLqkHk60%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;1794&quot; height=&quot;408&quot; data-filename=&quot;스크린샷 2025-11-25 오후 5.34.20.png&quot; data-origin-width=&quot;1794&quot; data-origin-height=&quot;408&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼 이렇게 flag_29라는 파일과 index.php라는 파일이 뜨는데&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;요게 끝이라고 생각해선. 안된다. 왜냐면 이건 단지 파일명이기 때문에 그 다음에 URL 파라미터에 그 파일명을 넣어서&lt;br /&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-filename=&quot;스크린샷 2025-11-25 오후 5.39.22.png&quot; data-origin-width=&quot;1614&quot; data-origin-height=&quot;180&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/y4jGc/dJMcachezl6/E7l48VBQpnxcMn74PQ3jM1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/y4jGc/dJMcachezl6/E7l48VBQpnxcMn74PQ3jM1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/y4jGc/dJMcachezl6/E7l48VBQpnxcMn74PQ3jM1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fy4jGc%2FdJMcachezl6%2FE7l48VBQpnxcMn74PQ3jM1%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;1614&quot; height=&quot;180&quot; data-filename=&quot;스크린샷 2025-11-25 오후 5.39.22.png&quot; data-origin-width=&quot;1614&quot; data-origin-height=&quot;180&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 data-ke-size=&quot;size16&quot;&gt;이렇게 flag 파일을 그대로 붙여 파라미터로 값을 전달하면&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-filename=&quot;스크린샷 2025-11-25 오후 5.39.30.png&quot; data-origin-width=&quot;1488&quot; data-origin-height=&quot;292&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LO5uj/dJMcachezmb/7QVFt6QTpmvOjK50mt5sgK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LO5uj/dJMcachezmb/7QVFt6QTpmvOjK50mt5sgK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LO5uj/dJMcachezmb/7QVFt6QTpmvOjK50mt5sgK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLO5uj%2FdJMcachezmb%2F7QVFt6QTpmvOjK50mt5sgK%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;1488&quot; height=&quot;292&quot; data-filename=&quot;스크린샷 2025-11-25 오후 5.39.30.png&quot; data-origin-width=&quot;1488&quot; data-origin-height=&quot;292&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;찐 플래그 값이 뜬다!&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. Command Injection Advanced&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&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 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-filename=&quot;스크린샷 2025-11-26 오전 2.08.35.png&quot; data-origin-width=&quot;1662&quot; data-origin-height=&quot;698&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kFZK0/dJMcacIjuGZ/OARjEpf6PYKBk1HMS1TuJ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kFZK0/dJMcacIjuGZ/OARjEpf6PYKBk1HMS1TuJ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kFZK0/dJMcacIjuGZ/OARjEpf6PYKBk1HMS1TuJ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkFZK0%2FdJMcacIjuGZ%2FOARjEpf6PYKBk1HMS1TuJ1%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;1662&quot; height=&quot;698&quot; data-filename=&quot;스크린샷 2025-11-26 오전 2.08.35.png&quot; data-origin-width=&quot;1662&quot; data-origin-height=&quot;698&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 data-ke-size=&quot;size16&quot;&gt;받은 악성 코드 파일도 한번 열어주고, 그 링크를 복사한다!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-11-26 오전 2.09.16.png&quot; data-origin-width=&quot;1982&quot; data-origin-height=&quot;898&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/quUpz/dJMcaa4M9HX/CxlQD8skhBXoGIn7zfPL2k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/quUpz/dJMcaa4M9HX/CxlQD8skhBXoGIn7zfPL2k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/quUpz/dJMcaa4M9HX/CxlQD8skhBXoGIn7zfPL2k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FquUpz%2FdJMcaa4M9HX%2FCxlQD8skhBXoGIn7zfPL2k%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;1982&quot; height=&quot;898&quot; data-filename=&quot;스크린샷 2025-11-26 오전 2.09.16.png&quot; data-origin-width=&quot;1982&quot; data-origin-height=&quot;898&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 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 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 data-ke-size=&quot;size16&quot;&gt;소스 코드를 gpt한테 해설 맡겼을 때,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$cache_file&amp;nbsp;=&amp;nbsp;'./cache/'.md5($url);&lt;br /&gt;이 한 줄으로 인하여 우리는 cache 폴더가 있다는 것을 알 수 있다고 알려주엇당...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;./ &amp;rarr; 현재 디렉토리&lt;br /&gt;cache/ &amp;rarr; cache 폴더가 있다&lt;br /&gt;md5($url) &amp;rarr; 파일 이름은 URL 값의 MD5 해시&lt;br /&gt;&lt;br /&gt;&amp;ldquo;이&amp;nbsp;프로그램은&amp;nbsp;./cache&amp;nbsp;폴더에&lt;br /&gt;URL을 해시한 이름으로 파일을 저장하는구나.&quot;&lt;/p&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-filename=&quot;스크린샷 2025-11-26 오전 2.16.48.png&quot; data-origin-width=&quot;1576&quot; data-origin-height=&quot;1170&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GNiYy/dJMcafSzsxg/ysHRpiW8AHSF1INYywqk90/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GNiYy/dJMcafSzsxg/ysHRpiW8AHSF1INYywqk90/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GNiYy/dJMcafSzsxg/ysHRpiW8AHSF1INYywqk90/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGNiYy%2FdJMcafSzsxg%2FysHRpiW8AHSF1INYywqk90%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;1170&quot; data-filename=&quot;스크린샷 2025-11-26 오전 2.16.48.png&quot; data-origin-width=&quot;1576&quot; data-origin-height=&quot;1170&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 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-filename=&quot;스크린샷 2025-11-26 오전 2.10.30.png&quot; data-origin-width=&quot;1846&quot; data-origin-height=&quot;602&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bzbKUk/dJMb99Y7kkY/RUzSJ3lJcCW4FAm8Nvp3pk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bzbKUk/dJMb99Y7kkY/RUzSJ3lJcCW4FAm8Nvp3pk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bzbKUk/dJMb99Y7kkY/RUzSJ3lJcCW4FAm8Nvp3pk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbzbKUk%2FdJMb99Y7kkY%2FRUzSJ3lJcCW4FAm8Nvp3pk%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;1846&quot; height=&quot;602&quot; data-filename=&quot;스크린샷 2025-11-26 오전 2.10.30.png&quot; data-origin-width=&quot;1846&quot; data-origin-height=&quot;602&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 data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;url에 다음과 같은 복사한 파일 링크를 붙여넣고!&lt;span&gt; 출력 파일 이름을 hello.php로 cache에 저장하는 그런 구문을 지정한다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;사이트 주소(host) 뒤에 우리가 만든 파일의 링크를붙여넣고, ls로 확인한 뒤 /flag 해준다!!&lt;/span&gt;&lt;/span&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-filename=&quot;스크린샷 2025-11-26 오후 5.30.26.png&quot; data-origin-width=&quot;1224&quot; data-origin-height=&quot;240&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cWBXY7/dJMb99LAs5R/cGkyUXLdRGDC8Lt5kTkTPk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cWBXY7/dJMb99LAs5R/cGkyUXLdRGDC8Lt5kTkTPk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cWBXY7/dJMb99LAs5R/cGkyUXLdRGDC8Lt5kTkTPk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcWBXY7%2FdJMb99LAs5R%2FcGkyUXLdRGDC8Lt5kTkTPk%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;1224&quot; height=&quot;240&quot; data-filename=&quot;스크린샷 2025-11-26 오후 5.30.26.png&quot; data-origin-width=&quot;1224&quot; data-origin-height=&quot;240&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;KakaoTalk_Photo_2025-11-26-17-36-49.png&quot; data-origin-width=&quot;1284&quot; data-origin-height=&quot;324&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbrCfD/dJMcabik9Ak/DiaPTVRLEDzlD2aHU7aRqk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbrCfD/dJMcabik9Ak/DiaPTVRLEDzlD2aHU7aRqk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbrCfD/dJMcabik9Ak/DiaPTVRLEDzlD2aHU7aRqk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbbrCfD%2FdJMcabik9Ak%2FDiaPTVRLEDzlD2aHU7aRqk%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;1284&quot; height=&quot;324&quot; data-filename=&quot;KakaoTalk_Photo_2025-11-26-17-36-49.png&quot; data-origin-width=&quot;1284&quot; data-origin-height=&quot;324&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-11-26 오후 6.08.33.png&quot; data-origin-width=&quot;1252&quot; data-origin-height=&quot;286&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/H9cOA/dJMcafkJDjO/8MF2AWyQThm9K7sdSMaQVk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/H9cOA/dJMcafkJDjO/8MF2AWyQThm9K7sdSMaQVk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/H9cOA/dJMcafkJDjO/8MF2AWyQThm9K7sdSMaQVk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FH9cOA%2FdJMcafkJDjO%2F8MF2AWyQThm9K7sdSMaQVk%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;1252&quot; height=&quot;286&quot; data-filename=&quot;스크린샷 2025-11-26 오후 6.08.33.png&quot; data-origin-width=&quot;1252&quot; data-origin-height=&quot;286&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>[웹해킹 기초] 해초 과제 모음  </category>
      <author>yeseul7</author>
      <guid isPermaLink="true">https://yeseul7.tistory.com/10</guid>
      <comments>https://yeseul7.tistory.com/10#entry10comment</comments>
      <pubDate>Wed, 26 Nov 2025 19:13:24 +0900</pubDate>
    </item>
    <item>
      <title>해초 : 김예슬 5주차 과제(SQL)</title>
      <link>https://yeseul7.tistory.com/7</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&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-filename=&quot;IMG_5525.JPG&quot; data-origin-width=&quot;1003&quot; data-origin-height=&quot;802&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bvwB2S/dJMcaiuSne8/V6HAgi5m6J8hCejMr40cWk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bvwB2S/dJMcaiuSne8/V6HAgi5m6J8hCejMr40cWk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bvwB2S/dJMcaiuSne8/V6HAgi5m6J8hCejMr40cWk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbvwB2S%2FdJMcaiuSne8%2FV6HAgi5m6J8hCejMr40cWk%2Fimg.jpg&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;479&quot; height=&quot;383&quot; data-filename=&quot;IMG_5525.JPG&quot; data-origin-width=&quot;1003&quot; data-origin-height=&quot;802&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. &lt;b&gt;simple_sqli&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-11-08 오전 1.42.39.png&quot; data-origin-width=&quot;1396&quot; data-origin-height=&quot;486&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bGiAkz/dJMcagDPmuk/qtrQHXQTzyOxK25TONxCHK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bGiAkz/dJMcagDPmuk/qtrQHXQTzyOxK25TONxCHK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGiAkz/dJMcagDPmuk/qtrQHXQTzyOxK25TONxCHK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGiAkz%2FdJMcagDPmuk%2FqtrQHXQTzyOxK25TONxCHK%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;1396&quot; height=&quot;486&quot; data-filename=&quot;스크린샷 2025-11-08 오전 1.42.39.png&quot; data-origin-width=&quot;1396&quot; data-origin-height=&quot;486&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 data-ke-size=&quot;size16&quot;&gt;이 문제야말로 정말 쉽다! 난이도 1임을 인정할 수 있는 유일한 문제. 입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-11-08 오전 1.44.25.png&quot; data-origin-width=&quot;906&quot; data-origin-height=&quot;308&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cmiwsp/dJMcafrnzxT/xuJnAZy5be06D8FdWQX2Q0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cmiwsp/dJMcafrnzxT/xuJnAZy5be06D8FdWQX2Q0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cmiwsp/dJMcafrnzxT/xuJnAZy5be06D8FdWQX2Q0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcmiwsp%2FdJMcafrnzxT%2FxuJnAZy5be06D8FdWQX2Q0%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;906&quot; height=&quot;308&quot; data-filename=&quot;스크린샷 2025-11-08 오전 1.44.25.png&quot; data-origin-width=&quot;906&quot; data-origin-height=&quot;308&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 data-ke-size=&quot;size16&quot;&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-filename=&quot;스크린샷 2025-11-08 오전 1.44.46.png&quot; data-origin-width=&quot;1962&quot; data-origin-height=&quot;582&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/z1MnG/dJMcafdQDSf/5aKx1iQLjWRLWGHFTBu6jk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/z1MnG/dJMcafdQDSf/5aKx1iQLjWRLWGHFTBu6jk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/z1MnG/dJMcafdQDSf/5aKx1iQLjWRLWGHFTBu6jk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fz1MnG%2FdJMcafdQDSf%2F5aKx1iQLjWRLWGHFTBu6jk%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;1962&quot; height=&quot;582&quot; data-filename=&quot;스크린샷 2025-11-08 오전 1.44.46.png&quot; data-origin-width=&quot;1962&quot; data-origin-height=&quot;582&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 data-ke-size=&quot;size16&quot;&gt;주어진 소스 코드를 확인해보면,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;userid = admin 이어야 하고, 비밀번호는 저희가 모르는 상태로 되어있지만&amp;nbsp;&lt;/p&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-filename=&quot;스크린샷 2025-11-08 오전 1.45.31.png&quot; data-origin-width=&quot;2154&quot; data-origin-height=&quot;1608&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbFGQv/dJMcaihlblP/PKKQf2Q7f2SAlAydHNgll0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbFGQv/dJMcaihlblP/PKKQf2Q7f2SAlAydHNgll0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbFGQv/dJMcaihlblP/PKKQf2Q7f2SAlAydHNgll0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbbFGQv%2FdJMcaihlblP%2FPKKQf2Q7f2SAlAydHNgll0%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;2154&quot; height=&quot;1608&quot; data-filename=&quot;스크린샷 2025-11-08 오전 1.45.31.png&quot; data-origin-width=&quot;2154&quot; data-origin-height=&quot;1608&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기에서 우리는 userid = admin을 알고, password를 모르기 때문에 조건 중 하나인 패스워드를 주석처리해서 지워버리면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;sql에서 주석처리는 --&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러니 로그인 창에서 admin&quot;을 해주고({userid} 자리에 넣어주는 것) 그 뒤에 --를 달아주면 뒤 내용을 자연스럽게 주석처리 하면서&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우리는 조건을 충족해 사이트로 접속할 수 있게 된다. 이때 주의할 점은 &quot;를 꼭 해주어야 올바른 문장이 된다는 것!!&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-filename=&quot;스크린샷 2025-11-08 오전 1.57.41.png&quot; data-origin-width=&quot;826&quot; data-origin-height=&quot;982&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7Xlzt/dJMcabidtjE/v1saI7fbLLoC7WEAnP43u0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7Xlzt/dJMcabidtjE/v1saI7fbLLoC7WEAnP43u0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7Xlzt/dJMcabidtjE/v1saI7fbLLoC7WEAnP43u0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7Xlzt%2FdJMcabidtjE%2Fv1saI7fbLLoC7WEAnP43u0%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;982&quot; data-filename=&quot;스크린샷 2025-11-08 오전 1.57.41.png&quot; data-origin-width=&quot;826&quot; data-origin-height=&quot;982&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 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 data-ke-size=&quot;size16&quot;&gt;비밀번호는 대충 아무거나 해주고(주석처리 되기 때문) 로그인을 누르면,&lt;/p&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-filename=&quot;스크린샷 2025-11-08 오전 1.57.54.png&quot; data-origin-width=&quot;988&quot; data-origin-height=&quot;238&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cIpLP9/dJMcaaKnqZN/AqIYqhKOKqwvn30pC4i81k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cIpLP9/dJMcaaKnqZN/AqIYqhKOKqwvn30pC4i81k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cIpLP9/dJMcaaKnqZN/AqIYqhKOKqwvn30pC4i81k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcIpLP9%2FdJMcaaKnqZN%2FAqIYqhKOKqwvn30pC4i81k%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;238&quot; data-filename=&quot;스크린샷 2025-11-08 오전 1.57.54.png&quot; data-origin-width=&quot;988&quot; data-origin-height=&quot;238&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 data-ke-size=&quot;size16&quot;&gt;이렇게 플래그가 나온다~!~!~!!&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.simple_sqli_chatgpt&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;요 문제도 아까 문제랑 비슷한 문제이다! 쫄지말고&lt;span style=&quot;color: #9d9d9d;&quot;&gt;(?)&lt;/span&gt; 접근할것. &lt;span style=&quot;color: #666666;&quot;&gt;(스스로에게 하는 말입니다...)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-11-08 오전 1.59.12.png&quot; data-origin-width=&quot;1372&quot; data-origin-height=&quot;374&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bkvhU6/dJMcahbFhDW/wkFa5EGgjcFy6MnzaF0cqk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bkvhU6/dJMcahbFhDW/wkFa5EGgjcFy6MnzaF0cqk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bkvhU6/dJMcahbFhDW/wkFa5EGgjcFy6MnzaF0cqk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbkvhU6%2FdJMcahbFhDW%2FwkFa5EGgjcFy6MnzaF0cqk%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;1372&quot; height=&quot;374&quot; data-filename=&quot;스크린샷 2025-11-08 오전 1.59.12.png&quot; data-origin-width=&quot;1372&quot; data-origin-height=&quot;374&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로그인 창으로 먼저 들어가고,&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-11-08 오전 2.00.47.png&quot; data-origin-width=&quot;934&quot; data-origin-height=&quot;304&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b6Nnmg/dJMcaacxtBI/PznakDeerxZJqBCktstQS1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b6Nnmg/dJMcaacxtBI/PznakDeerxZJqBCktstQS1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b6Nnmg/dJMcaacxtBI/PznakDeerxZJqBCktstQS1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6Nnmg%2FdJMcaacxtBI%2FPznakDeerxZJqBCktstQS1%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;934&quot; height=&quot;304&quot; data-filename=&quot;스크린샷 2025-11-08 오전 2.00.47.png&quot; data-origin-width=&quot;934&quot; data-origin-height=&quot;304&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;확인해보면 아까랑은 조금 달리 userlevel이라는 것이 뜬다는 걸 볼 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-11-08 오전 2.01.03.png&quot; data-origin-width=&quot;1808&quot; data-origin-height=&quot;556&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b8koOH/dJMcai2Ig0N/6N45wDhENtqLsqzULgHk31/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b8koOH/dJMcai2Ig0N/6N45wDhENtqLsqzULgHk31/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b8koOH/dJMcai2Ig0N/6N45wDhENtqLsqzULgHk31/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb8koOH%2FdJMcai2Ig0N%2F6N45wDhENtqLsqzULgHk31%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;1808&quot; height=&quot;556&quot; data-filename=&quot;스크린샷 2025-11-08 오전 2.01.03.png&quot; data-origin-width=&quot;1808&quot; data-origin-height=&quot;556&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 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-filename=&quot;스크린샷 2025-11-08 오전 2.02.53.png&quot; data-origin-width=&quot;2424&quot; data-origin-height=&quot;1724&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bw4Ivi/dJMcaiuSm9V/hXPYNNB4bn1AK20xwA3kU0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bw4Ivi/dJMcaiuSm9V/hXPYNNB4bn1AK20xwA3kU0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bw4Ivi/dJMcaiuSm9V/hXPYNNB4bn1AK20xwA3kU0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbw4Ivi%2FdJMcaiuSm9V%2FhXPYNNB4bn1AK20xwA3kU0%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;2424&quot; height=&quot;1724&quot; data-filename=&quot;스크린샷 2025-11-08 오전 2.02.53.png&quot; data-origin-width=&quot;2424&quot; data-origin-height=&quot;1724&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 data-ke-size=&quot;size16&quot;&gt;주의 깊게 봐야 할 부분은 if userid 부분인데,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;userid == admin, userlevel == 0을 꼭 조건으로 만족해야한다는 것.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그렇기 때문에, userlevel부분에 맞춰&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;0 and userid = 'admin가 답 코드가 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;왜냐하면 '{userlevel}'&quot;이니까&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;userlevel ='{&lt;u&gt;&lt;b&gt;0 and userid = 'admin&lt;/b&gt;&lt;/u&gt;}'&quot;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 식으로 기존에 있던 '를 고려해 채워야한다는 것!&lt;/p&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-filename=&quot;스크린샷 2025-11-08 오전 2.20.19.png&quot; data-origin-width=&quot;1090&quot; data-origin-height=&quot;440&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b4jkiD/dJMcaeF0Iu9/edNJTdCjatQ7AoZHEwB5h1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b4jkiD/dJMcaeF0Iu9/edNJTdCjatQ7AoZHEwB5h1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b4jkiD/dJMcaeF0Iu9/edNJTdCjatQ7AoZHEwB5h1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb4jkiD%2FdJMcaeF0Iu9%2FedNJTdCjatQ7AoZHEwB5h1%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;440&quot; data-filename=&quot;스크린샷 2025-11-08 오전 2.20.19.png&quot; data-origin-width=&quot;1090&quot; data-origin-height=&quot;440&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 data-ke-size=&quot;size16&quot;&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-filename=&quot;스크린샷 2025-11-08 오전 2.20.41.png&quot; data-origin-width=&quot;732&quot; data-origin-height=&quot;128&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oJcPo/dJMcahCJBZJ/Nhp78ySMEJNvmKvAkccNyK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oJcPo/dJMcahCJBZJ/Nhp78ySMEJNvmKvAkccNyK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oJcPo/dJMcahCJBZJ/Nhp78ySMEJNvmKvAkccNyK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoJcPo%2FdJMcahCJBZJ%2FNhp78ySMEJNvmKvAkccNyK%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;732&quot; height=&quot;128&quot; data-filename=&quot;스크린샷 2025-11-08 오전 2.20.41.png&quot; data-origin-width=&quot;732&quot; data-origin-height=&quot;128&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 data-ke-size=&quot;size16&quot;&gt;플래그가 뜬다!!&lt;/p&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 data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. blind sql injection advanced&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단 심호흡을 하고 풀어봐야 하는 문제가 나왔다. 정말 쉽지 않타.... 다행히 vs코드 다른 버전 깔았드니 돌아가더랍니다...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다행.......이죠?...ㅎㅎ&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-11-08 오전 2.24.21.png&quot; data-origin-width=&quot;2130&quot; data-origin-height=&quot;516&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/09tbI/dJMcahCJB9G/lZRYLX2eGLTRrK4JkSzKmk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/09tbI/dJMcahCJB9G/lZRYLX2eGLTRrK4JkSzKmk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/09tbI/dJMcahCJB9G/lZRYLX2eGLTRrK4JkSzKmk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F09tbI%2FdJMcahCJB9G%2FlZRYLX2eGLTRrK4JkSzKmk%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;2130&quot; height=&quot;516&quot; data-filename=&quot;스크린샷 2025-11-08 오전 2.24.21.png&quot; data-origin-width=&quot;2130&quot; data-origin-height=&quot;516&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 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 data-ke-size=&quot;size16&quot;&gt;우선 문제에서 준 파일들을 읽어줍니다. 요 파일에선 user테이블에 3개의 행, 그 안에 'admin', 'guest', 'test'에 대한 각각의 데이터가 들어가있다는 것과, admin의 upw가 곧 우리가 찾아야하는 flag라는 것을 알 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-11-08 오전 2.34.52.png&quot; data-origin-width=&quot;1956&quot; data-origin-height=&quot;1134&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5r0r0/dJMcai2IhiN/cL4QCJfXsY9YKKiksXdhD0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5r0r0/dJMcai2IhiN/cL4QCJfXsY9YKKiksXdhD0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5r0r0/dJMcai2IhiN/cL4QCJfXsY9YKKiksXdhD0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5r0r0%2FdJMcai2IhiN%2FcL4QCJfXsY9YKKiksXdhD0%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;1134&quot; data-filename=&quot;스크린샷 2025-11-08 오전 2.34.52.png&quot; data-origin-width=&quot;1956&quot; data-origin-height=&quot;1134&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 data-ke-size=&quot;size16&quot;&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-filename=&quot;스크린샷 2025-11-08 오전 2.39.14.png&quot; data-origin-width=&quot;1392&quot; data-origin-height=&quot;1060&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3YdPK/dJMcabvKBlX/HRnkjIm0Hp0XlDIvQgb581/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3YdPK/dJMcabvKBlX/HRnkjIm0Hp0XlDIvQgb581/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3YdPK/dJMcabvKBlX/HRnkjIm0Hp0XlDIvQgb581/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3YdPK%2FdJMcabvKBlX%2FHRnkjIm0Hp0XlDIvQgb581%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;1392&quot; height=&quot;1060&quot; data-filename=&quot;스크린샷 2025-11-08 오전 2.39.14.png&quot; data-origin-width=&quot;1392&quot; data-origin-height=&quot;1060&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선, 플래그의 글자 길이부터 알아야하기 때문에&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코랩에 들어가서 주소를 변수로 지정하고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;password_length라는 변수를 만든 뒤 값을 0으로 초기화해둔다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 이후 while문을 통해 password_length의 길이를 구하게 되는데,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;password_length에 돌아갈 수록 하나씩 더해주는 것을 짠 뒤에&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;exists가 뜨면(같다는 것이 참이 뜨면) break를 하고 빠져나와 password_length 값을 출력해주는 프로그램을 만든다.&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-filename=&quot;스크린샷 2025-11-12 오후 7.45.28.png&quot; data-origin-width=&quot;1558&quot; data-origin-height=&quot;714&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5Om7O/dJMb99Y1Py4/sKdnkkY1U7rmyMIzPKx75K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5Om7O/dJMb99Y1Py4/sKdnkkY1U7rmyMIzPKx75K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5Om7O/dJMb99Y1Py4/sKdnkkY1U7rmyMIzPKx75K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5Om7O%2FdJMb99Y1Py4%2FsKdnkkY1U7rmyMIzPKx75K%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;1558&quot; height=&quot;714&quot; data-filename=&quot;스크린샷 2025-11-12 오후 7.45.28.png&quot; data-origin-width=&quot;1558&quot; data-origin-height=&quot;714&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 다음 각 문자별 비트 길이를 찾기 위한 코드를 작성해야 하기 때문에, 패스워드 길이만큼 돌아가는 for문을 작성해주어야 한다.&lt;/p&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;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;119&quot; data-start=&quot;59&quot;&gt;&lt;b&gt;substr(upw, {i}, 1)&lt;/b&gt;&lt;br /&gt;&amp;rarr; 비밀번호의 i번째 글자 하나를 잘라서 가져온다.&lt;/li&gt;
&lt;li data-end=&quot;168&quot; data-start=&quot;121&quot;&gt;&lt;b&gt;ord( &amp;hellip; )&lt;/b&gt;&lt;br /&gt;&amp;rarr; 가져온 글자를 ASCII 숫자값으로 바꾼다.&lt;/li&gt;
&lt;li data-end=&quot;218&quot; data-start=&quot;170&quot;&gt;&lt;b&gt;bin( &amp;hellip; )&lt;/b&gt;&lt;br /&gt;&amp;rarr; 그 ASCII 숫자를 이진수 문자열로 바꾼다.&lt;/li&gt;
&lt;li data-end=&quot;262&quot; data-start=&quot;220&quot;&gt;&lt;b&gt;length( &amp;hellip; )&lt;/b&gt;&lt;br /&gt;&amp;rarr; 이진수 문자열의 길이를 센다.&lt;/li&gt;
&lt;li data-end=&quot;346&quot; data-start=&quot;264&quot;&gt;&lt;b&gt;length(...) = {bit_length}&lt;/b&gt;&lt;br /&gt;&amp;rarr; 이진수 길이가 공격자가 넣은 {bit_length}와 같은지 비교한다.&lt;/li&gt;
&lt;li data-end=&quot;395&quot; data-start=&quot;348&quot;&gt;&lt;b&gt;-- -&lt;/b&gt;&lt;br /&gt;&amp;rarr; 뒤에 오는 SQL 코드를 주석 처리해서 무효화한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가 다음 length(bin(ord(substr(upw,{i},1)))) = {bit_length}-- -라는 줄 안에서 각각 함수들의 역할이다.&lt;/p&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-filename=&quot;스크린샷 2025-11-12 오후 8.30.46.png&quot; data-origin-width=&quot;1474&quot; data-origin-height=&quot;1160&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vn1uU/dJMcag4VckA/syGjQCIbaB6YZoq6cORtD0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vn1uU/dJMcag4VckA/syGjQCIbaB6YZoq6cORtD0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vn1uU/dJMcag4VckA/syGjQCIbaB6YZoq6cORtD0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fvn1uU%2FdJMcag4VckA%2FsyGjQCIbaB6YZoq6cORtD0%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;1160&quot; data-filename=&quot;스크린샷 2025-11-12 오후 8.30.46.png&quot; data-origin-width=&quot;1474&quot; data-origin-height=&quot;1160&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 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 data-ke-size=&quot;size16&quot;&gt;비트 수를 알아냈다면, 0과 1으로 검사를 해보고 각각 결과를 넣어 완성하는 코드를 돌리면 된다!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;KakaoTalk_Photo_2025-11-16-21-27-21.png&quot; data-origin-width=&quot;1426&quot; data-origin-height=&quot;864&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/o0x94/dJMcacnWI6a/XOmiXVrLpSFJN7UEUQRwe1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/o0x94/dJMcacnWI6a/XOmiXVrLpSFJN7UEUQRwe1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/o0x94/dJMcacnWI6a/XOmiXVrLpSFJN7UEUQRwe1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fo0x94%2FdJMcacnWI6a%2FXOmiXVrLpSFJN7UEUQRwe1%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;1426&quot; height=&quot;864&quot; data-filename=&quot;KakaoTalk_Photo_2025-11-16-21-27-21.png&quot; data-origin-width=&quot;1426&quot; data-origin-height=&quot;864&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-filename=&quot;KakaoTalk_Photo_2025-11-16-21-25-58.png&quot; data-origin-width=&quot;313&quot; data-origin-height=&quot;477&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cvJnih/dJMcafEYoDj/HqO2WV0mm7au8pMozW5Wck/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cvJnih/dJMcafEYoDj/HqO2WV0mm7au8pMozW5Wck/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cvJnih/dJMcafEYoDj/HqO2WV0mm7au8pMozW5Wck/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcvJnih%2FdJMcafEYoDj%2FHqO2WV0mm7au8pMozW5Wck%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;313&quot; height=&quot;477&quot; data-filename=&quot;KakaoTalk_Photo_2025-11-16-21-25-58.png&quot; data-origin-width=&quot;313&quot; data-origin-height=&quot;477&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 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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>[웹해킹 기초] 해초 과제 모음  </category>
      <author>yeseul7</author>
      <guid isPermaLink="true">https://yeseul7.tistory.com/7</guid>
      <comments>https://yeseul7.tistory.com/7#entry7comment</comments>
      <pubDate>Sun, 16 Nov 2025 21:29:16 +0900</pubDate>
    </item>
  </channel>
</rss>