<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>memo1240 님의 블로그</title>
    <link>https://memo1240.tistory.com/</link>
    <description>memo1240 님의 블로그 입니다.</description>
    <language>ko</language>
    <pubDate>Tue, 12 May 2026 11:18:01 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>memo1240</managingEditor>
    <item>
      <title>[swlug] 7주차 웹해킹 과제</title>
      <link>https://memo1240.tistory.com/45</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 실습&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1169&quot; data-origin-height=&quot;1179&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/07pub/dJMcahQkZme/tBINeLbrIcQjbdc1Wj00uk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/07pub/dJMcahQkZme/tBINeLbrIcQjbdc1Wj00uk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/07pub/dJMcahQkZme/tBINeLbrIcQjbdc1Wj00uk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F07pub%2FdJMcahQkZme%2FtBINeLbrIcQjbdc1Wj00uk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1169&quot; height=&quot;1179&quot; data-origin-width=&quot;1169&quot; data-origin-height=&quot;1179&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. account 접속하여 실습 링크에 있는 아이디,비밀번호로 로그인&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1141&quot; data-origin-height=&quot;580&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cMLRQQ/dJMcacIgl7m/kZKwxZYuUVjiTzZraS8I5k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cMLRQQ/dJMcacIgl7m/kZKwxZYuUVjiTzZraS8I5k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cMLRQQ/dJMcacIgl7m/kZKwxZYuUVjiTzZraS8I5k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcMLRQQ%2FdJMcacIgl7m%2FkZKwxZYuUVjiTzZraS8I5k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1141&quot; height=&quot;580&quot; data-origin-width=&quot;1141&quot; data-origin-height=&quot;580&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 이메일 변경 패킷을 찾아 repeater로 전송&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;919&quot; data-origin-height=&quot;721&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bsheqv/dJMcabWS6GZ/nSL95UOV7n8d8N24o3WYL1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bsheqv/dJMcabWS6GZ/nSL95UOV7n8d8N24o3WYL1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bsheqv/dJMcabWS6GZ/nSL95UOV7n8d8N24o3WYL1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbsheqv%2FdJMcabWS6GZ%2FnSL95UOV7n8d8N24o3WYL1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;919&quot; height=&quot;721&quot; data-origin-width=&quot;919&quot; data-origin-height=&quot;721&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1488&quot; data-origin-height=&quot;662&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cBGAMv/dJMcabvOLgF/Jbjt6mR4WDnL2hh0hTjDxk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cBGAMv/dJMcabvOLgF/Jbjt6mR4WDnL2hh0hTjDxk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cBGAMv/dJMcabvOLgF/Jbjt6mR4WDnL2hh0hTjDxk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcBGAMv%2FdJMcabvOLgF%2FJbjt6mR4WDnL2hh0hTjDxk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/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;662&quot; data-origin-width=&quot;1488&quot; data-origin-height=&quot;662&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. repeater에서 우클릭 change request method 클릭&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;post -&amp;gt; get으로 바뀜을 알 수 있음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 이메일을 swlug에서 test로 바꾼 후 send&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1122&quot; data-origin-height=&quot;476&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b1Ysjh/dJMcabWS6Hs/6lUBdGFBXUes1XkVhUGKjK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b1Ysjh/dJMcabWS6Hs/6lUBdGFBXUes1XkVhUGKjK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b1Ysjh/dJMcabWS6Hs/6lUBdGFBXUes1XkVhUGKjK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1Ysjh%2FdJMcabWS6Hs%2F6lUBdGFBXUes1XkVhUGKjK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/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;476&quot; data-origin-width=&quot;1122&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;5. 성공 화면&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1195&quot; data-origin-height=&quot;1009&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cW1iPC/dJMcagcPaEF/KFrpFntUIwq9mNkr8rozb0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cW1iPC/dJMcagcPaEF/KFrpFntUIwq9mNkr8rozb0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cW1iPC/dJMcagcPaEF/KFrpFntUIwq9mNkr8rozb0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcW1iPC%2FdJMcagcPaEF%2FKFrpFntUIwq9mNkr8rozb0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1195&quot; height=&quot;1009&quot; data-origin-width=&quot;1195&quot; data-origin-height=&quot;1009&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. CSRF 공격을 사용하는 익스플로잇 서버 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. body에 이메일 변경 패킷 주소와 바꾸려는 이메일 입력&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1118&quot; data-origin-height=&quot;478&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bhPZo9/dJMcagw7OdL/bNBzcHuWyK85kVYIbXy2hK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bhPZo9/dJMcagw7OdL/bNBzcHuWyK85kVYIbXy2hK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bhPZo9/dJMcagw7OdL/bNBzcHuWyK85kVYIbXy2hK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbhPZo9%2FdJMcagw7OdL%2FbNBzcHuWyK85kVYIbXy2hK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1118&quot; height=&quot;478&quot; data-origin-width=&quot;1118&quot; data-origin-height=&quot;478&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8. 성공 화면&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 과제&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1169&quot; data-origin-height=&quot;1195&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yVXMN/dJMcachbQYo/0ksglDUTNCcKFaon55RWsk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yVXMN/dJMcachbQYo/0ksglDUTNCcKFaon55RWsk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yVXMN/dJMcachbQYo/0ksglDUTNCcKFaon55RWsk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyVXMN%2FdJMcachbQYo%2F0ksglDUTNCcKFaon55RWsk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1169&quot; height=&quot;1195&quot; data-origin-width=&quot;1169&quot; data-origin-height=&quot;1195&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1105&quot; data-origin-height=&quot;462&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CoNji/dJMcagqmi2s/tmuq8x983tjkkLriewgZz0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CoNji/dJMcagqmi2s/tmuq8x983tjkkLriewgZz0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CoNji/dJMcagqmi2s/tmuq8x983tjkkLriewgZz0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCoNji%2FdJMcagqmi2s%2Ftmuq8x983tjkkLriewgZz0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1105&quot; height=&quot;462&quot; data-origin-width=&quot;1105&quot; data-origin-height=&quot;462&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&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;1145&quot; data-origin-height=&quot;475&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YXJKh/dJMcaaKrxCa/cJqYaFWq7Cys0dlQl0hmuk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YXJKh/dJMcaaKrxCa/cJqYaFWq7Cys0dlQl0hmuk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YXJKh/dJMcaaKrxCa/cJqYaFWq7Cys0dlQl0hmuk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYXJKh%2FdJMcaaKrxCa%2FcJqYaFWq7Cys0dlQl0hmuk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1145&quot; height=&quot;475&quot; data-origin-width=&quot;1145&quot; data-origin-height=&quot;475&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 디폴트 이메일을 test 이메일로 변경해보았다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1220&quot; data-origin-height=&quot;883&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cFQvkU/dJMcahQk0cw/QyaXvybE2i3jJWluwqdT20/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cFQvkU/dJMcahQk0cw/QyaXvybE2i3jJWluwqdT20/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cFQvkU/dJMcahQk0cw/QyaXvybE2i3jJWluwqdT20/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcFQvkU%2FdJMcahQk0cw%2FQyaXvybE2i3jJWluwqdT20%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1220&quot; height=&quot;883&quot; data-origin-width=&quot;1220&quot; data-origin-height=&quot;883&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 이메일 변경 패킷을 잡고 실습 과정처럼 repeter을 통해 변경을 시도하였으나 변경되지 않았다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1337&quot; data-origin-height=&quot;810&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bzQjnw/dJMcaaRdg0O/e1YoyV59eKlaFrA5cojvLK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bzQjnw/dJMcaaRdg0O/e1YoyV59eKlaFrA5cojvLK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bzQjnw/dJMcaaRdg0O/e1YoyV59eKlaFrA5cojvLK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbzQjnw%2FdJMcaaRdg0O%2Fe1YoyV59eKlaFrA5cojvLK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1337&quot; height=&quot;810&quot; data-origin-width=&quot;1337&quot; data-origin-height=&quot;810&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 익스플로잇을 통해 변경해보겠다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1540&quot; data-origin-height=&quot;899&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/niH2X/dJMcacuI76O/wluPEDFR9758MaB5rUAMzk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/niH2X/dJMcacuI76O/wluPEDFR9758MaB5rUAMzk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/niH2X/dJMcacuI76O/wluPEDFR9758MaB5rUAMzk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FniH2X%2FdJMcacuI76O%2FwluPEDFR9758MaB5rUAMzk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1540&quot; height=&quot;899&quot; data-origin-width=&quot;1540&quot; data-origin-height=&quot;899&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1470&quot; data-origin-height=&quot;1163&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqnTWP/dJMcabP7rtY/KaJVmvy6LINEhakIaAFAj1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqnTWP/dJMcabP7rtY/KaJVmvy6LINEhakIaAFAj1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqnTWP/dJMcabP7rtY/KaJVmvy6LINEhakIaAFAj1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqnTWP%2FdJMcabP7rtY%2FKaJVmvy6LINEhakIaAFAj1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1470&quot; height=&quot;1163&quot; data-origin-width=&quot;1470&quot; data-origin-height=&quot;1163&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 변경 패킷에 붙어있던 토큰을 통해 이메일 변경을 시도하였다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1501&quot; data-origin-height=&quot;1166&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BdPsS/dJMcabbv0Zj/gcspk3mysV0gzk4hvwUsj0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BdPsS/dJMcabbv0Zj/gcspk3mysV0gzk4hvwUsj0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BdPsS/dJMcabbv0Zj/gcspk3mysV0gzk4hvwUsj0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBdPsS%2FdJMcabbv0Zj%2Fgcspk3mysV0gzk4hvwUsj0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1501&quot; height=&quot;1166&quot; data-origin-width=&quot;1501&quot; data-origin-height=&quot;1166&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 5의 공격이 통하지 않아 토큰을 빼고 시도해보았다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1470&quot; data-origin-height=&quot;1163&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AuH1k/dJMcabP7rpG/Kgpi18YYblcDZ5qIpcksyK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AuH1k/dJMcabP7rpG/Kgpi18YYblcDZ5qIpcksyK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AuH1k/dJMcabP7rpG/Kgpi18YYblcDZ5qIpcksyK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAuH1k%2FdJMcabP7rpG%2FKgpi18YYblcDZ5qIpcksyK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1470&quot; height=&quot;1163&quot; data-origin-width=&quot;1470&quot; data-origin-height=&quot;1163&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. 토큰의 유효성을 보는 공격이라 당연히 통하지 않았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5의 코드를 다시 시도해보았다.&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;485&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ea9752/dJMcabvOMbI/M2cAkpgQcDpLMHESK4IvF1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ea9752/dJMcabvOMbI/M2cAkpgQcDpLMHESK4IvF1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ea9752/dJMcabvOMbI/M2cAkpgQcDpLMHESK4IvF1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fea9752%2FdJMcabvOMbI%2FM2cAkpgQcDpLMHESK4IvF1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/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;485&quot; data-origin-width=&quot;1108&quot; data-origin-height=&quot;485&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두 번째 시도에서 성공하였다.&lt;/p&gt;</description>
      <category>swlug</category>
      <author>memo1240</author>
      <guid isPermaLink="true">https://memo1240.tistory.com/45</guid>
      <comments>https://memo1240.tistory.com/45#entry45comment</comments>
      <pubDate>Tue, 18 Nov 2025 13:13:28 +0900</pubDate>
    </item>
    <item>
      <title>[swlug] 7주차_클라우드 스터디</title>
      <link>https://memo1240.tistory.com/44</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;11. 요약정리 및 리소스 제거&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. VPC(사무실) : 사용자가 완전 격리된 가상 네트워크 환경을 AWS 클라우드 상에 직접 설계, 운영할 수 있도록 해 주는 서비스&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 서브넷(부서) : VPC의 IP 주소 범위를 논리적으로 분할한 네트워크 단위&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 인터넷 게이트웨이(사무실 출입구) : VPC에서 생성된 네트워크와 인터넷 사이의 통신을 가능하게 하는 것&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. NAT 게이트웨이(부서 주소) : 프라이빗 서브넷의 인스턴스가 아웃바운드 인터넷 접속을 할 때, 퍼블릭 IP 하나로 변환해 외부와 통신하는 게이트웨이&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 라우팅 테이블(통행로) : 네트워크 내에서 목적지 IP 블록별로 트래픽을 어디로 보낼지 정의한 길 안내 지도&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 보안 그룹(출입 제한) : 인스턴스 단위로 적용되는 가상 방화벽&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. 점프 서버(직원용 인포데스크) : 내부 네트워크의 중요한 시스템에 직접 접근을 통제하기 위해 마련된 중간 접속 지점&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8. 웹 서버(서비스 직원) : 클라이언트로부터 HTTP 요청을 받아 정적,동적 콘텐츠를 처리, 전송하는 소프트웨어 또는 하드웨어&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;9. 로드 밸런서(고객용 인포) : 다수의 서버로 들어오는 네트워크 트래픽을 분산시켜, 서비스의 가용성,확장성,성능을 최적화하는 장치 또는 소프트웨어&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;10. RDS(사내 창고) : 관리형 관계형 데이터베이스 서비스로, 사용자가 직접 서버를 구축, 운영하지 않아도 자동으로 설치,패치,백업,모니터링 등을 수행&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;11. S3 버킷(외부 공용 창고) : 객체 스토리지 서비스로, 대용량 데이터 저장, 관리에 최적화&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;리소스 제거&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;생성 순서와 반대로 삭제&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;EC2에서 S3 관련 역할 분리 -&amp;gt; 역할 제거 -&amp;gt; S3 버킷 객체 제거 -&amp;gt; S3 버킷 제거 -&amp;gt; 데이터베이스&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1141&quot; data-origin-height=&quot;603&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpwUat/dJMcabbsWtd/QMfSZCP0hfqzXNKLkrPVv1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpwUat/dJMcabbsWtd/QMfSZCP0hfqzXNKLkrPVv1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpwUat/dJMcabbsWtd/QMfSZCP0hfqzXNKLkrPVv1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpwUat%2FdJMcabbsWtd%2FQMfSZCP0hfqzXNKLkrPVv1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1141&quot; height=&quot;603&quot; data-origin-width=&quot;1141&quot; data-origin-height=&quot;603&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;S3에서 버킷 객체 제거&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1849&quot; data-origin-height=&quot;301&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kKSgd/dJMcac2vYNf/EXEQTDtQsX6roAkY3eItkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kKSgd/dJMcac2vYNf/EXEQTDtQsX6roAkY3eItkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kKSgd/dJMcac2vYNf/EXEQTDtQsX6roAkY3eItkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkKSgd%2FdJMcac2vYNf%2FEXEQTDtQsX6roAkY3eItkk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1849&quot; height=&quot;301&quot; data-origin-width=&quot;1849&quot; data-origin-height=&quot;301&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;S3 버킷 삭제&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;894&quot; data-origin-height=&quot;863&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bHtb8T/dJMcaiPcjF7/ydgMBqG56RnNdAekzHBrdK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bHtb8T/dJMcaiPcjF7/ydgMBqG56RnNdAekzHBrdK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bHtb8T/dJMcaiPcjF7/ydgMBqG56RnNdAekzHBrdK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbHtb8T%2FdJMcaiPcjF7%2FydgMBqG56RnNdAekzHBrdK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;894&quot; height=&quot;863&quot; data-origin-width=&quot;894&quot; data-origin-height=&quot;863&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-origin-width=&quot;899&quot; data-origin-height=&quot;286&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/P9Wuf/dJMcafEV8dd/sNKYiRkvBLWyLu7wqjzzY1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/P9Wuf/dJMcafEV8dd/sNKYiRkvBLWyLu7wqjzzY1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/P9Wuf/dJMcafEV8dd/sNKYiRkvBLWyLu7wqjzzY1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FP9Wuf%2FdJMcafEV8dd%2FsNKYiRkvBLWyLu7wqjzzY1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;899&quot; height=&quot;286&quot; data-origin-width=&quot;899&quot; data-origin-height=&quot;286&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-origin-width=&quot;899&quot; data-origin-height=&quot;284&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/u8wX8/dJMcadmOJb8/nAsHfrMpAByz8CrzsELPD0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/u8wX8/dJMcadmOJb8/nAsHfrMpAByz8CrzsELPD0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/u8wX8/dJMcadmOJb8/nAsHfrMpAByz8CrzsELPD0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fu8wX8%2FdJMcadmOJb8%2FnAsHfrMpAByz8CrzsELPD0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;899&quot; height=&quot;284&quot; data-origin-width=&quot;899&quot; data-origin-height=&quot;284&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;옵션 그룹 중 sample만 제거&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;888&quot; data-origin-height=&quot;245&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/w0NVY/dJMcadtAl6c/zP5mLsdiwUGdgOYyPfoBl0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/w0NVY/dJMcadtAl6c/zP5mLsdiwUGdgOYyPfoBl0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/w0NVY/dJMcadtAl6c/zP5mLsdiwUGdgOYyPfoBl0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fw0NVY%2FdJMcadtAl6c%2FzP5mLsdiwUGdgOYyPfoBl0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;888&quot; height=&quot;245&quot; data-origin-width=&quot;888&quot; data-origin-height=&quot;245&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;gt;RDS 리소스 모두 제거함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;EC2의 대상 그룹, 로드밸런서 제거&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1223&quot; data-origin-height=&quot;647&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/op5yC/dJMcaihmjzc/2ZANkJSrzzJJN2AVjwjgB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/op5yC/dJMcaihmjzc/2ZANkJSrzzJJN2AVjwjgB1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/op5yC/dJMcaihmjzc/2ZANkJSrzzJJN2AVjwjgB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fop5yC%2FdJMcaihmjzc%2F2ZANkJSrzzJJN2AVjwjgB1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1223&quot; height=&quot;647&quot; data-origin-width=&quot;1223&quot; data-origin-height=&quot;647&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인스턴스 삭제 -&amp;gt; EC2 리소스 제거&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1241&quot; data-origin-height=&quot;265&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bEnD23/dJMcaawRtJQ/Ynz0FObKkL2XSHpPqGwikk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bEnD23/dJMcaawRtJQ/Ynz0FObKkL2XSHpPqGwikk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bEnD23/dJMcaawRtJQ/Ynz0FObKkL2XSHpPqGwikk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEnD23%2FdJMcaawRtJQ%2FYnz0FObKkL2XSHpPqGwikk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1241&quot; height=&quot;265&quot; data-origin-width=&quot;1241&quot; data-origin-height=&quot;265&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;VPC 보안 그룹 삭제&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;920&quot; data-origin-height=&quot;449&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wnsfd/dJMcajggF75/ut9NKscza06BkxSTknItk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wnsfd/dJMcajggF75/ut9NKscza06BkxSTknItk1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wnsfd/dJMcajggF75/ut9NKscza06BkxSTknItk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fwnsfd%2FdJMcajggF75%2Fut9NKscza06BkxSTknItk1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;920&quot; height=&quot;449&quot; data-origin-width=&quot;920&quot; data-origin-height=&quot;449&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;NAT 게이트웨이 삭제 -&amp;gt; 인터넷 게이트웨이 삭제&amp;nbsp; -&amp;gt; 탄력적 ip 주소 제거&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;gt; 최종 VPC 제거&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;932&quot; data-origin-height=&quot;275&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3vi2a/dJMcacg8SdI/BYofhKasWMkhZ4NO4AvtuK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3vi2a/dJMcacg8SdI/BYofhKasWMkhZ4NO4AvtuK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3vi2a/dJMcacg8SdI/BYofhKasWMkhZ4NO4AvtuK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3vi2a%2FdJMcacg8SdI%2FBYofhKasWMkhZ4NO4AvtuK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;932&quot; height=&quot;275&quot; data-origin-width=&quot;932&quot; data-origin-height=&quot;275&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;gt; 최종적으로 IAM 계정 삭제&lt;/p&gt;</description>
      <category>swlug</category>
      <author>memo1240</author>
      <guid isPermaLink="true">https://memo1240.tistory.com/44</guid>
      <comments>https://memo1240.tistory.com/44#entry44comment</comments>
      <pubDate>Tue, 11 Nov 2025 22:27:57 +0900</pubDate>
    </item>
    <item>
      <title>[swlug] 6주차 웹해킹 과제</title>
      <link>https://memo1240.tistory.com/43</link>
      <description>&lt;h4 data-ke-size=&quot;size20&quot;&gt;1. 실습&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;881&quot; data-origin-height=&quot;800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/soSIw/dJMcabicNaU/Mhu9vTAIBkLKSaSzGJu8hk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/soSIw/dJMcabicNaU/Mhu9vTAIBkLKSaSzGJu8hk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/soSIw/dJMcabicNaU/Mhu9vTAIBkLKSaSzGJu8hk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsoSIw%2FdJMcabicNaU%2FMhu9vTAIBkLKSaSzGJu8hk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;881&quot; height=&quot;800&quot; data-origin-width=&quot;881&quot; data-origin-height=&quot;800&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1123&quot; data-origin-height=&quot;500&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bIMFzc/dJMcaacwNrD/Wpt6UKV8E5LfNAhMXK7sJ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bIMFzc/dJMcaacwNrD/Wpt6UKV8E5LfNAhMXK7sJ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bIMFzc/dJMcaacwNrD/Wpt6UKV8E5LfNAhMXK7sJ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbIMFzc%2FdJMcaacwNrD%2FWpt6UKV8E5LfNAhMXK7sJ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1123&quot; height=&quot;500&quot; data-origin-width=&quot;1123&quot; data-origin-height=&quot;500&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 로그인 후 My account로 접속하여 test, 1234를 입력한 후 패킷 확인&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1085&quot; data-origin-height=&quot;657&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c4Rbns/dJMcacg61OO/2T5tGxxwOy7k4bb5tLXIv0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c4Rbns/dJMcacg61OO/2T5tGxxwOy7k4bb5tLXIv0/img.png&quot; data-alt=&quot;test를 드래그 한 후 add 클릭&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c4Rbns/dJMcacg61OO/2T5tGxxwOy7k4bb5tLXIv0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc4Rbns%2FdJMcacg61OO%2F2T5tGxxwOy7k4bb5tLXIv0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1085&quot; height=&quot;657&quot; data-origin-width=&quot;1085&quot; data-origin-height=&quot;657&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;test를 드래그 한 후 add 클릭&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 로그인 요청 패킷 분석&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1423&quot; data-origin-height=&quot;235&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cAq30h/dJMcacg61Pb/zAykMkrHpWKhCI0bcdk3zk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cAq30h/dJMcacg61Pb/zAykMkrHpWKhCI0bcdk3zk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cAq30h/dJMcacg61Pb/zAykMkrHpWKhCI0bcdk3zk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcAq30h%2FdJMcacg61Pb%2FzAykMkrHpWKhCI0bcdk3zk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1423&quot; height=&quot;235&quot; data-origin-width=&quot;1423&quot; data-origin-height=&quot;235&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 실습 사이트의 candidate usernames의 데이터를 복사&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2469&quot; data-origin-height=&quot;457&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bkc10h/dJMcacBpOMd/KR57jhQvo2qizgr8UE1lpk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bkc10h/dJMcacBpOMd/KR57jhQvo2qizgr8UE1lpk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bkc10h/dJMcacBpOMd/KR57jhQvo2qizgr8UE1lpk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbkc10h%2FdJMcacBpOMd%2FKR57jhQvo2qizgr8UE1lpk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2469&quot; height=&quot;457&quot; data-origin-width=&quot;2469&quot; data-origin-height=&quot;457&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. candidate usernames과 candidate passwords 중 Length와 Status가 다른 한 개의 데이터를 선택하여 로그인 진행&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1122&quot; data-origin-height=&quot;479&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nEBcV/dJMcagw22vb/9gjGpxDHakO4Y0cQcKlFeK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nEBcV/dJMcagw22vb/9gjGpxDHakO4Y0cQcKlFeK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nEBcV/dJMcagw22vb/9gjGpxDHakO4Y0cQcKlFeK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnEBcV%2FdJMcagw22vb%2F9gjGpxDHakO4Y0cQcKlFeK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/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;479&quot; data-origin-width=&quot;1122&quot; data-origin-height=&quot;479&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 찾은 비밀번호와 아이디를 통해 로그인&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;846&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pyeNZ/dJMcaj8nzpA/C6ZACAf0xUgb8g7gHSgde0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pyeNZ/dJMcaj8nzpA/C6ZACAf0xUgb8g7gHSgde0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pyeNZ/dJMcaj8nzpA/C6ZACAf0xUgb8g7gHSgde0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpyeNZ%2FdJMcaj8nzpA%2FC6ZACAf0xUgb8g7gHSgde0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/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;846&quot; data-origin-width=&quot;1557&quot; data-origin-height=&quot;846&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;h3 data-ke-size=&quot;size23&quot;&gt;2. 과제&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;899&quot; data-origin-height=&quot;825&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cK4Yb4/dJMcahQhXmc/FJC2M5x57IC1NKmLbqnLXk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cK4Yb4/dJMcahQhXmc/FJC2M5x57IC1NKmLbqnLXk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cK4Yb4/dJMcahQhXmc/FJC2M5x57IC1NKmLbqnLXk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcK4Yb4%2FdJMcahQhXmc%2FFJC2M5x57IC1NKmLbqnLXk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;899&quot; height=&quot;825&quot; data-origin-width=&quot;899&quot; data-origin-height=&quot;825&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;사용자 계정 wiener / peter&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;피해자 계정 carlos&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1228&quot; data-origin-height=&quot;1079&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d4k9Mr/dJMcagcL8Od/qfytILWSg1Fnf6aU2drgYk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d4k9Mr/dJMcagcL8Od/qfytILWSg1Fnf6aU2drgYk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d4k9Mr/dJMcagcL8Od/qfytILWSg1Fnf6aU2drgYk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd4k9Mr%2FdJMcagcL8Od%2FqfytILWSg1Fnf6aU2drgYk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1228&quot; height=&quot;1079&quot; data-origin-width=&quot;1228&quot; data-origin-height=&quot;1079&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. My account로 접속&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1126&quot; data-origin-height=&quot;536&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/UFr3T/dJMcafkDpZ1/sehF8xbX2FS95mrW3hSolK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/UFr3T/dJMcafkDpZ1/sehF8xbX2FS95mrW3hSolK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/UFr3T/dJMcafkDpZ1/sehF8xbX2FS95mrW3hSolK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUFr3T%2FdJMcafkDpZ1%2FsehF8xbX2FS95mrW3hSolK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1126&quot; height=&quot;536&quot; data-origin-width=&quot;1126&quot; data-origin-height=&quot;536&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;983&quot; data-origin-height=&quot;300&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cWpB52/dJMcah3O9FQ/1sEm5zr7NiXjYtKI38NkNk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cWpB52/dJMcah3O9FQ/1sEm5zr7NiXjYtKI38NkNk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cWpB52/dJMcah3O9FQ/1sEm5zr7NiXjYtKI38NkNk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcWpB52%2FdJMcah3O9FQ%2F1sEm5zr7NiXjYtKI38NkNk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;983&quot; height=&quot;300&quot; data-origin-width=&quot;983&quot; data-origin-height=&quot;300&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. intercept on 후 사용자로 로그인&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1097&quot; data-origin-height=&quot;534&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bizULn/dJMcac2vYqB/c5NdTMFE5JytvL5HYLFtmk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bizULn/dJMcac2vYqB/c5NdTMFE5JytvL5HYLFtmk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bizULn/dJMcac2vYqB/c5NdTMFE5JytvL5HYLFtmk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbizULn%2FdJMcac2vYqB%2Fc5NdTMFE5JytvL5HYLFtmk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1097&quot; height=&quot;534&quot; data-origin-width=&quot;1097&quot; data-origin-height=&quot;534&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1547&quot; data-origin-height=&quot;754&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kDjP2/dJMcagX9iaF/pocagGfrKjobguo33y2yN1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kDjP2/dJMcagX9iaF/pocagGfrKjobguo33y2yN1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kDjP2/dJMcagX9iaF/pocagGfrKjobguo33y2yN1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkDjP2%2FdJMcagX9iaF%2FpocagGfrKjobguo33y2yN1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1547&quot; height=&quot;754&quot; data-origin-width=&quot;1547&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;3. 로그인 후 Email client로 이동&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1435&quot; data-origin-height=&quot;351&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vLCq4/dJMcagKBYaG/ySU4ug483rxX0xiIpjSRgK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vLCq4/dJMcagKBYaG/ySU4ug483rxX0xiIpjSRgK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vLCq4/dJMcagKBYaG/ySU4ug483rxX0xiIpjSRgK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvLCq4%2FdJMcagKBYaG%2FySU4ug483rxX0xiIpjSRgK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1435&quot; height=&quot;351&quot; data-origin-width=&quot;1435&quot; data-origin-height=&quot;351&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재는 inbox가 비었음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 확인 후 로그아웃, 로그인 화면의 Forgot password를 통해 비밀번호 재설정&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/bPpzyN/dJMcah3O9UB/z7eq3455udcKHgMHGkEStK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bPpzyN/dJMcah3O9UB/z7eq3455udcKHgMHGkEStK/img.png&quot; data-origin-width=&quot;1119&quot; data-origin-height=&quot;298&quot; data-is-animation=&quot;false&quot; style=&quot;width: 34.4687%; margin-right: 10px;&quot; data-widthpercent=&quot;34.87&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bPpzyN/dJMcah3O9UB/z7eq3455udcKHgMHGkEStK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbPpzyN%2FdJMcah3O9UB%2Fz7eq3455udcKHgMHGkEStK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1119&quot; height=&quot;298&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cpn6Ot/dJMb99Y1s3n/0PwdSGQfXFW1YoAGA78hZk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cpn6Ot/dJMb99Y1s3n/0PwdSGQfXFW1YoAGA78hZk/img.png&quot; data-origin-width=&quot;568&quot; data-origin-height=&quot;81&quot; data-is-animation=&quot;false&quot; style=&quot;width: 64.3686%;&quot; data-widthpercent=&quot;65.13&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cpn6Ot/dJMb99Y1s3n/0PwdSGQfXFW1YoAGA78hZk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcpn6Ot%2FdJMb99Y1s3n%2F0PwdSGQfXFW1YoAGA78hZk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;568&quot; height=&quot;81&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;사용자 계정인 wiener입력&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1536&quot; data-origin-height=&quot;696&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yY3UO/dJMcain7RBe/CgTwsakYKghdEhJi3KUCdk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yY3UO/dJMcain7RBe/CgTwsakYKghdEhJi3KUCdk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yY3UO/dJMcain7RBe/CgTwsakYKghdEhJi3KUCdk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyY3UO%2FdJMcain7RBe%2FCgTwsakYKghdEhJi3KUCdk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1536&quot; height=&quot;696&quot; data-origin-width=&quot;1536&quot; data-origin-height=&quot;696&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Email client 사이트에 비밀번호 재설정을 위한 링크가 생성됨을 확인할 수 있음&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1102&quot; data-origin-height=&quot;408&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qlRUB/dJMcab3BFOa/34eB1zBbdsB3SsnaEV0hJ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qlRUB/dJMcab3BFOa/34eB1zBbdsB3SsnaEV0hJ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qlRUB/dJMcab3BFOa/34eB1zBbdsB3SsnaEV0hJ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqlRUB%2FdJMcab3BFOa%2F34eB1zBbdsB3SsnaEV0hJ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1102&quot; height=&quot;408&quot; data-origin-width=&quot;1102&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;4. 비밀번호를 1234로 재설정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 바뀐 비밀번호로 재로그인&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1122&quot; data-origin-height=&quot;477&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dbS9bL/dJMcacIdjML/jWNrg8hQ6KGWtHlyi9zAQk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dbS9bL/dJMcacIdjML/jWNrg8hQ6KGWtHlyi9zAQk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dbS9bL/dJMcacIdjML/jWNrg8hQ6KGWtHlyi9zAQk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdbS9bL%2FdJMcacIdjML%2FjWNrg8hQ6KGWtHlyi9zAQk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/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;477&quot; data-origin-width=&quot;1122&quot; data-origin-height=&quot;477&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1301&quot; data-origin-height=&quot;711&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yVdVa/dJMcajtNSwm/ZKVAF2ssYbtag7kd3f5Jb0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yVdVa/dJMcajtNSwm/ZKVAF2ssYbtag7kd3f5Jb0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yVdVa/dJMcajtNSwm/ZKVAF2ssYbtag7kd3f5Jb0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyVdVa%2FdJMcajtNSwm%2FZKVAF2ssYbtag7kd3f5Jb0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1301&quot; height=&quot;711&quot; data-origin-width=&quot;1301&quot; data-origin-height=&quot;711&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 패킷 중 비밀번호 재설정 패킷을 찾아 취약점 분석&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;648&quot; data-origin-height=&quot;727&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cjzMvX/dJMcah3O9Yj/6Z2XpKWZNpyWHj8c7TOeUk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cjzMvX/dJMcah3O9Yj/6Z2XpKWZNpyWHj8c7TOeUk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cjzMvX/dJMcah3O9Yj/6Z2XpKWZNpyWHj8c7TOeUk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcjzMvX%2FdJMcah3O9Yj%2F6Z2XpKWZNpyWHj8c7TOeUk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;648&quot; height=&quot;727&quot; data-origin-width=&quot;648&quot; data-origin-height=&quot;727&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-origin-width=&quot;622&quot; data-origin-height=&quot;415&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dgX6sY/dJMcagKBYuj/QsWcouliK2aWRcpFzb9yF0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dgX6sY/dJMcagKBYuj/QsWcouliK2aWRcpFzb9yF0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dgX6sY/dJMcagKBYuj/QsWcouliK2aWRcpFzb9yF0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdgX6sY%2FdJMcagKBYuj%2FQsWcouliK2aWRcpFzb9yF0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;622&quot; height=&quot;415&quot; data-origin-width=&quot;622&quot; data-origin-height=&quot;415&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. username을 피해자 계정으로 바꾼뒤 실행&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1119&quot; data-origin-height=&quot;531&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Agusb/dJMcahbGtXG/HMIPHKQZDiRu0zYlNxSNHk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Agusb/dJMcahbGtXG/HMIPHKQZDiRu0zYlNxSNHk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Agusb/dJMcahbGtXG/HMIPHKQZDiRu0zYlNxSNHk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAgusb%2FdJMcahbGtXG%2FHMIPHKQZDiRu0zYlNxSNHk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1119&quot; height=&quot;531&quot; data-origin-width=&quot;1119&quot; data-origin-height=&quot;531&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1564&quot; data-origin-height=&quot;899&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bd64Yj/dJMcafdRM3B/WzYCGyuuinOe67I6LRMevK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bd64Yj/dJMcafdRM3B/WzYCGyuuinOe67I6LRMevK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bd64Yj/dJMcafdRM3B/WzYCGyuuinOe67I6LRMevK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbd64Yj%2FdJMcafdRM3B%2FWzYCGyuuinOe67I6LRMevK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1564&quot; height=&quot;899&quot; data-origin-width=&quot;1564&quot; data-origin-height=&quot;899&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;재지정한 비밀번호로 로그인됨을 알 수 있음&lt;/p&gt;</description>
      <category>swlug</category>
      <author>memo1240</author>
      <guid isPermaLink="true">https://memo1240.tistory.com/43</guid>
      <comments>https://memo1240.tistory.com/43#entry43comment</comments>
      <pubDate>Tue, 11 Nov 2025 21:46:38 +0900</pubDate>
    </item>
    <item>
      <title>[5주차] 논문 분석</title>
      <link>https://memo1240.tistory.com/42</link>
      <description>&lt;h3 style=&quot;text-align: center;&quot; data-ke-size=&quot;size23&quot;&gt;RAPPOR: Randomized Aggregatable Privacy-Preserving Ordinal Response&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/NrVRp/dJMcaiPayTa/725n8PeAFdQqxqOQMFTrvk/42852.pdf?attach=1&amp;amp;knm=tfile.pdf&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;42852.pdf&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.58MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&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;Randomized Aggregatable Privacy-Preserving Ordinal Response &amp;mdash; RAPPOR 논문 분석&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클라이언트에서 무작위화(randomized response)를 적용해 로컬 차등프라이버시(Local DP)를 보장한 채로 문자열&amp;middot;범주형 통계를 수집하는 프레임워크입니다. Bloom 필터 + 2단계 무작위화와 LASSO 기반 해독(decoding)으로 대규모 사용자 집단에서도 쓸 만한 정확도를 확보합니다.&lt;/p&gt;
&lt;p data-ke-size=&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 data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 논문 선정 이유&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실무에서는 민감한 원본을 안 모으고도 집계 통계는 얻고 싶다는 요구가 계속됩니다. RAPPOR는 이 딜레마를 로컬 무작위화로 돌파합니다. 서버나 제3자를 믿지 않고, 각 사용자가 자기 단말에서 데이터를 확률적으로 뒤섞어 내보냅니다. 구글 Chrome 실사용 사례까지 언급되어 있어 연구 &amp;rarr; 구현까지의 결과가 확연히 드러난다고 생각하여 선정하게 되었습니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 문제의식과 목표&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;운영자는 기능 사용률, 오류율, 악성 설정 하이재킹 등 집단 통계를 알아야 서비스를 개선할 수 있습니다. 그러나 사용자별 원본을 모으면 식별&amp;middot;추적 위험이 커집니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;RAPPOR의 목표는 다음과 같습니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;개별 사용자 수준에서 &amp;epsilon;-차등프라이버시 보장을 제공할 것&lt;/li&gt;
&lt;li&gt;&amp;nbsp;문자열&amp;middot;범주형 값의 빈도/히스토그램을 장기간 수집할 것&lt;/li&gt;
&lt;li&gt;&amp;nbsp;무작위 집계가 아니라 쓸 만한 유틸리티를 낼 것.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 핵심 아이디어&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3.1 Bloom 필터 + 2단계 무작위화&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Bloom 필터화: 보고하려는 문자열을 여러 해시로 비트 배열에 표기합니다(충돌 허용). 이렇게 만들어진 비트 벡터는 원문을 직접 드러내지 않습니다.&lt;/li&gt;
&lt;li&gt;영구(Permanent) 무작위화: 사용자가 같은 값을 반복 보고해도 매번 똑같이 보이지 않도록, 메모이제이션된 1차 랜덤화 결과를 만들어 저장합니다(연속 수집 시 링크성 저감).&lt;/li&gt;
&lt;li&gt;순간(Instantaneous) 무작위화: 보고 시점마다 위 결과에 한 번 더 노이즈를 섞어 전송합니다(보고 횟수가 많아져도 &amp;epsilon; 보장 악화 최소화). 두 단계 조합이 장기 수집(Longitudinal)의 프라이버시 핵심입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3.2 해독(Decoding)&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서버는 수집된 비트들을 가설검정 + 최소제곱 + LASSO 회귀를 섞은 절차로 풀어 상위 문자열(heavy hitters)의 빈도를 추정합니다. 이에 클라이언트는 강한 익명성을 지키고, 운영자는 집단의 분포를 얻습니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 이게 &amp;lsquo;차등프라이버시&amp;rsquo;로 왜 안전한가&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;RAPPOR는 로컬 모델에서 각 보고가 &amp;epsilon;-차등프라이버시를 만족함을 이론적으로 제시합니다. 전통적인 단일 무작위화만으로는 반복 조사 시 프라이버시가 약화되는데, RAPPOR는 영구+순간의 2단계로 반복 수집에서도 보장을 유지하는 설계를 채택합니다. 신뢰할 제3자 불요 또한 중요한 차별점입니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 결과&amp;middot;사례&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시뮬레이션과 실데이터 두 건(Windows 프로세스, Chrome 설정 수집)으로 구현했습니다. 상위 항목을 안정적으로 복원하면서도 개별적인 부분은 보호됨을 알 수 있었습니다. Chrome에서는 사용자가 옵트인한 텔레메트리에서 악성 설정 하이재킹 탐지에 기여한 바를 알 수 있었습니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 한계와 장점&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;장점:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(1) 클라이언트 단에서 프라이버시를 보장하므로 데이터 유출&amp;middot;권한 남용 리스크를 구조적으로 낮춥니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(2) 문자열&amp;middot;범주 통계에 강하며, 장기 수집에 맞춘 설계입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(3) 구현&amp;middot;운영이 비교적 단순하고, 대규모 배포 경험이 있습니다. &lt;br /&gt;한계:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(1) 꼬리 항목(희소 문자열) 탐지는 어렵습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(2) 파라미터(해시 수, 비트 길이, 보고 확률)를 잘못 잡으면 복원 성능이 크게 하락합니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8. 느낀 점&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;읽으면서 통계는 크게 보되, 개인은 작게 본다는 원칙이 설계에 얼마나 구체적으로 녹을 수 있는지 체감했다. 무엇보다 장기 수집에서의 링크성 문제를 2단계 무작위화로 풀어낸 부분이 인상적이었다. 결과적으로 운영자는 개선에 필요한 숲의 윤곽을 얻고, 사용자는 나무로 특정되지 않는다는 약속을 받았다. 현업에서는 RAPPOR 같은 로컬 DP 수집을 1차선으로 깔고, 필요에 따라 서버 측 집계에 추가 노이즈나 버킷팅을 더하는 이중 방어선이 현실적 대안이 될 것 같다고 생각했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>swlug</category>
      <author>memo1240</author>
      <guid isPermaLink="true">https://memo1240.tistory.com/42</guid>
      <comments>https://memo1240.tistory.com/42#entry42comment</comments>
      <pubDate>Thu, 6 Nov 2025 00:43:49 +0900</pubDate>
    </item>
    <item>
      <title>[slwug] 6주차 클라우드 스터디</title>
      <link>https://memo1240.tistory.com/41</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 관계형 데이터베이스 서버(RDS)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;RDS란?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AWS가 제공하는 관리형 관계형 데이터베이스 서비스로, 사용자가 직접 서버를 구축, 운영하지 않아도 자동으로 설치,패치,백업,모니터링 등을 수업해줌.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;RDS 시스템&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;데이터베이스 엔진 : 실제 데이터베이스 본체를 가리킴&lt;/li&gt;
&lt;li&gt;파라미터 그룹 : 주로 데이터베이스 엔진 고유의 설정을 수행함&lt;/li&gt;
&lt;li&gt;옵션 그룹 : 주로 RDS 고유의 설정을 수행함&lt;/li&gt;
&lt;li&gt;서브넷 그룹 : 여러 개의 가용 영역에 분산 배치할 때 이용되는 설정&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;gt; 옵션 그룹 생성 -&amp;gt; 서브넷 그룹 생성 -&amp;gt; 데이터베이스 생성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 파라미터 그룹 생성&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;1132&quot; data-origin-height=&quot;866&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b5vEDm/dJMb99SdOPY/VEUiT9Wsn0em3jkq6bUubK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b5vEDm/dJMb99SdOPY/VEUiT9Wsn0em3jkq6bUubK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b5vEDm/dJMb99SdOPY/VEUiT9Wsn0em3jkq6bUubK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb5vEDm%2FdJMb99SdOPY%2FVEUiT9Wsn0em3jkq6bUubK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/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;866&quot; data-origin-width=&quot;1132&quot; data-origin-height=&quot;866&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&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;RDS 엔진에 추가 기능을 플러그인 형태로 묶어 관리하는 설정 모음&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/bL8dEw/dJMcajUP6uj/uWHtCMihynT0lDudZMNYy1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bL8dEw/dJMcajUP6uj/uWHtCMihynT0lDudZMNYy1/img.png&quot; data-origin-width=&quot;1018&quot; data-origin-height=&quot;545&quot; data-is-animation=&quot;false&quot; style=&quot;width: 43.8197%; margin-right: 10px;&quot; data-widthpercent=&quot;44.34&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bL8dEw/dJMcajUP6uj/uWHtCMihynT0lDudZMNYy1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbL8dEw%2FdJMcajUP6uj%2FuWHtCMihynT0lDudZMNYy1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1018&quot; height=&quot;545&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/C8N2z/dJMcag4SJS6/ziMBbHJz4IPjPUsRSxoWm1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/C8N2z/dJMcag4SJS6/ziMBbHJz4IPjPUsRSxoWm1/img.png&quot; data-origin-width=&quot;1053&quot; data-origin-height=&quot;449&quot; data-is-animation=&quot;false&quot; style=&quot;width: 55.0175%;&quot; data-widthpercent=&quot;55.66&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/C8N2z/dJMcag4SJS6/ziMBbHJz4IPjPUsRSxoWm1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FC8N2z%2FdJMcag4SJS6%2FziMBbHJz4IPjPUsRSxoWm1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/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;449&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 서브넷 그룹 생성&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1657&quot; data-origin-height=&quot;1152&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCV0nb/dJMcabvJD0V/sVaL45DdAy6xITUf4eock0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCV0nb/dJMcabvJD0V/sVaL45DdAy6xITUf4eock0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCV0nb/dJMcabvJD0V/sVaL45DdAy6xITUf4eock0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCV0nb%2FdJMcabvJD0V%2FsVaL45DdAy6xITUf4eock0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1657&quot; height=&quot;1152&quot; data-origin-width=&quot;1657&quot; data-origin-height=&quot;1152&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 데이터베이스 생성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;표준생성 -&amp;gt; mysql로 생성&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1042&quot; data-origin-height=&quot;561&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwaUiq/dJMcacOWKSA/zdTBY9Ojk3e2i7rYOQh661/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwaUiq/dJMcacOWKSA/zdTBY9Ojk3e2i7rYOQh661/img.png&quot; data-alt=&quot;강의 자료와 같은 db가 없어서 기본값으로 진행&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwaUiq/dJMcacOWKSA/zdTBY9Ojk3e2i7rYOQh661/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbwaUiq%2FdJMcacOWKSA%2FzdTBY9Ojk3e2i7rYOQh661%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/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;561&quot; data-origin-width=&quot;1042&quot; data-origin-height=&quot;561&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;강의 자료와 같은 db가 없어서 기본값으로 진행&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1054&quot; data-origin-height=&quot;185&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nhbjZ/dJMcaf5YrTT/BgCaO4NwNPt21lWXVw3Kw1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nhbjZ/dJMcaf5YrTT/BgCaO4NwNPt21lWXVw3Kw1/img.png&quot; data-alt=&quot;이전에 만들었던 vpc가 뜨지 않아 vpc 또한 디폴트 값으로 진행&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nhbjZ/dJMcaf5YrTT/BgCaO4NwNPt21lWXVw3Kw1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnhbjZ%2FdJMcaf5YrTT%2FBgCaO4NwNPt21lWXVw3Kw1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1054&quot; height=&quot;185&quot; data-origin-width=&quot;1054&quot; data-origin-height=&quot;185&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;이전에 만들었던 vpc가 뜨지 않아 vpc 또한 디폴트 값으로 진행&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 두개의 설정을 제외하고 강의 자료와 같은 구성으로 DB 생성함&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1109&quot; data-origin-height=&quot;321&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qeDvO/dJMcabCvdvx/GuYLIwdDKbKMqMOcZBg1y1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qeDvO/dJMcabCvdvx/GuYLIwdDKbKMqMOcZBg1y1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qeDvO/dJMcabCvdvx/GuYLIwdDKbKMqMOcZBg1y1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqeDvO%2FdJMcabCvdvx%2FGuYLIwdDKbKMqMOcZBg1y1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1109&quot; height=&quot;321&quot; data-origin-width=&quot;1109&quot; data-origin-height=&quot;321&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 작동 확인하기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;웹 접속 -&amp;gt; MySQL 명령어 설치 (sudo yum -y install mysql 명령어 실행&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;gt; MySQL 통신 (mysql ping -u admin -p -h)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 스토리지&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터를 오랫동안 저장하는 것을 목적으로 제공되는 데이터 저장 장소&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;S3란?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AWS의 객체 스토리지 서비스로, 대용량 데이터 저장, 관리에 최적화되어 있음&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;버킷 : 최상위 컨테이너, 리전 단위 생성&lt;/li&gt;
&lt;li&gt;객체 : 파일 + 메타데이터, 키로 식별&lt;/li&gt;
&lt;li&gt;버전 관리 : 동일 키의 이전 버전 보존&lt;/li&gt;
&lt;li&gt;라이프사이클 정책 : 객체를 자동으로 다른 스토리지 클래스로 전환하거나 삭제&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;1. S3 버킷 생성&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1505&quot; data-origin-height=&quot;540&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uVyaw/dJMcajN4u3C/9gNaKItwLK8vHucx1lCFQ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uVyaw/dJMcajN4u3C/9gNaKItwLK8vHucx1lCFQ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uVyaw/dJMcajN4u3C/9gNaKItwLK8vHucx1lCFQ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuVyaw%2FdJMcajN4u3C%2F9gNaKItwLK8vHucx1lCFQ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1505&quot; height=&quot;540&quot; data-origin-width=&quot;1505&quot; data-origin-height=&quot;540&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;2. 역할을 생성해 EC2에 적용하기&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1105&quot; data-origin-height=&quot;846&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8N6Gk/dJMcake8QTz/Cj9KGV8iAxNI4kfLVpSYek/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8N6Gk/dJMcake8QTz/Cj9KGV8iAxNI4kfLVpSYek/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8N6Gk/dJMcake8QTz/Cj9KGV8iAxNI4kfLVpSYek/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8N6Gk%2FdJMcake8QTz%2FCj9KGV8iAxNI4kfLVpSYek%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1105&quot; height=&quot;846&quot; data-origin-width=&quot;1105&quot; data-origin-height=&quot;846&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1540&quot; data-origin-height=&quot;458&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d0jFAw/dJMcafdPIIs/I4FTZjOY7BsTntXiXgetzK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d0jFAw/dJMcafdPIIs/I4FTZjOY7BsTntXiXgetzK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d0jFAw/dJMcafdPIIs/I4FTZjOY7BsTntXiXgetzK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd0jFAw%2FdJMcafdPIIs%2FI4FTZjOY7BsTntXiXgetzK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1540&quot; height=&quot;458&quot; data-origin-width=&quot;1540&quot; data-origin-height=&quot;458&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;wep01,02의 역할 변경&lt;/p&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;gt; 파일 생성 -&amp;gt; S3 업로드&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1016&quot; data-origin-height=&quot;448&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cOesRP/dJMb99LseVJ/8pyTA1IbXuXoMkd5OUzRdK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cOesRP/dJMb99LseVJ/8pyTA1IbXuXoMkd5OUzRdK/img.png&quot; data-alt=&quot;이 이후 파일 생성이 제대로 되지 않아 이후 실습이 막혔다. 파일 작성 후 저장하는 부분이 진행되지 않는다. 팀원들과 함께 논의가 필요한 부분인 것 같다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cOesRP/dJMb99LseVJ/8pyTA1IbXuXoMkd5OUzRdK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcOesRP%2FdJMb99LseVJ%2F8pyTA1IbXuXoMkd5OUzRdK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1016&quot; height=&quot;448&quot; data-origin-width=&quot;1016&quot; data-origin-height=&quot;448&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;이 이후 파일 생성이 제대로 되지 않아 이후 실습이 막혔다. 파일 작성 후 저장하는 부분이 진행되지 않는다. 팀원들과 함께 논의가 필요한 부분인 것 같다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>swlug</category>
      <author>memo1240</author>
      <guid isPermaLink="true">https://memo1240.tistory.com/41</guid>
      <comments>https://memo1240.tistory.com/41#entry41comment</comments>
      <pubDate>Tue, 4 Nov 2025 23:01:55 +0900</pubDate>
    </item>
    <item>
      <title>[swlug] 5주차 웹해킹 과제</title>
      <link>https://memo1240.tistory.com/40</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. XSS 실습&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;895&quot; data-origin-height=&quot;882&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FXkEx/dJMcahQfJhT/qdTesrVbQuNRuKZc8DIJrk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FXkEx/dJMcahQfJhT/qdTesrVbQuNRuKZc8DIJrk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FXkEx/dJMcahQfJhT/qdTesrVbQuNRuKZc8DIJrk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFXkEx%2FdJMcahQfJhT%2FqdTesrVbQuNRuKZc8DIJrk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;895&quot; height=&quot;882&quot; data-origin-width=&quot;895&quot; data-origin-height=&quot;882&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1446&quot; data-origin-height=&quot;535&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BzS49/dJMcaj1Bydi/3k8d0yhSzvIy7cvhjC9cK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BzS49/dJMcaj1Bydi/3k8d0yhSzvIy7cvhjC9cK0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BzS49/dJMcaj1Bydi/3k8d0yhSzvIy7cvhjC9cK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBzS49%2FdJMcaj1Bydi%2F3k8d0yhSzvIy7cvhjC9cK0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1446&quot; height=&quot;535&quot; data-origin-width=&quot;1446&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;1. burp suite 설정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Target에서 Scope settings을 클릭하고 Add를 눌러 문제 사이트의 패킷만 받을 수 있도록 주소를 추가함 (사진에는 https 밖에 없지만 https,http 모두 추가해야함)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1303&quot; data-origin-height=&quot;549&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cVzTk3/dJMcacuDRyD/TV3VowU0jyKcTFQd8MRFgK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cVzTk3/dJMcacuDRyD/TV3VowU0jyKcTFQd8MRFgK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cVzTk3/dJMcacuDRyD/TV3VowU0jyKcTFQd8MRFgK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcVzTk3%2FdJMcacuDRyD%2FTV3VowU0jyKcTFQd8MRFgK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1303&quot; height=&quot;549&quot; data-origin-width=&quot;1303&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;2. proxy-HTTP history를 클릭하고 filter에서 위와 같이 설정함&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1048&quot; data-origin-height=&quot;893&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Ark28/dJMcaawPd1c/dtRUDL1w2OPxdwSEZu5dE0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Ark28/dJMcaawPd1c/dtRUDL1w2OPxdwSEZu5dE0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Ark28/dJMcaawPd1c/dtRUDL1w2OPxdwSEZu5dE0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FArk28%2FdJMcaawPd1c%2FdtRUDL1w2OPxdwSEZu5dE0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1048&quot; height=&quot;893&quot; data-origin-width=&quot;1048&quot; data-origin-height=&quot;893&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&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;4. Post Comment를 누르기 전 intercept on으로 바꿔주고 댓글을 등록함&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/bxF97U/dJMcahbEbIo/MK8uqcF0hAEhxYwS2YtBSK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bxF97U/dJMcahbEbIo/MK8uqcF0hAEhxYwS2YtBSK/img.png&quot; style=&quot;width: 40.5997%; margin-right: 10px;&quot; data-origin-width=&quot;735&quot; data-origin-height=&quot;97&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;41.08&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bxF97U/dJMcahbEbIo/MK8uqcF0hAEhxYwS2YtBSK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbxF97U%2FdJMcahbEbIo%2FMK8uqcF0hAEhxYwS2YtBSK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;735&quot; height=&quot;97&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0onEo/dJMcaf5Yi9T/XQQMmsrHH8kqk8SMeFJCn0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0onEo/dJMcaf5Yi9T/XQQMmsrHH8kqk8SMeFJCn0/img.png&quot; style=&quot;width: 58.2375%;&quot; data-origin-width=&quot;1163&quot; data-origin-height=&quot;107&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;58.92&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0onEo/dJMcaf5Yi9T/XQQMmsrHH8kqk8SMeFJCn0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0onEo%2FdJMcaf5Yi9T%2FXQQMmsrHH8kqk8SMeFJCn0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1163&quot; height=&quot;107&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 댓글을 등록하면 comment 부분에 댓글 내용이 들어간 것을 볼 수 있음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 이 comment 부분에 스크립트 코드를 넣은 후 forward를 실행.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1403&quot; data-origin-height=&quot;582&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmcc6M/dJMcake8H9r/t1BDliGTfhMVq52KRMkv00/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmcc6M/dJMcake8H9r/t1BDliGTfhMVq52KRMkv00/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmcc6M/dJMcake8H9r/t1BDliGTfhMVq52KRMkv00/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbmcc6M%2FdJMcake8H9r%2Ft1BDliGTfhMVq52KRMkv00%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1403&quot; height=&quot;582&quot; data-origin-width=&quot;1403&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;실습 사이트에 댓글이 작성된 것을 볼 수 있고, 댓글을 작성한 포스트로 이동한다는 경고창이 뜨는 것을 볼 수 있음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 과제&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1065&quot; data-origin-height=&quot;844&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WU0em/dJMcafSq75i/0HzlONowCHFdQ2Ex2uxZz1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WU0em/dJMcafSq75i/0HzlONowCHFdQ2Ex2uxZz1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WU0em/dJMcafSq75i/0HzlONowCHFdQ2Ex2uxZz1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWU0em%2FdJMcafSq75i%2F0HzlONowCHFdQ2Ex2uxZz1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1065&quot; height=&quot;844&quot; data-origin-width=&quot;1065&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;랩에는&amp;nbsp;검색&amp;nbsp;기능에&amp;nbsp;반영된&amp;nbsp;간단한&amp;nbsp;교차&amp;nbsp;사이트&amp;nbsp;스크립팅&amp;nbsp;취약점이&amp;nbsp;포함되어&amp;nbsp;있습니다.&lt;br /&gt;랩의&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1145&quot; data-origin-height=&quot;1078&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c1kepC/dJMcaawPee5/qJUrJ3PDrgoCpyv7aiYeu1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c1kepC/dJMcaawPee5/qJUrJ3PDrgoCpyv7aiYeu1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c1kepC/dJMcaawPee5/qJUrJ3PDrgoCpyv7aiYeu1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc1kepC%2FdJMcaawPee5%2FqJUrJ3PDrgoCpyv7aiYeu1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1145&quot; height=&quot;1078&quot; data-origin-width=&quot;1145&quot; data-origin-height=&quot;1078&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1093&quot; data-origin-height=&quot;344&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1W4nT/dJMcajmZ0GW/4azvPIx74HVDBBP4WZa0k0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1W4nT/dJMcajmZ0GW/4azvPIx74HVDBBP4WZa0k0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1W4nT/dJMcajmZ0GW/4azvPIx74HVDBBP4WZa0k0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1W4nT%2FdJMcajmZ0GW%2F4azvPIx74HVDBBP4WZa0k0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1093&quot; height=&quot;344&quot; data-origin-width=&quot;1093&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;1) 일단 아무거나 검색을 해본다&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;1) Stored XSS&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;:&amp;nbsp; 공격자는 게시글, 쪽지, 댓글 등등 여러 곳에 자바스크립트 코드를 입력하여 작성해 놓는다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 공격을 당하는 사람은 해당 웹 페이지를 열 때 숨겨진 자바 스크립트 코드가 실행되어 공격당하게 된다.&lt;br /&gt;가장 대표적인 공격 코드는&lt;br /&gt;&amp;lt;script&amp;gt;alert(1)&amp;lt;/script&amp;gt; 를 삽입하는 것이고, 이것 이외에도 여러가지 공격이 존재한다.&lt;br /&gt;자세한것은 xss cheat sheet를 참고하면 좋다. &lt;a href=&quot;https://mslilsunshine.tistory.com/21&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://mslilsunshine.tistory.com/21&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1762228738465&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;1. XSS 공격 기법 : Cross-site Scripting&quot; data-og-description=&quot;#XSS란 무엇인가?*워게임 사이트나 가상환경에서 실행해보기 바람..클라이언트에 대한 취약점을 이용해서 javascript, html 언어 등을 이용하고 있는 불특정 다수를 공격할 수 있다.공격자가 악의적&quot; data-og-host=&quot;mslilsunshine.tistory.com&quot; data-og-source-url=&quot;https://mslilsunshine.tistory.com/21&quot; data-og-url=&quot;https://mslilsunshine.tistory.com/21&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bOFwDa/hyZMKjuzQ3/2pdioSYmF5HeK5n4SLiAfk/img.png?width=650&amp;amp;height=419&amp;amp;face=0_0_650_419,https://scrap.kakaocdn.net/dn/cxDj1U/hyZMUTW7G0/qgDpdvFyD9Ck6Pckxlpqr0/img.png?width=650&amp;amp;height=419&amp;amp;face=0_0_650_419,https://scrap.kakaocdn.net/dn/dveB1m/hyZMS2Uclw/4IQ3buQMabKEK4qWMDH0Qk/img.png?width=910&amp;amp;height=474&amp;amp;face=0_0_910_474&quot;&gt;&lt;a href=&quot;https://mslilsunshine.tistory.com/21&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://mslilsunshine.tistory.com/21&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bOFwDa/hyZMKjuzQ3/2pdioSYmF5HeK5n4SLiAfk/img.png?width=650&amp;amp;height=419&amp;amp;face=0_0_650_419,https://scrap.kakaocdn.net/dn/cxDj1U/hyZMUTW7G0/qgDpdvFyD9Ck6Pckxlpqr0/img.png?width=650&amp;amp;height=419&amp;amp;face=0_0_650_419,https://scrap.kakaocdn.net/dn/dveB1m/hyZMS2Uclw/4IQ3buQMabKEK4qWMDH0Qk/img.png?width=910&amp;amp;height=474&amp;amp;face=0_0_910_474');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;1. XSS 공격 기법 : Cross-site Scripting&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;#XSS란 무엇인가?*워게임 사이트나 가상환경에서 실행해보기 바람..클라이언트에 대한 취약점을 이용해서 javascript, html 언어 등을 이용하고 있는 불특정 다수를 공격할 수 있다.공격자가 악의적&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;mslilsunshine.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2) 이에 검색 창에 &lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot;&gt;&amp;lt;script&amp;gt;alert(1)&amp;lt;/script&amp;gt;를 삽입한 후 실행하였다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1204&quot; data-origin-height=&quot;396&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/TgmL8/dJMcahvWV02/KM5hZbKkvkxKLpa2KvKW8K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/TgmL8/dJMcahvWV02/KM5hZbKkvkxKLpa2KvKW8K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/TgmL8/dJMcahvWV02/KM5hZbKkvkxKLpa2KvKW8K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTgmL8%2FdJMcahvWV02%2FKM5hZbKkvkxKLpa2KvKW8K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1204&quot; height=&quot;396&quot; data-origin-width=&quot;1204&quot; data-origin-height=&quot;396&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;655&quot; data-origin-height=&quot;243&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqg88H/dJMcaezd4y4/JbTdowLHBpsopavFzVGY8K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqg88H/dJMcaezd4y4/JbTdowLHBpsopavFzVGY8K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqg88H/dJMcaezd4y4/JbTdowLHBpsopavFzVGY8K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbqg88H%2FdJMcaezd4y4%2FJbTdowLHBpsopavFzVGY8K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;655&quot; height=&quot;243&quot; data-origin-width=&quot;655&quot; data-origin-height=&quot;243&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3) Search를 실행하면 alert(1)이 실행되므로 경고창을 띄울 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;842&quot; data-origin-height=&quot;827&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WqlP0/dJMcacnSa6N/mVzo03fr7u1ikRFejPWv7k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WqlP0/dJMcacnSa6N/mVzo03fr7u1ikRFejPWv7k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WqlP0/dJMcacnSa6N/mVzo03fr7u1ikRFejPWv7k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWqlP0%2FdJMcacnSa6N%2FmVzo03fr7u1ikRFejPWv7k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;842&quot; height=&quot;827&quot; data-origin-width=&quot;842&quot; data-origin-height=&quot;827&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>swlug</category>
      <author>memo1240</author>
      <guid isPermaLink="true">https://memo1240.tistory.com/40</guid>
      <comments>https://memo1240.tistory.com/40#entry40comment</comments>
      <pubDate>Tue, 4 Nov 2025 13:00:51 +0900</pubDate>
    </item>
    <item>
      <title>[4주차] 논문분석</title>
      <link>https://memo1240.tistory.com/39</link>
      <description>&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/R90L3/dJMcake7iqh/6EhMpABgk4Iv0zS0pYXYG0/1610.05755v4.pdf?attach=1&amp;amp;knm=tfile.pdf&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;1610.05755v4.pdf&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.50MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;누가 정답을 가르쳤는지 숨기는 법 &amp;mdash; PATE 논문 분석&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한 줄 핵심: 민감 데이터로 학습한 여러 교사(teacher) 모델의 예측을 노이즈를 섞은 집계로 합쳐서 학생(student) 모델을 가르치면, 학생은 개별 교사&amp;middot;개별 샘플의 흔적 없이 지식을 전수받음. 이 절차는 차등프라이버시(DP)를 만족하도록 분석되었고, 실제 벤치마크에서 품질&amp;ndash;프라이버시의 균형이 검증되었음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;1. 논문 선정 이유&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;실제 시스템에서 개인 데이터로부터 학습하되, 개인 흔적을 남기지 않는&amp;nbsp;모델을 만들려면 학습 절차 자체가 바뀌어야 합니다. PATE는 복잡한 신경망 내부를 뜯어고치지 않고도, 교사 앙상블 + 노이즈 투표라는 직관적인 구조로 강한 형식적 보장(차등프라이버시)을 제공함. 이후 확장판(PATE 2018)은 클래스가 많은 대규모 태스크로 스케일하는 방법까지 다뤄, 연구&amp;middot;산업 모두에서 레퍼런스로 자리 잡았음.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;2. 배경과 목표&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;딥러닝 모델은 종종 훈련 데이터의 라벨&amp;middot;패턴을 과도하게 기억해 멤버십 추론/재식별 공격에 노출됨. PATE의 목표는 (a) 민감 데이터를 직접 공개하지 않고도, (b) 학생 모델이 쓸 만한 정확도를 얻도록 하면서, (c) 전체 과정에 대해 (&amp;epsilon;, &amp;delta;)-DP 보장을 제공하는 것. 핵심 발상은 지식을 전수하되, 누가 말했는지는 모르게 함.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;3. 핵심 아이디어 &amp;mdash; 교사 앙상블의 노이즈 집계&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;교사 모델 학습: 민감 데이터셋을 서로 겹치지 않게 분할하여 여러 교사 모델을 각각 학습함. 각 교사는 자신의 파티션만 봄.&lt;/li&gt;
&lt;li&gt;노이즈가 섞인 투표: 라벨이 필요한 공개(또는 합성) 데이터 샘플에 대해 교사들의 예측을 투표로 모으고, 여기에 라플라스/가우시안 노이즈를 더해 최다득표 클래스만 학생에 제공합니다(정답 라벨처럼 사용). 이때 노이즈 크기&amp;middot;응답 횟수에 따라 프라이버시 예산이 소모됨.&lt;/li&gt;
&lt;li&gt;학생 학습: 학생은 교사 개별 내부/파라미터를 전혀 보지 않고, 오직 집계된(익명화된) 라벨로 학습. 결과적으로 단일 개인&amp;middot;단일 교사의 영향력이 묻히며, 이 과정 전체가 차등프라이버시로 분석됨.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스케일 업(PATE 2018): 교사 간 합의가 약한 경우에는 무응답하거나, 더 집중적인(Concentrated/R&amp;eacute;nyi) 노이즈를 쓰는 GNMax 같은 집계로 오염(노이즈) 대비 정보량을 끌어올림. 클래스 수가 많거나 데이터 품질이 들쭉날쭉해도 더 타이트한 DP 보장을 얻도록 설계됨.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;4. 실험과 관찰&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;MNIST, SVHN 등에서 학생 모델이 유의미한 정확도를 달성하면서 공개 가능한 &amp;epsilon; 범위의 DP 보장을 가짐.&lt;/li&gt;
&lt;li&gt;준지도(semisupervised) 설정을 활용해, 라벨 비용/프라이버시 비용을 아끼면서 성능을 유지함.&lt;/li&gt;
&lt;li&gt;투표 응답 횟수가 늘어날수록 프라이버시 예산을 더 쓰게 되므로, 질문을 아끼고 정밀한 집계를 쓰는 운영 전략이 중요함.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;5. 강점과 한계점&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;강점:&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&amp;nbsp;학습 알고리즘에 블랙박스로 붙일 수 있어 적용이 쉬움.&lt;/li&gt;
&lt;li&gt;&amp;nbsp;형식적 보장이 깔끔하고, 라벨 보호가 중요한 도메인에 특히 적합함.&lt;/li&gt;
&lt;li&gt;&amp;nbsp;확장판이 제시한 선택적 응답/집중 노이즈로 대규모로도 운용 가능함.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한계:&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&amp;nbsp;교사 수&amp;middot;데이터 분할 품질이 낮으면 투표 신뢰도가 떨어져 노이즈에 취약함.&lt;/li&gt;
&lt;li&gt;&amp;nbsp;응답 횟수 관리를 잘못하면 &amp;epsilon;가 급격히 커짐.&lt;/li&gt;
&lt;li&gt;&amp;nbsp;공정성 편향 등 2차 효과에 유의해야 함(후속 연구가 공정성 이슈를 지적).&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;6. 느낀 점&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이 논문을 읽고, 정답을 알려주되, 누가 알려줬는지는 감춘다는 단순한 발상이 프라이버시를 이렇게 멀리 끌고 갈 수 있음을 실감했다. 모델의 내부를 복잡하게 바꾸기보다 학습 프로토콜을 디자인해서 정보 흐름을 통제한다는 점이 특히 인상적이었다. 현업에서는 DP-SGD처럼 파이프라인 안쪽을 바꾸는 방법과, PATE처럼 라벨 수급 단계를 바꾸는 방법을 혼합하면 도메인&amp;middot;조직 여건에 맞는 현실적인 프라이버시&amp;ndash;성능 균형을 찾기 좋을 것 같다.&lt;/p&gt;</description>
      <category>swlug</category>
      <author>memo1240</author>
      <guid isPermaLink="true">https://memo1240.tistory.com/39</guid>
      <comments>https://memo1240.tistory.com/39#entry39comment</comments>
      <pubDate>Thu, 30 Oct 2025 12:12:54 +0900</pubDate>
    </item>
    <item>
      <title>[swlug] 5주차 클라우드 스터디</title>
      <link>https://memo1240.tistory.com/38</link>
      <description>&lt;h4 data-ke-size=&quot;size20&quot;&gt;점프서버란?&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내부 네트워크의 중요한 시스템에 직접 접근을 통제하기 위해 마련된 중간 접속 지점이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;internet -&amp;gt; 퍼블릭 서브넷: 점프 서버 -&amp;gt; 프라이빗 서브넷 : 내부 서버&lt;/p&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. 단일 진입점 : 내부망에 대한 SSH, RDP 접근을 한 대의 점프 서버로만 허용&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;3. 네트워크 분리 : 퍼블릭 섯브넷에 배치하여 외부와 내부망을 완전히 분리&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;SSH란?&lt;/h4&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;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;1. 이름 : SSH 접속에 이용하는 키의 이름 [개인 이름]&lt;/li&gt;
&lt;li&gt;2. 파일 형식 : SSH 접속 형식 [pem]&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;1. 키 페어 생성&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1221&quot; data-origin-height=&quot;890&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cFlPxD/dJMcaksEaop/G8S9Iekk5fG77dGTkWTkrk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cFlPxD/dJMcaksEaop/G8S9Iekk5fG77dGTkWTkrk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cFlPxD/dJMcaksEaop/G8S9Iekk5fG77dGTkWTkrk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcFlPxD%2FdJMcaksEaop%2FG8S9Iekk5fG77dGTkWTkrk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1221&quot; height=&quot;890&quot; data-origin-width=&quot;1221&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;h4 data-ke-size=&quot;size20&quot;&gt;2. 점프 서버 준비하기&lt;/h4&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/pNuvv/dJMcaeMJvRP/OdXPAmWg7vSekLMSMeZXVK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pNuvv/dJMcaeMJvRP/OdXPAmWg7vSekLMSMeZXVK/img.png&quot; data-origin-width=&quot;1095&quot; data-origin-height=&quot;726&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.6904%; margin-right: 10px;&quot; data-widthpercent=&quot;50.28&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pNuvv/dJMcaeMJvRP/OdXPAmWg7vSekLMSMeZXVK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpNuvv%2FdJMcaeMJvRP%2FOdXPAmWg7vSekLMSMeZXVK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1095&quot; height=&quot;726&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpZKR4/dJMb99SbYyc/SzwkRK8oHEHKa1lBIqiUB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpZKR4/dJMb99SbYyc/SzwkRK8oHEHKa1lBIqiUB1/img.png&quot; data-origin-width=&quot;1177&quot; data-origin-height=&quot;789&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.1468%;&quot; data-widthpercent=&quot;49.72&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpZKR4/dJMb99SbYyc/SzwkRK8oHEHKa1lBIqiUB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpZKR4%2FdJMb99SbYyc%2FSzwkRK8oHEHKa1lBIqiUB1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1177&quot; height=&quot;789&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1002&quot; data-origin-height=&quot;306&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c2vmAm/dJMcafrk3bn/Z4ynkwDvvCFRFimhOG5XIk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c2vmAm/dJMcafrk3bn/Z4ynkwDvvCFRFimhOG5XIk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c2vmAm/dJMcafrk3bn/Z4ynkwDvvCFRFimhOG5XIk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc2vmAm%2FdJMcafrk3bn%2FZ4ynkwDvvCFRFimhOG5XIk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1002&quot; height=&quot;306&quot; data-origin-width=&quot;1002&quot; data-origin-height=&quot;306&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;h4 data-ke-size=&quot;size20&quot;&gt;웹 서버란?&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클라이언트로부터 HTTP 요청을 받아서 정적,동적 콘텐츠를 처리,전송하는 소프트,하드웨어&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. HTTP 요청 수신 : 클라이언트가 보낸 GET,POST 등 요청을 받음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 콘텐츠 제공 : HTML, CSS, JS, 이미지 같은 정적 파일 또는 어플 로직을 실행해 생성된 동적 콘텐츠 반환&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;h4 data-ke-size=&quot;size20&quot;&gt;3. 웹 서버 준비하기&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;점프 서버와 비교&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;점프 서버는 시스템 관리자가 가끔 이용.&lt;/li&gt;
&lt;li&gt;웹 서버는 웹 서비스 사용자가 항상 연결을 시도함&lt;/li&gt;
&lt;/ul&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;/li&gt;
&lt;li&gt;웹 서버는 로드 밸런서를 통해 간접 연결됨&lt;/li&gt;
&lt;/ul&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/ddRX7B/dJMcaihioAC/prBkD3eookbgjCyfAxpO81/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ddRX7B/dJMcaihioAC/prBkD3eookbgjCyfAxpO81/img.png&quot; style=&quot;width: 50.801%; margin-right: 10px;&quot; data-origin-width=&quot;1267&quot; data-origin-height=&quot;774&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;51.4&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ddRX7B/dJMcaihioAC/prBkD3eookbgjCyfAxpO81/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FddRX7B%2FdJMcaihioAC%2FprBkD3eookbgjCyfAxpO81%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1267&quot; height=&quot;774&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pYlNC/dJMcahvVeKX/K777OaiGp6OGeXr0bvnGuk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pYlNC/dJMcahvVeKX/K777OaiGp6OGeXr0bvnGuk/img.png&quot; style=&quot;width: 48.0362%;&quot; data-origin-width=&quot;1229&quot; data-origin-height=&quot;794&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;48.6&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pYlNC/dJMcahvVeKX/K777OaiGp6OGeXr0bvnGuk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpYlNC%2FdJMcahvVeKX%2FK777OaiGp6OGeXr0bvnGuk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1229&quot; height=&quot;794&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1494&quot; data-origin-height=&quot;383&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bo5irc/dJMcafrk3hw/oik83TfjUBYmlXhKUkCaK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bo5irc/dJMcafrk3hw/oik83TfjUBYmlXhKUkCaK0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bo5irc/dJMcafrk3hw/oik83TfjUBYmlXhKUkCaK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbo5irc%2FdJMcafrk3hw%2Foik83TfjUBYmlXhKUkCaK0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1494&quot; height=&quot;383&quot; data-origin-width=&quot;1494&quot; data-origin-height=&quot;383&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;4. 접속 확인하기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다단계 연결 : 다단계 연결 설정은 config라는 이름의 파일을 생성하고 그 안에 기술함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 파일은 비밀 키 파일과 마찬가지로 홈 디렉터리의 .ssh 폴더에 저장함.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;831&quot; data-origin-height=&quot;901&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RtWkD/dJMcaezckFt/NKYL2mz7Twj1hnDJu5KBk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RtWkD/dJMcaezckFt/NKYL2mz7Twj1hnDJu5KBk1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RtWkD/dJMcaezckFt/NKYL2mz7Twj1hnDJu5KBk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRtWkD%2FdJMcaezckFt%2FNKYL2mz7Twj1hnDJu5KBk1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;831&quot; height=&quot;901&quot; data-origin-width=&quot;831&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;홈 디렉토리에 .pem 파일 복사&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/ZazWp/dJMcaeMJvXP/o7cOd5lknkonWHO4xeIzy1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZazWp/dJMcaeMJvXP/o7cOd5lknkonWHO4xeIzy1/img.png&quot; data-origin-width=&quot;1225&quot; data-origin-height=&quot;371&quot; data-is-animation=&quot;false&quot; style=&quot;width: 69.2372%; margin-right: 10px;&quot; data-widthpercent=&quot;70.05&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZazWp/dJMcaeMJvXP/o7cOd5lknkonWHO4xeIzy1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZazWp%2FdJMcaeMJvXP%2Fo7cOd5lknkonWHO4xeIzy1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1225&quot; height=&quot;371&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bSHVRZ/dJMcaawNwpb/OBX50gok9cKhpbIpHquYN1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bSHVRZ/dJMcaawNwpb/OBX50gok9cKhpbIpHquYN1/img.png&quot; data-origin-width=&quot;535&quot; data-origin-height=&quot;379&quot; data-is-animation=&quot;false&quot; style=&quot;width: 29.6%;&quot; data-widthpercent=&quot;29.95&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bSHVRZ/dJMcaawNwpb/OBX50gok9cKhpbIpHquYN1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbSHVRZ%2FdJMcaawNwpb%2FOBX50gok9cKhpbIpHquYN1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;535&quot; height=&quot;379&quot;/&gt;&lt;/span&gt;&lt;/div&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-origin-width=&quot;1126&quot; data-origin-height=&quot;238&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lbQ9h/dJMcaaXRQVt/jk6dWZ4kG4MSJY7k605geK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lbQ9h/dJMcaaXRQVt/jk6dWZ4kG4MSJY7k605geK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lbQ9h/dJMcaaXRQVt/jk6dWZ4kG4MSJY7k605geK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlbQ9h%2FdJMcaaXRQVt%2Fjk6dWZ4kG4MSJY7k605geK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1126&quot; height=&quot;238&quot; data-origin-width=&quot;1126&quot; data-origin-height=&quot;238&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1322&quot; data-origin-height=&quot;686&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uneiD/dJMcafZaZUV/KPWxoyxaOshXVVIo38mwKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uneiD/dJMcafZaZUV/KPWxoyxaOshXVVIo38mwKK/img.png&quot; data-alt=&quot;점프서버 접속&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uneiD/dJMcafZaZUV/KPWxoyxaOshXVVIo38mwKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuneiD%2FdJMcafZaZUV%2FKPWxoyxaOshXVVIo38mwKK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1322&quot; height=&quot;686&quot; data-origin-width=&quot;1322&quot; data-origin-height=&quot;686&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;점프서버 접속&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1253&quot; data-origin-height=&quot;512&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c0aL41/dJMcai2FuIr/Kh8LaaUlWAqRqazGZCw7j0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c0aL41/dJMcai2FuIr/Kh8LaaUlWAqRqazGZCw7j0/img.png&quot; data-alt=&quot;웹 서버 접속&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c0aL41/dJMcai2FuIr/Kh8LaaUlWAqRqazGZCw7j0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc0aL41%2FdJMcai2FuIr%2FKh8LaaUlWAqRqazGZCw7j0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1253&quot; height=&quot;512&quot; data-origin-width=&quot;1253&quot; data-origin-height=&quot;512&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;웹 서버 접속&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>swlug</category>
      <category>ㅇ</category>
      <author>memo1240</author>
      <guid isPermaLink="true">https://memo1240.tistory.com/38</guid>
      <comments>https://memo1240.tistory.com/38#entry38comment</comments>
      <pubDate>Wed, 29 Oct 2025 14:30:19 +0900</pubDate>
    </item>
    <item>
      <title>[swlug] 4주차 웹해킹 과제</title>
      <link>https://memo1240.tistory.com/37</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;실습문제&lt;/h2&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;목표&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;업로드 기능을 이용해 서버가 쓰는 위치와 파일명을 통제하여, flag라는 이름의 파일을 업로드 디렉터리에 만들고 웹에서 직접 열어 FLAG{...}를 획득한다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;1) 기능 파악 &amp;amp; 소스 확인&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;view-source를 통해 index.php를 확인한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;726&quot; data-origin-height=&quot;781&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ct2CUw/btsQX6ISCuo/OWwOgecxz3yYeMGozaTva1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ct2CUw/btsQX6ISCuo/OWwOgecxz3yYeMGozaTva1/img.png&quot; data-alt=&quot;문제의 경로를 알아내야함 파일 업로드시 flag획득&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ct2CUw/btsQX6ISCuo/OWwOgecxz3yYeMGozaTva1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fct2CUw%2FbtsQX6ISCuo%2FOWwOgecxz3yYeMGozaTva1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;726&quot; height=&quot;781&quot; data-origin-width=&quot;726&quot; data-origin-height=&quot;781&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;문제의 경로를 알아내야함 파일 업로드시 flag획득&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;필터링은 &quot;, &amp;lt;, &amp;gt;, /만 제거한다. 점(.), 백슬래시(\), 등은 허용.&lt;/li&gt;
&lt;li&gt;업로드 성공 후 같은 경로/파일명으로 다시 fopen(...,&quot;w&quot;) + fwrite($flag):&lt;br /&gt;&amp;rArr; 파일 내용이 전부 FLAG로 바뀜(확실한 정보 유출 버그).&lt;/li&gt;
&lt;li&gt;파일 경로는 ./{upload_dir}/{filename} 형태. {upload_dir}는 난수/토큰 디렉터리라서 값을 먼저 알아야 브라우저로 접근 가능.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2) 에러를 이용한 업로드 경로 노출&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;브라우저에서 평범히 업로드하면 경로를 모른다.&lt;br /&gt;의도적으로 아주 긴 파일명으로 업로드해 PHP 경고를 유도한다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Burp 등 프록시에서 Content-Disposition의 filename=(매우 긴 문자열)로 수정.&amp;nbsp;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-10-01 182331.png&quot; data-origin-width=&quot;875&quot; data-origin-height=&quot;241&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bxIObW/btsQ0un5naY/6ipCNfq8V5tLwcv0wRihrk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bxIObW/btsQ0un5naY/6ipCNfq8V5tLwcv0wRihrk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bxIObW/btsQ0un5naY/6ipCNfq8V5tLwcv0wRihrk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbxIObW%2FbtsQ0un5naY%2F6ipCNfq8V5tLwcv0wRihrk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;875&quot; height=&quot;241&quot; data-filename=&quot;스크린샷 2025-10-01 182331.png&quot; data-origin-width=&quot;875&quot; data-origin-height=&quot;241&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;br /&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-10-01 182255.png&quot; data-origin-width=&quot;805&quot; data-origin-height=&quot;171&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCSpv1/btsQW72QqrI/gCJrtX3fXbBW57FDLNuKg0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCSpv1/btsQW72QqrI/gCJrtX3fXbBW57FDLNuKg0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCSpv1/btsQW72QqrI/gCJrtX3fXbBW57FDLNuKg0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCSpv1%2FbtsQW72QqrI%2FgCJrtX3fXbBW57FDLNuKg0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;805&quot; height=&quot;171&quot; data-filename=&quot;스크린샷 2025-10-01 182255.png&quot; data-origin-width=&quot;805&quot; data-origin-height=&quot;171&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/li&gt;
&lt;li&gt;업로드 시 &amp;ldquo;File name too long&amp;rdquo; 경고가 뜨면서 정확한 서버 경로가 노출된다.&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-10-01 182535.png&quot; data-origin-width=&quot;1562&quot; data-origin-height=&quot;319&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bX7yrE/btsQX5XyjuW/MBInpvyutAaSS5KBArCD2K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bX7yrE/btsQX5XyjuW/MBInpvyutAaSS5KBArCD2K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bX7yrE/btsQX5XyjuW/MBInpvyutAaSS5KBArCD2K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbX7yrE%2FbtsQX5XyjuW%2FMBInpvyutAaSS5KBArCD2K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1562&quot; height=&quot;319&quot; data-filename=&quot;스크린샷 2025-10-01 182535.png&quot; data-origin-width=&quot;1562&quot; data-origin-height=&quot;319&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 경로 중 4b0e87... 같은 부분이 실제 웹에서 접근 가능한 업로드 디렉터리 이름이다.&lt;br /&gt;이제 우리는 &lt;a href=&quot;https://webhacking.kr/challenge/web-19/4b0e87.../파일명&quot;&gt;https://webhacking.kr/challenge/web-19/4b0e87.../파일명&lt;/a&gt; 형태로 접근할 수 있다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3) 파일명 통제: &amp;lsquo;flag&amp;rsquo; 파일 만들기&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;경로를 알았으니, 이제 파일명을 flag로 해서 업로드한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;578&quot; data-origin-height=&quot;177&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zZOuR/btsQ0kMMIbg/evcU9blgkMdYn9HwJKq490/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zZOuR/btsQ0kMMIbg/evcU9blgkMdYn9HwJKq490/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zZOuR/btsQ0kMMIbg/evcU9blgkMdYn9HwJKq490/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzZOuR%2FbtsQ0kMMIbg%2FevcU9blgkMdYn9HwJKq490%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;578&quot; height=&quot;177&quot; data-origin-width=&quot;578&quot; data-origin-height=&quot;177&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;4) FLAG 획득&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 브라우저에서 다음을 연다:&lt;/p&gt;
&lt;pre class=&quot;awk&quot;&gt;&lt;code&gt;https://webhacking.kr/challenge/web-19/&amp;lt;노출된_upload_dir&amp;gt;/flag
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 FLAG{error_msg_is_more_useful_than_you_think}가 출력된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-10-01 182940.png&quot; data-origin-width=&quot;1220&quot; data-origin-height=&quot;174&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3lbXu/btsQZVTNe0u/onMqzvxjUQhq9nOIyAdbwk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3lbXu/btsQZVTNe0u/onMqzvxjUQhq9nOIyAdbwk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3lbXu/btsQZVTNe0u/onMqzvxjUQhq9nOIyAdbwk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3lbXu%2FbtsQZVTNe0u%2FonMqzvxjUQhq9nOIyAdbwk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1220&quot; height=&quot;174&quot; data-filename=&quot;스크린샷 2025-10-01 182940.png&quot; data-origin-width=&quot;1220&quot; data-origin-height=&quot;174&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre class=&quot;ceylon&quot; style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;code&gt;error_msg_is_more_userful_than_you_think&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;실습과제&lt;/h2&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;705&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vvb9A/dJMcaj1zvjz/vkkunoopOmBkks3xWopSD0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vvb9A/dJMcaj1zvjz/vkkunoopOmBkks3xWopSD0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vvb9A/dJMcaj1zvjz/vkkunoopOmBkks3xWopSD0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fvvb9A%2FdJMcaj1zvjz%2FvkkunoopOmBkks3xWopSD0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/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;705&quot; data-origin-width=&quot;925&quot; data-origin-height=&quot;705&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;/etc/passwd를 확인하여 문제해결&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;706&quot; data-origin-height=&quot;175&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c74S0c/dJMcadNOUM2/0zmORwLWX2kjRkJiAATA31/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c74S0c/dJMcadNOUM2/0zmORwLWX2kjRkJiAATA31/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c74S0c/dJMcadNOUM2/0zmORwLWX2kjRkJiAATA31/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc74S0c%2FdJMcadNOUM2%2F0zmORwLWX2kjRkJiAATA31%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;706&quot; height=&quot;175&quot; data-origin-width=&quot;706&quot; data-origin-height=&quot;175&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;burp suite 설정 후 블로그를 새로고침하고 수집된 패킷 확인&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;(위 사진은 블로그 내 보이는 이미지를 의미)&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/0dRz4/dJMcafx6k0Q/JbG6PHTKtVzWPakk9dAEDk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0dRz4/dJMcafx6k0Q/JbG6PHTKtVzWPakk9dAEDk/img.png&quot; data-origin-width=&quot;636&quot; data-origin-height=&quot;495&quot; data-is-animation=&quot;false&quot; style=&quot;width: 41.412%; margin-right: 10px;&quot; data-widthpercent=&quot;41.9&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0dRz4/dJMcafx6k0Q/JbG6PHTKtVzWPakk9dAEDk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0dRz4%2FdJMcafx6k0Q%2FJbG6PHTKtVzWPakk9dAEDk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;636&quot; height=&quot;495&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yrhBj/dJMcajHgJ3L/v1ziHFFsrs1IzjKwsmIrr1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yrhBj/dJMcajHgJ3L/v1ziHFFsrs1IzjKwsmIrr1/img.png&quot; data-origin-width=&quot;661&quot; data-origin-height=&quot;371&quot; data-is-animation=&quot;false&quot; style=&quot;width: 57.4252%;&quot; data-widthpercent=&quot;58.1&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yrhBj/dJMcajHgJ3L/v1ziHFFsrs1IzjKwsmIrr1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyrhBj%2FdJMcajHgJ3L%2Fv1ziHFFsrs1IzjKwsmIrr1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;661&quot; height=&quot;371&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;이미지 패킷 하나를 선택하여 Repeater로 전달&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;filename을 변경하여 /etc/passwd 파일 내용을 확인함&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;변경전 -&amp;gt; 4.jpg 변경후 -&amp;gt; ../../../../../../../etc/passwd&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;filename을 /etc/passwd를 확인하는 경로로 변경함&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;556&quot; data-origin-height=&quot;653&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/UXZ6j/dJMcafx6k1R/XQs7JuPzNmtXNVWvblxEe0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/UXZ6j/dJMcafx6k1R/XQs7JuPzNmtXNVWvblxEe0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/UXZ6j/dJMcafx6k1R/XQs7JuPzNmtXNVWvblxEe0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUXZ6j%2FdJMcafx6k1R%2FXQs7JuPzNmtXNVWvblxEe0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;556&quot; height=&quot;653&quot; data-origin-width=&quot;556&quot; data-origin-height=&quot;653&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;filename 변경 후 블로그를 새로고침하면 문제가 해결됨을 알 수 있음&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1534&quot; data-origin-height=&quot;300&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/x5vPt/dJMcadtv7Ae/1eS4lG6nJaGhZgjShAR161/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/x5vPt/dJMcadtv7Ae/1eS4lG6nJaGhZgjShAR161/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/x5vPt/dJMcadtv7Ae/1eS4lG6nJaGhZgjShAR161/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fx5vPt%2FdJMcadtv7Ae%2F1eS4lG6nJaGhZgjShAR161%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1534&quot; height=&quot;300&quot; data-origin-width=&quot;1534&quot; data-origin-height=&quot;300&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>swlug</category>
      <author>memo1240</author>
      <guid isPermaLink="true">https://memo1240.tistory.com/37</guid>
      <comments>https://memo1240.tistory.com/37#entry37comment</comments>
      <pubDate>Tue, 28 Oct 2025 12:50:37 +0900</pubDate>
    </item>
    <item>
      <title>[swlug] 3주차 웹해킹 과제</title>
      <link>https://memo1240.tistory.com/36</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;수업 실습&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. Lab: OS command injection, simple case&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;개요&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제품 상세 페이지의 &lt;b&gt;Check stock&lt;/b&gt; 기능이 사용자 입력을 포함한 셸 명령을 실행한다. storeId 자리에 명령 연결 연산자를 붙이면 &lt;b&gt;명령 삽입&lt;/b&gt;이 가능하다. 랩 목표는 whoami 실행 결과를 응답에서 확인하는 것.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;942&quot; data-origin-height=&quot;941&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/miWdu/btsQTAbsU46/5jZOOLWCfeoy27Nk7Lyf11/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/miWdu/btsQTAbsU46/5jZOOLWCfeoy27Nk7Lyf11/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/miWdu/btsQTAbsU46/5jZOOLWCfeoy27Nk7Lyf11/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmiWdu%2FbtsQTAbsU46%2F5jZOOLWCfeoy27Nk7Lyf11%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;942&quot; height=&quot;941&quot; data-origin-width=&quot;942&quot; data-origin-height=&quot;941&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;재현 절차&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;상품 상세 화면에서 드롭다운(지점 선택) 옆 &lt;b&gt;Check stock&lt;/b&gt; 클릭 &amp;rarr; 요청 가로채기.&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;890&quot; data-origin-height=&quot;495&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c1Or3g/btsQVjmyxR5/cr42KZJDdVeL3Y3Mpm2101/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c1Or3g/btsQVjmyxR5/cr42KZJDdVeL3Y3Mpm2101/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c1Or3g/btsQVjmyxR5/cr42KZJDdVeL3Y3Mpm2101/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc1Or3g%2FbtsQVjmyxR5%2Fcr42KZJDdVeL3Y3Mpm2101%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;890&quot; height=&quot;495&quot; data-origin-width=&quot;890&quot; data-origin-height=&quot;495&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;요청 바디에 productId와 storeId가 포함됨을 확인.&lt;/li&gt;
&lt;li&gt;productId=3&amp;amp;storeId=1&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/GFM35/btsQShElGA7/8K9gXPsECKTdHCBDk0igJK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GFM35/btsQShElGA7/8K9gXPsECKTdHCBDk0igJK/img.png&quot; data-widthpercent=&quot;62.36&quot; data-is-animation=&quot;false&quot; data-origin-height=&quot;168&quot; data-origin-width=&quot;501&quot; style=&quot;width: 61.6068%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GFM35/btsQShElGA7/8K9gXPsECKTdHCBDk0igJK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGFM35%2FbtsQShElGA7%2F8K9gXPsECKTdHCBDk0igJK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;501&quot; height=&quot;168&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bXoYGd/btsQUN2uxgz/2pFvJn9bkD4bgvCxLnKJ5k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bXoYGd/btsQUN2uxgz/2pFvJn9bkD4bgvCxLnKJ5k/img.png&quot; data-is-animation=&quot;false&quot; data-origin-height=&quot;260&quot; data-origin-width=&quot;468&quot; style=&quot;width: 37.1854%;&quot; data-widthpercent=&quot;37.64&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bXoYGd/btsQUN2uxgz/2pFvJn9bkD4bgvCxLnKJ5k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbXoYGd%2FbtsQUN2uxgz%2F2pFvJn9bkD4bgvCxLnKJ5k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;468&quot; height=&quot;260&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;주입&lt;/b&gt;: storeId 뒤에 파이프(|)로 whoami 연결.&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/usXXc/btsQTT3h7rg/we15gYEF7NDzomqFNxktf1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/usXXc/btsQTT3h7rg/we15gYEF7NDzomqFNxktf1/img.png&quot; data-widthpercent=&quot;64.54&quot; data-is-animation=&quot;false&quot; data-origin-height=&quot;176&quot; data-origin-width=&quot;466&quot; style=&quot;width: 63.7602%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/usXXc/btsQTT3h7rg/we15gYEF7NDzomqFNxktf1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FusXXc%2FbtsQTT3h7rg%2Fwe15gYEF7NDzomqFNxktf1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;466&quot; height=&quot;176&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uzFTT/btsQVmKlQJK/2TZHWboqNhKzWwh3r0kvD1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uzFTT/btsQVmKlQJK/2TZHWboqNhKzWwh3r0kvD1/img.png&quot; style=&quot;width: 35.032%;&quot; data-widthpercent=&quot;35.46&quot; data-is-animation=&quot;false&quot; data-origin-height=&quot;442&quot; data-origin-width=&quot;643&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uzFTT/btsQVmKlQJK/2TZHWboqNhKzWwh3r0kvD1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuzFTT%2FbtsQVmKlQJK%2F2TZHWboqNhKzWwh3r0kvD1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;643&quot; height=&quot;442&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;productId=3&amp;amp;storeId=1|whoami&lt;br /&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;650&quot; data-origin-height=&quot;719&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rKEdp/btsQUPze2dO/SGekTRBrBtrzBvjUxlW9E0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rKEdp/btsQUPze2dO/SGekTRBrBtrzBvjUxlW9E0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rKEdp/btsQUPze2dO/SGekTRBrBtrzBvjUxlW9E0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrKEdp%2FbtsQUPze2dO%2FSGekTRBrBtrzBvjUxlW9E0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;650&quot; height=&quot;719&quot; data-origin-width=&quot;650&quot; data-origin-height=&quot;719&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;응답 확인&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;742&quot; data-origin-height=&quot;643&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SVOH9/btsQUc2vouS/cVe9zWcYmBFWSAPvbyazH1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SVOH9/btsQUc2vouS/cVe9zWcYmBFWSAPvbyazH1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SVOH9/btsQUc2vouS/cVe9zWcYmBFWSAPvbyazH1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSVOH9%2FbtsQUc2vouS%2FcVe9zWcYmBFWSAPvbyazH1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;742&quot; height=&quot;643&quot; data-origin-width=&quot;742&quot; data-origin-height=&quot;643&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;페이로드 요약&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기본: storeId=1|whoami&lt;/li&gt;
&lt;li&gt;우회: 1;whoami, 1&amp;amp;&amp;amp;whoami, 1|id&lt;/li&gt;
&lt;li&gt;공백 필터 시: 1|$(whoami) 또는 1|echo${IFS}$(whoami)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h1&gt;실습 과제&lt;/h1&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. Lab: Blind OS command injection with time delays&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;개요&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;피드백 제출 기능이 &lt;b&gt;블라인드 명령 삽입&lt;/b&gt;에 취약하다. 출력은 안 보이므로 응답 지연(10초)으로 취약점을 증명한다.&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;1176&quot; data-origin-height=&quot;960&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dyL9tK/btsQR3eQ7cQ/KnKXhgsJyebaVvl6LITKW1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dyL9tK/btsQR3eQ7cQ/KnKXhgsJyebaVvl6LITKW1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dyL9tK/btsQR3eQ7cQ/KnKXhgsJyebaVvl6LITKW1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdyL9tK%2FbtsQR3eQ7cQ%2FKnKXhgsJyebaVvl6LITKW1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1176&quot; height=&quot;960&quot; data-origin-width=&quot;1176&quot; data-origin-height=&quot;960&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;엔드포인트 및 파라미터&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;피드백 폼에는 name, email, subject, message 필드가 있으며, 이 값들이 서버 측 셸 명령 조합에 사용된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1145&quot; data-origin-height=&quot;921&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bzD5TV/btsQUelOtRv/kdbJGK8YwMPKvBTH9PHeOk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bzD5TV/btsQUelOtRv/kdbJGK8YwMPKvBTH9PHeOk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bzD5TV/btsQUelOtRv/kdbJGK8YwMPKvBTH9PHeOk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbzD5TV%2FbtsQUelOtRv%2FkdbJGK8YwMPKvBTH9PHeOk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1145&quot; height=&quot;921&quot; data-origin-width=&quot;1145&quot; data-origin-height=&quot;921&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;기준(베이스라인) 확인&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정상 값으로 제출하면 즉시 &amp;ldquo;Thank you for submitting feedback!&amp;rdquo; 메시지가 뜬다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2025-09-29 130152.png&quot; data-origin-width=&quot;758&quot; data-origin-height=&quot;124&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WBiDI/btsQTNvh84W/VcVh8fBkWcy6rzzeMsQMH1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WBiDI/btsQTNvh84W/VcVh8fBkWcy6rzzeMsQMH1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WBiDI/btsQTNvh84W/VcVh8fBkWcy6rzzeMsQMH1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWBiDI%2FbtsQTNvh84W%2FVcVh8fBkWcy6rzzeMsQMH1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/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;124&quot; data-filename=&quot;스크린샷 2025-09-29 130152.png&quot; data-origin-width=&quot;758&quot; data-origin-height=&quot;124&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;866&quot; data-origin-height=&quot;630&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bOddIA/btsQToP36RG/fSkhkeOw3IIkgBmkbkiKk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bOddIA/btsQToP36RG/fSkhkeOw3IIkgBmkbkiKk1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bOddIA/btsQToP36RG/fSkhkeOw3IIkgBmkbkiKk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbOddIA%2FbtsQToP36RG%2FfSkhkeOw3IIkgBmkbkiKk1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;866&quot; height=&quot;630&quot; data-origin-width=&quot;866&quot; data-origin-height=&quot;630&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;주입 및 시간 지연 유발&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이메일&lt;/b&gt; 필드에 명령 연결자를 붙여 전송(URLEncoding 필수):&lt;/p&gt;
&lt;pre class=&quot;lsl&quot;&gt;&lt;code&gt;email=admin%40gmail.com%3Bsleep%2010
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또는&lt;/p&gt;
&lt;pre class=&quot;lsl&quot;&gt;&lt;code&gt;email=admin%40gmail.com%26%26sleep%2010
email=admin%40gmail.com%7Cping%20-c%2010%20127.0.0.1
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;요청을 보내면 페이지 내용은 동일하게 보이지만 &lt;b&gt;약 10초 지연 후&lt;/b&gt; 성공 메시지가 나타난다. 이것으로 랩이 해결된다.&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/8hDuC/btsQVg4umg5/6yBYv6Tb0Q3x87IUYsWfu1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8hDuC/btsQVg4umg5/6yBYv6Tb0Q3x87IUYsWfu1/img.png&quot; style=&quot;width: 51.358%; margin-right: 10px;&quot; data-widthpercent=&quot;51.96&quot; data-is-animation=&quot;false&quot; data-origin-height=&quot;301&quot; data-origin-width=&quot;1231&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8hDuC/btsQVg4umg5/6yBYv6Tb0Q3x87IUYsWfu1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8hDuC%2FbtsQVg4umg5%2F6yBYv6Tb0Q3x87IUYsWfu1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/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;301&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/z5R88/btsQSGKp1D9/W7IRsgiU3KivkaMU33iWnk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/z5R88/btsQSGKp1D9/W7IRsgiU3KivkaMU33iWnk/img.png&quot; data-widthpercent=&quot;48.04&quot; data-is-animation=&quot;false&quot; data-origin-height=&quot;146&quot; data-origin-width=&quot;552&quot; style=&quot;width: 47.4792%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/z5R88/btsQSGKp1D9/W7IRsgiU3KivkaMU33iWnk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fz5R88%2FbtsQSGKp1D9%2FW7IRsgiU3KivkaMU33iWnk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;552&quot; height=&quot;146&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;우회 팁&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공백 필터: sleep${IFS}10 &amp;rarr; ...%3Bsleep%24%7BIFS%7D10&lt;/li&gt;
&lt;li&gt;;가 막히면 &amp;amp;&amp;amp; 또는 |&lt;/li&gt;
&lt;li&gt;특정 필드가 검증되면 &lt;b&gt;name/subject/message&lt;/b&gt;로 필드 교체&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h1&gt;3. 핵심 원인(두 랩 공통)&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서버가 사용자 입력을 &lt;b&gt;문자열로 이어붙인 셸 명령&lt;/b&gt;에 넘긴다.&lt;/p&gt;
&lt;pre class=&quot;dockerfile&quot;&gt;&lt;code&gt;cmd = &quot;stockchecker &quot; + productId + &quot; &quot; + storeId
# 혹은
cmd = &quot;mail -s '&quot; + subject + &quot;' &quot; + email + &quot; &amp;lt; /tmp/msg&quot;
system(cmd)
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;연산자(|, ;, &amp;amp;&amp;amp;)가 해석되어 &lt;b&gt;동일 권한 컨텍스트&lt;/b&gt;에서 추가 명령이 실행된다. (두 랩 화면&amp;middot;응답 결과가 이를 뒷받침)&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h1&gt;4. 대응 방안(요약)&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;셸 호출 지양, &lt;b&gt;라이브러리/API 호출&lt;/b&gt; 사용(인자 배열 사용)&lt;/li&gt;
&lt;li&gt;입력값 화이트리스트&amp;middot;검증(특수문자 제거/거부)&lt;/li&gt;
&lt;li&gt;명령 실행 필요 시 &lt;b&gt;명령어와 인자 분리&lt;/b&gt;해 전달, &lt;b&gt;최소권한&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;&amp;nbsp;&lt;/p&gt;</description>
      <category>swlug</category>
      <author>memo1240</author>
      <guid isPermaLink="true">https://memo1240.tistory.com/36</guid>
      <comments>https://memo1240.tistory.com/36#entry36comment</comments>
      <pubDate>Mon, 29 Sep 2025 13:05:10 +0900</pubDate>
    </item>
  </channel>
</rss>