<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>FEARIS Blog</title><link>https://fearis.blog/</link><description>Recent content on FEARIS Blog</description><generator>Hugo</generator><language>ko-KR</language><lastBuildDate>Fri, 04 Sep 2026 18:41:43 +0900</lastBuildDate><atom:link href="https://fearis.blog/index.xml" rel="self" type="application/rss+xml"/><item><title>Claude Cyber Verification Program 신청 절차</title><link>https://fearis.blog/posts/31/</link><pubDate>Fri, 04 Sep 2026 18:41:43 +0900</pubDate><guid>https://fearis.blog/posts/31/</guid><description>&lt;blockquote&gt;
&lt;p&gt;신청 절차가 복잡하지 않았고 금방 승인해줘서 기분 굿&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;br&gt;
개인 작업 중 자꾸 보안 가드레일에 걸리길래 짜증나서 신청해봄&lt;/p&gt;
&lt;h2 id="신청-과정"&gt;신청 과정&lt;/h2&gt;
&lt;p&gt;&lt;img alt="claude cyber safeguards" loading="lazy" src="https://fearis.blog/images/31/0.png"&gt;&lt;/p&gt;
&lt;p&gt;우선 &lt;a href="https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude-opus-and-sonnet"&gt;claude cyber safeguards&lt;/a&gt; 페이지에 접근해서 스크롤을 내리다보면 Verification Portal 버튼이 있음&lt;br&gt;
이걸 &lt;a href="https://portal.anthropic.com/programs/cvp"&gt;클릭&lt;/a&gt;하면 된다.&lt;/p&gt;
&lt;p&gt;&lt;img alt="신청 페이지" loading="lazy" src="https://fearis.blog/images/31/0-1.png"&gt;&lt;/p&gt;
&lt;p&gt;Claude Cyber Verification Program 옆에 적용 버튼을 눌러 신청하자&lt;/p&gt;
&lt;p&gt;&lt;img alt="2단계 - 아이덴티티" loading="lazy" src="https://fearis.blog/images/31/2.png"&gt;&lt;/p&gt;
&lt;p&gt;1단계는 단순하게 계정 유형(Claude Console or Claude.ai)을 선택하는 항목이였고,&lt;br&gt;
2단계는 여권 + 카메라 인증&lt;br&gt;
시작하면 QR코드를 보여주는데 스마트폰 카메라앱으로 스캔 후 절차대로 진행하면 된다.&lt;/p&gt;</description></item><item><title>OSCP 통합 치트시트</title><link>https://fearis.blog/posts/30/</link><pubDate>Fri, 28 Aug 2026 00:00:00 +0900</pubDate><guid>https://fearis.blog/posts/30/</guid><description>PEN-200 강의 노트와 실전 메모를 통합한 OSCP 준비용 명령어·체크리스트 레퍼런스.</description></item><item><title>SMTP 점검 방법론</title><link>https://fearis.blog/posts/29/</link><pubDate>Tue, 16 Sep 2025 21:55:59 +0900</pubDate><guid>https://fearis.blog/posts/29/</guid><description>&lt;p&gt;&lt;strong&gt;SMTP 개요&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;SMTP는 이메일 송수신에 사용되는 프로토콜로 메일서버 외부와 통신을 담당합니다.&lt;/p&gt;
&lt;p&gt;주요 보안 위험으로는 다음과 같은 것들이 있습니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;VRFY, EXPN 명령어를 통한 이메일 리스트 열거&lt;/li&gt;
&lt;li&gt;인증이 없거나 오픈 릴레이가 활성화 되어 있을 경우, 스팸메일 발송을 위한 경유지로 활용&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;위와 같은 위험 요소가 존재하지만 그 중에서도 &lt;strong&gt;외부자가 내부 사용자에게 메일을 전송할 수 있는가?&lt;/strong&gt; 를 확인하는게 가장 중요하다고 생각합니다.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;기본 점검 방법&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;접근 가능한 SMTP 서버를 확인했다면 EHLO 명령어를 통해 서버에서 지원하는 명령어를 확인해야 합니다.&lt;/p&gt;</description></item><item><title>[CVE-2023-29827] ejs</title><link>https://fearis.blog/posts/28/</link><pubDate>Fri, 30 May 2025 01:13:44 +0900</pubDate><guid>https://fearis.blog/posts/28/</guid><description>&lt;h2 id="취약점-개요"&gt;&lt;strong&gt;취약점 개요&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;ejs 템플릿 엔진에서 발생하는 취약점으로, 입력 값 검증 로직이 누락되어 사용자가 템플릿 주입을 통해 RCE를 실행할 수 있다.&lt;/p&gt;
&lt;h2 id="영향"&gt;&lt;strong&gt;영향&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;SSTI, RCE&lt;/p&gt;
&lt;h2 id="취약-버전"&gt;&lt;strong&gt;취약 버전&lt;/strong&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;ejs v3.1.10 이전 버전(최신 릴리즈)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="환경-구성"&gt;&lt;strong&gt;환경 구성&lt;/strong&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;express v4.21.2&lt;/li&gt;
&lt;li&gt;ejs v3.1.9&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="취약점-분석"&gt;&lt;strong&gt;취약점 분석&lt;/strong&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;app.js 파일을 살펴보면, express의 ejs 템플릿 엔진을 사용하여 page.ejs를 렌더링하고, GET 메서드로 전송된 값을 &lt;strong&gt;req.query&lt;/strong&gt; 매개변수를 통해, ejs 템플릿에 넘겨주고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="app.js" loading="lazy" src="https://fearis.blog/images/28/1.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="page.ejs" loading="lazy" src="https://fearis.blog/images/28/2.png"&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ejs.js를 확인해보면 442번째 줄에서 렌더링된 값을 저장하고 있으며, 457번째 줄에서 req.query 매개변수로 넘겨받은 값을 data에 저장하고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="ejs.js" loading="lazy" src="https://fearis.blog/images/28/3.png"&gt;&lt;/p&gt;</description></item><item><title>[LINE CTF 2024]jalyboy-jalygirl</title><link>https://fearis.blog/posts/27/</link><pubDate>Wed, 19 Feb 2025 22:22:29 +0900</pubDate><guid>https://fearis.blog/posts/27/</guid><description>&lt;h2 id="문제"&gt;문제&lt;/h2&gt;
&lt;p&gt;jalyboy-baby와 비슷하지만 “Do you like Java?” 이 내용이 힌트였음&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" src="https://fearis.blog/images/27/1.png"&gt;&lt;/p&gt;
&lt;h2 id="풀이"&gt;풀이&lt;/h2&gt;
&lt;p&gt;코드를 분석해보니 jalyboy-baby와 동일하나 알고리즘이 ES256으로 변경되고. 시그니처 검증 로직이 추가됨&lt;/p&gt;
&lt;p&gt;구글링 하던 중 Java 취약점 중 하나인 CVE-2022-21449 취약점을 발견함&lt;/p&gt;
&lt;p&gt;내용으로는 ES256이 사용하는 타원곡선기반 서명을 변조 가능한 취약점이였음&lt;/p&gt;
&lt;p&gt;&lt;img alt="소스 코드 분석" loading="lazy" src="https://fearis.blog/images/27/2.png"&gt;&lt;/p&gt;
&lt;p&gt;사진에 보이는 것처럼 CVE-2022-21449 취약점은 시그니처에 MAYCAQACAQA=를 넣었더니 토큰이 검증됨&lt;/p&gt;
&lt;p&gt;자세한 내용은 까먹었음 ㅎ..ㅎ;;;&lt;/p&gt;
&lt;p&gt;&lt;img alt="CVE-2022-21449 POC" loading="lazy" src="https://fearis.blog/images/27/3.png"&gt;&lt;/p&gt;
&lt;p&gt;마찬가지로 시그니처 값을 동일하게 MAYCAQACAQA=로 삽입했더니 검증 로직이 통과됨&lt;/p&gt;
&lt;p&gt;아니 이게 진짜 되네??&lt;/p&gt;</description></item><item><title>[LINE CTF 2024]jalyboy-baby</title><link>https://fearis.blog/posts/26/</link><pubDate>Wed, 19 Feb 2025 21:48:12 +0900</pubDate><guid>https://fearis.blog/posts/26/</guid><description>&lt;h2 id="문제"&gt;문제&lt;/h2&gt;
&lt;p&gt;&lt;img loading="lazy" src="https://fearis.blog/images/26/1.png"&gt;&lt;/p&gt;
&lt;h2 id="풀이"&gt;풀이&lt;/h2&gt;
&lt;p&gt;페이지 접속 시 두 개의 버튼이 나오고, “login as guest’ 버튼을 클릭하면 JWT 토큰이 발급됨&lt;/p&gt;
&lt;p&gt;&lt;img alt="메인 페이지" loading="lazy" src="https://fearis.blog/images/26/2.png"&gt;&lt;/p&gt;
&lt;p&gt;소스 코드 분석 결과, 토큰의 시그니처 값은 확인할 수 없었음&lt;/p&gt;
&lt;p&gt;얻을 수 있는 정보는 HS256 알고리즘 사용, 시그니처 검증 로직이 존재하지 않으며, sub = ADMIN일 경우 flag 획득 가능&lt;/p&gt;
&lt;p&gt;&lt;img alt="소스 코드 분석" loading="lazy" src="https://fearis.blog/images/26/3.png"&gt;&lt;/p&gt;
&lt;p&gt;분석한 내용을 토대로, 토큰의 시그니처 값을 지워봄&lt;/p&gt;
&lt;p&gt;결과적으로 토큰 시그니처가 없어도 &amp;ldquo;Hi guest!&amp;rdquo; 문구 출력됨&lt;/p&gt;
&lt;p&gt;&lt;img alt="토큰 시그니처 삭제" loading="lazy" src="https://fearis.blog/images/26/4.png"&gt;&lt;/p&gt;</description></item><item><title>pwndbg 설치 및 명령어</title><link>https://fearis.blog/posts/25/</link><pubDate>Tue, 18 Feb 2025 23:15:54 +0900</pubDate><guid>https://fearis.blog/posts/25/</guid><description>&lt;p&gt;종종 사용하던 gdb peda가 오래되서 그런지 wsl ubuntu에서 동작하지 않았다.&lt;/p&gt;
&lt;p&gt;peda에 대한 대체제를 찾던 중 pwngdb를 발견하고 설치해봤더니 너무 편해서 설치 방법과 명령어를 기록해둔다.&lt;/p&gt;
&lt;h2 id="pwngdb-설치"&gt;&lt;strong&gt;pwngdb 설치&lt;/strong&gt;&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cd ~/
git clone https://github.com/scwuaptx/Pwngdb.git
cp ~/Pwngdb/.gdbinit ~/
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="pwngdb-명령어"&gt;&lt;strong&gt;pwngdb 명령어&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://haerinn.tistory.com/59#1.1.4.%20%EB%B8%8C%EB%A0%88%EC%9D%B4%ED%81%AC%20%ED%8F%AC%EC%9D%B8%ED%8A%B8" title="h4won님 블로그"&gt;https://haerinn.tistory.com/59#1.1.4.%20%EB%B8%8C%EB%A0%88%EC%9D%B4%ED%81%AC%20%ED%8F%AC%EC%9D%B8%ED%8A%B8&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; [[Pwnable] pwndbg 주요 사용법&lt;/p&gt;
&lt;p&gt;GDB GDB(GNU debugger)는 GNU 소프트웨어 시스템을 위한 표준 debugger이다. 실행 방법 gdb [프로그램명] 종료 방법 q (quit_ Ctrl + d 소스 보기 ( gdb 실행 시 소스 폴더에서 구동해야 가능함. ) l : main 함수를 기&lt;/p&gt;</description></item><item><title>[NiteCTF 2024]flight risk</title><link>https://fearis.blog/posts/24/</link><pubDate>Mon, 13 Jan 2025 23:36:39 +0900</pubDate><guid>https://fearis.blog/posts/24/</guid><description>&lt;h2 id="문제"&gt;문제&lt;/h2&gt;
&lt;p&gt;리버싱 문제로 유니티로 만든 게임 파일을 제공해주었고, 게임 내에서 비행기를 몰고 맵 끝까지 도달하면 플래그를 획득하는 방식&lt;/p&gt;
&lt;h2 id="풀이"&gt;풀이&lt;/h2&gt;
&lt;p&gt;문제 파일은 요렇게 생겼고 유니티 리버싱에 필요한 Assembly-CSharp.dll 파일은 제공되지 않았음&lt;/p&gt;
&lt;p&gt;&lt;img alt="문제 파일" loading="lazy" src="https://fearis.blog/images/24/1.png"&gt;&lt;/p&gt;
&lt;p&gt;피지컬에 자신이 있어서 맵 끝까지 가보려고 했지만, 일정 시간이 경과하면 유도 미사일이 비행기를 격추시켜 게임 파일 변조 없이 끝까지 가는건 불가능했다 ㅎ&amp;hellip;ㅎ;;&lt;/p&gt;
&lt;p&gt;&lt;img alt="게임 화면" loading="lazy" src="https://fearis.blog/images/24/2.png"&gt;&lt;/p&gt;
&lt;p&gt;유니티 리버싱은 처음이라 검색해보던 중 Il2CppDumper라는 툴을 이용하면 게임 오브젝트들을 제어하는데 이용되는 Assembly-CSharp.dll 파일을 추출가능하다는 정보를 얻었다.&lt;/p&gt;</description></item><item><title>[CVE-2024-4577] PHP-CGI</title><link>https://fearis.blog/posts/23/</link><pubDate>Wed, 03 Jul 2024 21:59:44 +0900</pubDate><guid>https://fearis.blog/posts/23/</guid><description>&lt;h2 id="개요"&gt;&lt;strong&gt;개요&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;CVE-2024-4577 취약점은 Windows에서 PHP-CGI를 사용할 때, Best-Fit 기능이 특정 로케일(일본어, 중국어[간체, 번체])에서 Soft Hypen(0xAD)을 Hypen(0x2D)로 변환한다. 만약 서버에서 PHP-CGI 모드가 실행되거나 PHP 실행 바이너리가 노출되었을 경우(기본 XAMPP 구성) 공격자는 이 취약점을 통해 원격 코드 실행(RCE)이 가능하다.&lt;/p&gt;
&lt;h2 id="등급"&gt;&lt;strong&gt;등급&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;9.8 (CRITICAL)&lt;/p&gt;
&lt;h2 id="취약-버전"&gt;&lt;strong&gt;취약 버전&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;PHP 8.3 &amp;lt; 8.3.8 &lt;/p&gt;
&lt;p&gt;PHP 8.2 &amp;lt; 8.2.20&lt;/p&gt;
&lt;p&gt;PHP 8.1 &amp;lt; 8.1.29&lt;/p&gt;
&lt;p&gt;PHP 5, 7, 8(지원 종료)&lt;/p&gt;
&lt;h2 id="환경-구성"&gt;&lt;strong&gt;환경 구성&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Windows 10 (일본어, 중국어[번체, 간체] 로케일)&lt;/p&gt;
&lt;p&gt;XAMPP 8.2.12 (PHP 8.2.12)&lt;/p&gt;</description></item><item><title>[CVE-2024-4367] pdf.js</title><link>https://fearis.blog/posts/22/</link><pubDate>Sun, 26 May 2024 14:09:17 +0900</pubDate><guid>https://fearis.blog/posts/22/</guid><description>&lt;h2 id="개요"&gt;&lt;strong&gt;개요&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;CVE-2024-4367 취약점은 널리 사용되고있는 PDF뷰어 중 하나인 pdf.js에서 발생하는 취약점이다. &lt;/p&gt;
&lt;p&gt;해당 취약점은 PDF의 글꼴을 표현하고 관리하는 &amp;ldquo;FontMatrix&amp;rdquo; 속성의 유형 검사가 누락되어 임의의 자바스크립트 실행(XSS)이 가능하다.&lt;/p&gt;
&lt;h2 id="등급"&gt;&lt;strong&gt;등급&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;N/A&lt;/p&gt;
&lt;h2 id="취약-버전"&gt;&lt;strong&gt;취약 버전&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;pdf.js 4.2.67 이전 버전&lt;/p&gt;
&lt;h2 id="환경-구성"&gt;&lt;strong&gt;환경 구성&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Tomcat 9.0.89&lt;/p&gt;
&lt;p&gt;pdf.js 4.1.392&lt;/p&gt;
&lt;h2 id="실습"&gt;&lt;strong&gt;실습&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;POC코드를 이용해 공격에 사용할 PDF 생성&lt;/p&gt;
&lt;p&gt;&lt;img alt="PDF 생성" loading="lazy" src="https://fearis.blog/images/22/1.png"&gt;&lt;/p&gt;
&lt;p&gt;사전에 만들어둔 도커 컨테이너로 Tomcat 실행&lt;/p&gt;
&lt;p&gt;&lt;img alt="docker-compose 실행" loading="lazy" src="https://fearis.blog/images/22/2.png"&gt;&lt;/p&gt;
&lt;p&gt;PDF 업로드 후 [Upload File] 시도&lt;/p&gt;
&lt;p&gt;&lt;img alt="PDF 업로드" loading="lazy" src="https://fearis.blog/images/22/3.png"&gt;&lt;/p&gt;
&lt;p&gt;PDF 파일 업로드에 성공하면 PDF 파일이 저장된 로컬 주소로 접근하고 최종적으로 XSS가 실행된다.&lt;/p&gt;</description></item><item><title>케이쉴드주니어9기 우리 조 프로젝트 발표</title><link>https://fearis.blog/posts/21/</link><pubDate>Thu, 08 Dec 2022 07:02:02 +0900</pubDate><guid>https://fearis.blog/posts/21/</guid><description>&lt;p&gt;&lt;span class="youtube-embed"&gt;&lt;iframe src="https://www.youtube-nocookie.com/embed/bhcadzIkX_s" title="https://youtu.be/bhcadzIkX_s" loading="lazy" allowfullscreen&gt;&lt;/iframe&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;ㅎㅎ 다들 너무 열심히 참여해주시고 의견 교환도 활발해서 넘 좋았씁니다!! 굿굿&lt;/p&gt;</description></item><item><title>[Digital Overdose 2022 Autumn CTF] Arrow</title><link>https://fearis.blog/posts/20/</link><pubDate>Thu, 08 Dec 2022 06:43:27 +0900</pubDate><guid>https://fearis.blog/posts/20/</guid><description>&lt;h2 id="문제"&gt;문제&lt;/h2&gt;
&lt;p&gt;&lt;img loading="lazy" src="https://fearis.blog/images/20/1.png"&gt;&lt;/p&gt;
&lt;h2 id="풀이"&gt;풀이&lt;/h2&gt;
&lt;p&gt;&lt;img alt="첨부 파일" loading="lazy" src="https://fearis.blog/images/20/2.png"&gt;&lt;/p&gt;
&lt;p&gt;파일을 exiftool로 확인해본 결과 Certificate 부분에 문제를 풀라고 적혀있음&lt;/p&gt;
&lt;p&gt;&lt;img alt="함수는 (x-1)(x-3) 힌트를 보면 높은 값이 정답이라고 적혀있으니 3이 정답" loading="lazy" src="https://fearis.blog/images/20/3.png"&gt;&lt;/p&gt;
&lt;p&gt;이제 뒤에 적혀있는 문자열 sdvvrug : qrmlq를 풀어야 함&lt;/p&gt;
&lt;p&gt;&lt;img alt="쉬프트 값으로 3을 주고 시저 암호로 해독해보면 passord : nojin이라는 평문이 나옴" loading="lazy" src="https://fearis.blog/images/20/4.png"&gt;&lt;/p&gt;
&lt;p&gt;steghide 명령어로 passphase에 nojin을 입력하여 숨겨진 파일을 추출해야 함&lt;/p&gt;
&lt;p&gt;&lt;img alt="추출한 txt 파일" loading="lazy" src="https://fearis.blog/images/20/5.png"&gt;&lt;/p&gt;
&lt;p&gt;힌트에 포함된 닉네임+태그로 디코 친추를 보냄&lt;/p&gt;
&lt;p&gt;&lt;img alt="연결된 깃허브 링크를 통해 zip파일을 다운받음" loading="lazy" src="https://fearis.blog/images/20/6.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" src="https://fearis.blog/images/20/7.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="압축을 풀면 두개의 파일이 추출됨" loading="lazy" src="https://fearis.blog/images/20/8.png"&gt;
오디오 파일을 실행시켜보면 키패드 445599를 누를 때의 소리가 나옴&lt;/p&gt;</description></item><item><title>[Digital Overdose 2022 Autumn CTF] Zazu vs. Carl -3</title><link>https://fearis.blog/posts/19/</link><pubDate>Thu, 08 Dec 2022 06:27:35 +0900</pubDate><guid>https://fearis.blog/posts/19/</guid><description>&lt;h2 id="문제"&gt;문제&lt;/h2&gt;
&lt;p&gt;&lt;img alt="이번엔 Carl이 열차를 갈아타지 않았다고 가정했을 때 종착역의 이름을 묻는 문제" loading="lazy" src="https://fearis.blog/images/19/1.png"&gt;&lt;/p&gt;
&lt;h2 id="풀이"&gt;풀이&lt;/h2&gt;
&lt;p&gt;&lt;img alt="구글 지도에서 Montreux railway station 역을 검색해서 기차 탭으로 들어감" loading="lazy" src="https://fearis.blog/images/19/2.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="그리고 보통 종점역의 이름으로 기차를 운행하니까 알파벳 10개인 종점역을 찾다가 Zweisimmen 역을 발견함" loading="lazy" src="https://fearis.blog/images/19/3.png"&gt;&lt;/p&gt;
&lt;h2 id="flag"&gt;flag&lt;/h2&gt;
&lt;p&gt;DOCTF{zweisimmen}&lt;/p&gt;</description></item><item><title>[Digital Overdose 2022 Autumn CTF] Zazu vs. Carl -2</title><link>https://fearis.blog/posts/18/</link><pubDate>Thu, 08 Dec 2022 06:26:22 +0900</pubDate><guid>https://fearis.blog/posts/18/</guid><description>&lt;h2 id="문제"&gt;문제&lt;/h2&gt;
&lt;p&gt;&lt;img alt="기차가 다니는 선로 갯수를 찾는 문제" loading="lazy" src="https://fearis.blog/images/18/1.png"&gt;&lt;/p&gt;
&lt;h2 id="풀이"&gt;풀이&lt;/h2&gt;
&lt;p&gt;&lt;img alt="Montreux역의 플랫폼은 총 5개" loading="lazy" src="https://fearis.blog/images/18/2.png"&gt;&lt;/p&gt;
&lt;h2 id="풀이-1"&gt;풀이&lt;/h2&gt;
&lt;p&gt;DOCTF{5}&lt;/p&gt;</description></item><item><title>[Digital Overdose 2022 Autumn CTF] Zazu vs. Carl -1</title><link>https://fearis.blog/posts/17/</link><pubDate>Thu, 08 Dec 2022 06:24:29 +0900</pubDate><guid>https://fearis.blog/posts/17/</guid><description>&lt;h2 id="문제"&gt;문제&lt;/h2&gt;
&lt;p&gt;&lt;img alt="플래그 뒤에 xxxxx 갯수(8개)가 정답이랑 똑같음" loading="lazy" src="https://fearis.blog/images/17/1.png"&gt;&lt;/p&gt;
&lt;p&gt;플래그 포맷은 소문자로 8글자&lt;/p&gt;
&lt;h2 id="풀이"&gt;풀이&lt;/h2&gt;
&lt;p&gt;&lt;img alt="첨부된 사진을 보면 Château-d&amp;rsquo;Oex와 빌딩에 있는 MOB라는 알파벳이 보이고 이걸 토대로 구글링 함" loading="lazy" src="https://fearis.blog/images/17/2.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="맨 위에 있는 사이트로 접속" loading="lazy" src="https://fearis.blog/images/17/3.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="오른쪽 상단에 Getting Informed → Station을 클릭" loading="lazy" src="https://fearis.blog/images/17/4.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="사진을 짤렸지만 총 5개의 열차역이 나옴 그 중에서 8글자로 된 열차역을 찾아보면 Montreux역 밖에 없음" loading="lazy" src="https://fearis.blog/images/17/5.png"&gt;&lt;/p&gt;
&lt;h2 id="flag"&gt;flag&lt;/h2&gt;
&lt;p&gt;DOCTF{montreux}&lt;/p&gt;</description></item><item><title>[SECCON CTF 2022] skipinx</title><link>https://fearis.blog/posts/16/</link><pubDate>Thu, 08 Dec 2022 06:21:58 +0900</pubDate><guid>https://fearis.blog/posts/16/</guid><description>&lt;h2 id="문제"&gt;문제&lt;/h2&gt;
&lt;p&gt;&lt;img alt="NGINX를 스킵하고 사이트에 직접 접속하라는 문제" loading="lazy" src="https://fearis.blog/images/16/1.png"&gt;&lt;/p&gt;
&lt;h2 id="풀이"&gt;풀이&lt;/h2&gt;
&lt;p&gt;&lt;img alt="defalut.conf" loading="lazy" src="https://fearis.blog/images/16/2.png"&gt;&lt;/p&gt;
&lt;p&gt;첨부된 파일의 코드를 보면 사이트에 접속할 때 URL 쿼리에 &amp;amp;proxy=nginx문자열이 추가됨&lt;/p&gt;
&lt;p&gt;&lt;img alt="index.js" loading="lazy" src="https://fearis.blog/images/16/3.png"&gt;&lt;/p&gt;
&lt;p&gt;req.query.proxy.include(”nginx”)`가 False가 되면 Flag값을 얻을 수 있음 &lt;br&gt;
express는 qs를 default query parser로 사용함&lt;/p&gt;
&lt;p&gt;&lt;img alt="https://github.com/ljharb/qs/blob/v6.11.0/lib/parse.js#L8-L25" loading="lazy" src="https://fearis.blog/images/16/4.png"&gt;&lt;/p&gt;
&lt;p&gt;parameterLimit은 쿼리 매개변수의 최대 개수를 지정하며 기본값은 1000&lt;br&gt;
따라서, 쿼리 매개변수가 1000개가 넘는 요청을 보내면 proxy=nginx는 무시된다.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" src="https://fearis.blog/images/16/5.png"&gt;&lt;/p&gt;
&lt;h2 id="flag"&gt;flag&lt;/h2&gt;
&lt;p&gt;SECCON{sometimes_deFault_options_are_useful_to_bypa55}&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;확실히 SECCON이 메이저급 대회라고 느낀게 다른 CTF들보다 문제 수준이 월등히 높았음&lt;/p&gt;
&lt;p&gt;어렵긴 하지만 진짜 독창적인 문제가 많이 출제되는 것 같고 다른 참가자들의 write up을 보면서 감탄했음&lt;/p&gt;</description></item><item><title>[CTF After Dark - Fall 2022] Very Basic</title><link>https://fearis.blog/posts/15/</link><pubDate>Thu, 08 Dec 2022 06:10:21 +0900</pubDate><guid>https://fearis.blog/posts/15/</guid><description>&lt;h2 id="문제"&gt;문제&lt;/h2&gt;
&lt;p&gt;&lt;img loading="lazy" src="https://fearis.blog/images/15/1.png"&gt;&lt;/p&gt;
&lt;h2 id="풀이"&gt;풀이&lt;/h2&gt;
&lt;p&gt;&lt;img alt="첨부된 파일을 HxD로 열고나서 파일의 끝 부분을 보면 2진수로 된 암호가 있음" loading="lazy" src="https://fearis.blog/images/15/2.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="이걸 베이컨 암호로 디코드하면 PRETTYBASICAMIRITE라는 문자열이 나옴" loading="lazy" src="https://fearis.blog/images/15/3.png"&gt;&lt;/p&gt;
&lt;p&gt;플래그는 소문자로 작성하면 됨&lt;/p&gt;
&lt;h2 id="flag"&gt;flag&lt;/h2&gt;
&lt;p&gt;flag{prettybasicamirite}&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;개인적으로 암호를 잘 몰라서 풀다가 포기했던 문제&lt;/p&gt;
&lt;p&gt;파일의 끝 부분에 적혀있던 2진수로 된 암호를 발견했는데 어떤 암호인지 몰라서 찾아보다가 포기함&lt;/p&gt;
&lt;p&gt;write up을 찾아보다가 베이컨 암호라는걸 알게 되었음&lt;/p&gt;</description></item><item><title>[CTF After Dark - Fall 2022] No Flags??</title><link>https://fearis.blog/posts/14/</link><pubDate>Thu, 08 Dec 2022 06:06:39 +0900</pubDate><guid>https://fearis.blog/posts/14/</guid><description>&lt;h2 id="문제"&gt;문제&lt;/h2&gt;
&lt;p&gt;&lt;img loading="lazy" src="https://fearis.blog/images/14/1.png"&gt;&lt;/p&gt;
&lt;h2 id="풀이"&gt;풀이&lt;/h2&gt;
&lt;p&gt;&lt;img alt="링크를 따라 들어가면 구글 PDF 페이지가 나오고 PDF파일을 다운로드 받을수있음" loading="lazy" src="https://fearis.blog/images/14/2.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="다운받은 PDF 파일을 에디터로 열어서 파일의 마지막 부분을 보면 FLAG가 적혀있음" loading="lazy" src="https://fearis.blog/images/14/3.png"&gt;&lt;/p&gt;
&lt;h2 id="flag"&gt;flag&lt;/h2&gt;
&lt;p&gt;flag{no_compan1onship}&lt;/p&gt;</description></item><item><title>[CTF After Dark - Fall 2022] Day and Night</title><link>https://fearis.blog/posts/13/</link><pubDate>Thu, 08 Dec 2022 06:03:59 +0900</pubDate><guid>https://fearis.blog/posts/13/</guid><description>&lt;h2 id="문제"&gt;문제&lt;/h2&gt;
&lt;p&gt;&lt;img alt="첨부된 이미지 파일에서 스테가노그래피를 추출하는 문제" loading="lazy" src="https://fearis.blog/images/13/1.png"&gt;&lt;/p&gt;
&lt;h2 id="풀이"&gt;풀이&lt;/h2&gt;
&lt;p&gt;&lt;img alt="outguess를 통해 숨겨진 이미지를 추출함" loading="lazy" src="https://fearis.blog/images/13/2.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="추출한 이미지는 QR코드임" loading="lazy" src="https://fearis.blog/images/13/3.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" src="https://fearis.blog/images/13/4.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://zxing.org/w/decode.jspx"&gt;https://zxing.org/w/decode.jspx&lt;/a&gt; 에서 이미지를 디코딩 해보면 플래그가 적혀있음&lt;/p&gt;
&lt;h2 id="flag"&gt;flag&lt;/h2&gt;
&lt;p&gt;flag{pandas_zebras_and_orcas}&lt;/p&gt;</description></item><item><title>[CTF After Dark - Fall 2022] Beanstalking</title><link>https://fearis.blog/posts/12/</link><pubDate>Thu, 08 Dec 2022 06:00:06 +0900</pubDate><guid>https://fearis.blog/posts/12/</guid><description>&lt;h2 id="문제"&gt;문제&lt;/h2&gt;
&lt;p&gt;&lt;img alt="Rice University에 다녔던 Lima Bean라는 사람을 찾는 문제" loading="lazy" src="https://fearis.blog/images/12/1.png"&gt;&lt;/p&gt;
&lt;h2 id="풀이"&gt;풀이&lt;/h2&gt;
&lt;p&gt;&lt;img alt="구글 검색을 통해 Lima Bean의 LinkedIn 프로필을 찾음" loading="lazy" src="https://fearis.blog/images/12/2.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="프로필을 보려고 하면 삭제된 프로필이라고 나옴" loading="lazy" src="https://fearis.blog/images/12/3.png"&gt;&lt;/p&gt;
&lt;p&gt;문제 작성자에게 discord로 LinkedIn 프로필을 알려주면 플래그를 알려줌&lt;/p&gt;
&lt;h2 id="flag"&gt;flag&lt;/h2&gt;
&lt;p&gt;flag{fr0m_beans_t0_bricks}&lt;/p&gt;</description></item><item><title>[CTF After Dark - Fall 2022] When It All Began</title><link>https://fearis.blog/posts/11/</link><pubDate>Thu, 08 Dec 2022 05:55:23 +0900</pubDate><guid>https://fearis.blog/posts/11/</guid><description>&lt;h2 id="문제"&gt;문제&lt;/h2&gt;
&lt;p&gt;&lt;img alt="uclaacm.com의 최초 호스팅 주소 찾는 문제" loading="lazy" src="https://fearis.blog/images/11/1.png"&gt;&lt;/p&gt;
&lt;h2 id="풀이"&gt;풀이&lt;/h2&gt;
&lt;p&gt;&lt;img alt="IP history찾아주는 사이트에서 &lt;a href=\"http://uclaacm.com/\"&gt;uclaacm.com&lt;/a&gt; 검색" loading="lazy" src="https://fearis.blog/images/11/2.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="최초 호스팅된 IP 주소는 192.64.119.64" loading="lazy" src="https://fearis.blog/images/11/3.png"&gt;&lt;/p&gt;
&lt;h2 id="flag"&gt;flag&lt;/h2&gt;
&lt;p&gt;flag{192.64.119.64}&lt;/p&gt;</description></item><item><title>[Dreamhack CTF Season 2 Round #8] Robot Only</title><link>https://fearis.blog/posts/10/</link><pubDate>Mon, 05 Dec 2022 12:52:25 +0900</pubDate><guid>https://fearis.blog/posts/10/</guid><description>&lt;h2 id="문제"&gt;문제&lt;/h2&gt;
&lt;p&gt;&lt;img loading="lazy" src="https://fearis.blog/images/10/1.png"&gt;&lt;/p&gt;
&lt;h2 id="풀이"&gt;풀이&lt;/h2&gt;
&lt;p&gt;&lt;img alt="netcat을 이용해서 연결" loading="lazy" src="https://fearis.blog/images/10/2.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="소스 코드와 똑같이 연결되면 메뉴를 출력함" loading="lazy" src="https://fearis.blog/images/10/3.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="겜블을 하려면 로봇임을 인증해야 함" loading="lazy" src="https://fearis.blog/images/10/4.png"&gt;&lt;/p&gt;
&lt;h3 id="verify-youre-a-robot"&gt;&lt;strong&gt;verify you’re a robot&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;img alt="제한시간안에 빠르게 값을 입력하는것으로 로봇 인증을 우회할 수 있음" loading="lazy" src="https://fearis.blog/images/10/5.png"&gt;&lt;/p&gt;
&lt;h3 id="go-to-gamble"&gt;&lt;strong&gt;go to gamble&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;img alt="money[내가 가진 돈] 보다 bet가 많을 경우만 검증하고 money가 음수일 경우에는 아예 검증을 하지 않고 있음" loading="lazy" src="https://fearis.blog/images/10/6.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="money를 배팅하는 곳에 음수의 값을 적어주면 돈복사버그 성공" loading="lazy" src="https://fearis.blog/images/10/7.png"&gt;&lt;/p&gt;
&lt;h2 id="flag"&gt;flag&lt;/h2&gt;
&lt;p&gt;DH{0086b1776b2b2dac7aebb790ec005ecf2bcce345c52225f03bb177b47a357a40}&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;11월 한달동안 CTF 대회 참가해서 풀었던 write up 블로그에 옮겨야 하는데 넘 귀찮다 ㅠㅠ&lt;/p&gt;</description></item><item><title>SYN Flooding 실습</title><link>https://fearis.blog/posts/9/</link><pubDate>Thu, 10 Nov 2022 12:56:03 +0900</pubDate><guid>https://fearis.blog/posts/9/</guid><description>&lt;h2 id="개요"&gt;개요&lt;/h2&gt;
&lt;p&gt;&lt;img alt="SYN Flooding" loading="lazy" src="https://fearis.blog/images/9/1.png"&gt;&lt;/p&gt;
&lt;p&gt;SYN Flooding 공격은 대표적인 Flood 공격 중 하나로 다량의 SYN플래그를 서버로 빠른 시간 내에 반복적으로 전송하는 공격이다.&lt;/p&gt;
&lt;p&gt;SYN플래그를 보내면 서버가 SYN / ACK로 응답하고 ACK플래그를 기다리는 TCP의 3-Way-Handshake의 특성을 이용한다.&lt;/p&gt;
&lt;p&gt;서버는 SYN_RECV 세션 상태에서 ACK플래그를 기다리면서 결국 연결 허용 횟수(큐)가 가득 차게 되어 정상 연결이 들어오는 것을 무시하게 된다.&lt;/p&gt;
&lt;h2 id="환경"&gt;환경&lt;/h2&gt;
&lt;p&gt;Kali Linux[192.168.0.15]&lt;/p&gt;
&lt;p&gt;CentOS[192.168.0.18]&lt;/p&gt;
&lt;h2 id="실습"&gt;실습&lt;/h2&gt;
&lt;p&gt;&lt;img alt="hping3을 이용한 SYN Flooding 실습" loading="lazy" src="https://fearis.blog/images/9/2.png"&gt;&lt;/p&gt;
&lt;p&gt;Kali Linux에서 피해자 PC인 CentOS[192.168.0.18]로 SYN플래그를 전송한다.&lt;/p&gt;
&lt;p&gt;-S: SYN플래그 전송&lt;/p&gt;</description></item><item><title>Ubuntu 18.04 live 고정 IP 할당하는 법</title><link>https://fearis.blog/posts/8/</link><pubDate>Mon, 07 Nov 2022 13:56:32 +0900</pubDate><guid>https://fearis.blog/posts/8/</guid><description>&lt;p&gt;&lt;img alt="ip addr 명령어" loading="lazy" src="https://fearis.blog/images/8/1.png"&gt;&lt;/p&gt;
&lt;p&gt;현재 IP주소는 192.168.0.139&lt;/p&gt;
&lt;p&gt;이 IP주소를 192.168.0.140으로 변경하는 실습&lt;/p&gt;
&lt;p&gt;&lt;img alt=".yaml 파일 경로" loading="lazy" src="https://fearis.blog/images/8/2.png"&gt;&lt;/p&gt;
&lt;p&gt;Ubuntu 18버전부터 ip를 할당하기 위해서 netplan을 사용해야 한다.&lt;/p&gt;
&lt;p&gt;관리자 권한으로 로그인 한 후 에디터를 사용해 /etc/netplan 폴더에 존재하는 .yaml 파일을 수정해야 한다.&lt;/p&gt;
&lt;p&gt;/etc/netplan 폴더에서 탭(자동완성)키를 한번 눌러주면 파일이 알아서 지정된다.&lt;/p&gt;
&lt;p&gt;&lt;img alt=".yaml 파일" loading="lazy" src="https://fearis.blog/images/8/3.png"&gt;&lt;/p&gt;
&lt;p&gt;dhcp가 설정되어 있을텐데 우린 고정 IP를 할당해줄거니까 no 혹은 false로 dhcp를 꺼주자.&lt;/p&gt;
&lt;p&gt;&lt;img alt=".yaml 고정 IP 할당" loading="lazy" src="https://fearis.blog/images/8/4.png"&gt;&lt;/p&gt;
&lt;p&gt;addresses는 할당해줄 IP 주소&lt;/p&gt;
&lt;p&gt;gateway는 vmware를 쓴다면 뒷자리가 2로 고정&lt;/p&gt;</description></item><item><title>ARP Spoofing 실습</title><link>https://fearis.blog/posts/7/</link><pubDate>Tue, 01 Nov 2022 13:22:17 +0900</pubDate><guid>https://fearis.blog/posts/7/</guid><description>&lt;h2 id="개요"&gt;개요&lt;/h2&gt;
&lt;p&gt;ARP 스푸핑(ARP spoofing)은 근거리 통신망(LAN) 하에서 주소 결정 프로토콜(ARP) 메시지를 이용하여 상대방의 데이터 패킷을 중간에서 가로채는 중간자 공격 기법이다. 이 공격은 데이터 링크 상의 프로토콜인 ARP 프로토콜을 이용하기 때문에 근거리상의 통신에서만 사용할 수 있는 공격이다. 이 기법을 사용한 공격의 경우 특별한 이상 증상이 쉽게 나타나지 않기 때문에 사용자는 특별한 도구를 사용하지 않는 이상 쉽게 자신이 공격당하고 있다는 사실을 확인하기 힘들다.&lt;/p&gt;
&lt;h2 id="환경"&gt;환경&lt;/h2&gt;
&lt;p&gt;Kali Linux[192.168.0.15]&lt;/p&gt;
&lt;p&gt;CentOS[192.168.0.171]&lt;/p&gt;
&lt;h2 id="실습"&gt;실습 &lt;/h2&gt;
&lt;p&gt;&lt;img alt="칼리 리눅스 ARP 테이블" loading="lazy" src="https://fearis.blog/images/7/1.png"&gt;&lt;/p&gt;</description></item><item><title>정보처리기사 실기 요약[이기적]</title><link>https://fearis.blog/posts/6/</link><pubDate>Tue, 01 Nov 2022 12:46:11 +0900</pubDate><guid>https://fearis.blog/posts/6/</guid><description>&lt;p&gt;Notion으로 요약&lt;/p&gt;
&lt;p&gt;프로그래밍과 SQL파트는 제외&lt;/p&gt;
&lt;p&gt;&lt;a href="https://decorous-juice-47a.notion.site/672f3b8084c64c52a55dcc0b9d51d5fe"&gt;https://decorous-juice-47a.notion.site/672f3b8084c64c52a55dcc0b9d51d5fe&lt;/a&gt;&lt;/p&gt;</description></item><item><title>구글 브라우저 개발자 도구 사용</title><link>https://fearis.blog/posts/5/</link><pubDate>Wed, 10 Aug 2022 07:45:53 +0900</pubDate><guid>https://fearis.blog/posts/5/</guid><description>&lt;h2 id="개요"&gt;개요&lt;/h2&gt;
&lt;p&gt;구글 브라우저에 자체적으로 내장되어있는 개발자 도구를 사용하여 데이터를 삭제할 때 어떤 과정을 거쳐서 삭제가 이루어지는지 분석하고 실습한다.&lt;/p&gt;
&lt;h2 id="실습"&gt;실습&lt;/h2&gt;
&lt;p&gt;&lt;img alt="index.html" loading="lazy" src="https://fearis.blog/images/5/1.png"&gt;&lt;/p&gt;
&lt;p&gt;기본적인 CRUD기능만 있는 index.html파일이다.&lt;/p&gt;
&lt;p&gt;&lt;img alt="구글 개발자 도구" loading="lazy" src="https://fearis.blog/images/5/2.png"&gt;&lt;/p&gt;
&lt;p&gt;f12[개발자 도구]를 눌러 network탭으로 이동한다.&lt;/p&gt;
&lt;p&gt;&lt;img alt="12.txt 삭제" loading="lazy" src="https://fearis.blog/images/5/3.png"&gt;&lt;/p&gt;
&lt;p&gt;12 파일을 삭제하고 개발자 도구에서 network탭을 확인한다.&lt;/p&gt;
&lt;p&gt;&lt;img alt="헤더 분석" loading="lazy" src="https://fearis.blog/images/5/4.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="페이로드 확인" loading="lazy" src="https://fearis.blog/images/5/5.png"&gt;&lt;/p&gt;
&lt;p&gt;사진을 통해 delete_process.php에 POST 방식으로 id값 12를 전송하여 삭제 프로세스가 이루어진 것을 알 수 있다. &lt;/p&gt;
&lt;p&gt;&lt;img alt="URL을 통한 데이터 삭제 실습" loading="lazy" src="https://fearis.blog/images/5/6.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="실패" loading="lazy" src="https://fearis.blog/images/5/7.png"&gt;&lt;/p&gt;
&lt;p&gt;데이터가 삭제될 줄 알았지만 실패했다. 원인은 URL을 통한 파라미터 전달은 POST방식이 아닌 GET방식으로 이루어지기 때문이다. 크롬 웹스토어에 확장 프로그램을 사용해서 POST방식으로 파라미터를 전송하면 성공할 것 같다.&lt;/p&gt;</description></item><item><title>파일 업로드 취약점</title><link>https://fearis.blog/posts/4/</link><pubDate>Sun, 19 Jun 2022 07:03:28 +0900</pubDate><guid>https://fearis.blog/posts/4/</guid><description>&lt;h2 id="개요"&gt;개요&lt;/h2&gt;
&lt;p&gt;파일 업로드 취약점이란 게시판 등에서 스크립트 파일의 업로드에 대한 규제가 없을 경우 이를 악용한 해커에 의해 악성 스크립트 파일이 수행될 수 있는 보안 취약점이다.&lt;/p&gt;
&lt;p&gt;첨부파일 업로드를 허용하는 홈페이지 게시판에서 .asp, .php, .jsp 등의 확장자 이름의 스크립트 파일 업로드를 허용할 경우 해커가 악성 실행 프로그램을 업로드 한 후에 홈페이지 접속 방식으로 원격에서 서버 컴퓨터의 시스템 운영 명령어를 실행시킬 수 있다.&lt;/p&gt;
&lt;h2 id="실습-예제"&gt;실습 예제&lt;/h2&gt;
&lt;p&gt;webshell : &lt;a href="https://github.com/cermmik/C99-WebShell/blob/master/c99shell.php"&gt;https://github.com/cermmik/C99-WebShell/blob/master/c99shell.php&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="link-card" href="https://github.com/n3oism/examples/tree/master/track1/2.2" target="_blank" rel="noopener noreferrer"&gt;&lt;img class="link-card__icon" src="https://www.google.com/s2/favicons?domain=github.com&amp;sz=64" alt="" aria-hidden="true"&gt;&lt;span class="link-card__body"&gt;&lt;strong class="link-card__title"&gt;예제 파일 · GitHub - n3oism/examples: This is an example of learning.&lt;/strong&gt;&lt;span class="link-card__description"&gt;This is an example of learning. Contribute to n3oism/examples development by creating an account on GitHub.&lt;/span&gt;&lt;span class="link-card__site"&gt;github.com&lt;/span&gt;&lt;/span&gt;&lt;span class="link-card__arrow" aria-hidden="true"&gt;↗&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>[CVE-2021-4034] Pwnkit</title><link>https://fearis.blog/posts/3/</link><pubDate>Sun, 19 Jun 2022 04:26:04 +0900</pubDate><guid>https://fearis.blog/posts/3/</guid><description>&lt;h2 id="개요"&gt;개요&lt;/h2&gt;
&lt;p&gt;CVE-2021-4034(Pwnkit)취약점은 Polkit이라는 유닉스 운영 체제의 시스템 전반에서 인증 단계를 통제하기 위해 만들어진 SUID 루트 프로그램을 이용한 로컬 권한 상승 취약점입니다. &lt;/p&gt;
&lt;p&gt;Polkit은 모든 주요 리눅스 배포판에 설치되어 있으며 CVE-2021-4034 취약점은 Polkit의 pkexec 컴포넌트에 존재합니다.&lt;/p&gt;
&lt;p&gt;&lt;img alt="CVE-2021-4034 취약점의 CVSS Score는 7.8로 높은 등급에 속합니다." loading="lazy" src="https://fearis.blog/images/3/1.png"&gt;&lt;/p&gt;
&lt;h2 id="사전-조건"&gt;사전 조건&lt;/h2&gt;
&lt;p&gt;운영체제가 Ubuntu, Debian, Fedora, Cent OS 등 주요 배포판이고 22년 이전 버전이거나 Polkit 0.120 포함 이전 버전이어야 합니다.&lt;/p&gt;
&lt;h2 id="작동-방식"&gt;작동 방식&lt;/h2&gt;
&lt;p&gt;취약한 버전의 polkit을 사용하면 pkexec가 호출 매개변수 개수를 올바르게 처리하지 못하고 이로 인해 공격자의 권한을 상승시키고 인증 및 정책을 우회할 수 있습니다.&lt;/p&gt;</description></item><item><title>[ctf-d] 거래 조건 알고 있잖아요?</title><link>https://fearis.blog/posts/2/</link><pubDate>Wed, 18 May 2022 21:31:37 +0900</pubDate><guid>https://fearis.blog/posts/2/</guid><description>&lt;h2 id="문제"&gt;문제&lt;/h2&gt;
&lt;p&gt;&lt;img alt="120점짜리 문제입니다." loading="lazy" src="https://fearis.blog/images/2/1.png"&gt;&lt;/p&gt;
&lt;p&gt;키 포맷은 abctf{(key)} 형식으로 되어 있습니다.&lt;/p&gt;
&lt;p&gt;ezmonay.jpg 파일을 다운로드해봅시다.&lt;/p&gt;
&lt;p&gt;&lt;img alt="ezmonay.jpg" loading="lazy" src="https://fearis.blog/images/2/2.png"&gt;&lt;/p&gt;
&lt;p&gt;다운로드한 파일을 열어봤지만 아쉽게도 깨진 것 같습니다..&lt;/p&gt;
&lt;p&gt;&lt;img alt="HxD로 오픈" loading="lazy" src="https://fearis.blog/images/2/3.png"&gt;&lt;/p&gt;
&lt;p&gt;HxD로 열어봤지만 헤더 시그니처도 없고 별 다른 힌트도 없네요.&lt;/p&gt;
&lt;p&gt;파일이 열리는지 보기 위해 헤더 부분에. jpg 파일 헤더 시그니처를 삽입해봅시다.&lt;/p&gt;
&lt;p&gt;&lt;img alt="헤더 시그니처 추가" loading="lazy" src="https://fearis.blog/images/2/4.png"&gt;&lt;/p&gt;
&lt;p&gt;FF D8 FF E0 4byte를 삽입해봤습니다.&lt;/p&gt;
&lt;p&gt;&lt;img alt="실패" loading="lazy" src="https://fearis.blog/images/2/5.png"&gt;&lt;/p&gt;
&lt;p&gt;여전히 열리지 않습니다&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;img alt="헤더 시그니처 추가" loading="lazy" src="https://fearis.blog/images/2/6.png"&gt;&lt;/p&gt;
&lt;p&gt;이번엔 FF D8 2byte만 삽입해봤습니다.&lt;/p&gt;
&lt;p&gt;&lt;img alt="ezmonay.jpg" loading="lazy" src="https://fearis.blog/images/2/7.png"&gt;&lt;/p&gt;
&lt;p&gt;이번엔 파일이 열렸습니다! ㅎ__ㅎ&lt;/p&gt;
&lt;p&gt;키 포맷은 abctf{(key)}라고 했으니 이게 키값이겠네요.&lt;/p&gt;</description></item><item><title>[ctf-d] 우리의 스파이가 이 이미지파일을 찾았습니다.</title><link>https://fearis.blog/posts/1/</link><pubDate>Thu, 12 May 2022 17:36:35 +0900</pubDate><guid>https://fearis.blog/posts/1/</guid><description>&lt;h2 id="문제"&gt;문제&lt;/h2&gt;
&lt;p&gt;&lt;img alt="200점짜리 문제입니다" loading="lazy" src="https://fearis.blog/images/1/1.png"&gt;&lt;/p&gt;
&lt;p&gt;키 포맷은 9447{ABC} 형식이라고 나와있네요.&lt;/p&gt;
&lt;h2 id="풀이"&gt;풀이&lt;/h2&gt;
&lt;p&gt;우선 imaged.png 파일을 다운로드합니다.&lt;/p&gt;
&lt;p&gt;&lt;img alt="파일을 열었지만 단색 이미지만 보이길래 HxD로 열어봤습니다." loading="lazy" src="https://fearis.blog/images/1/2.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="imaged.png 시작 지점" loading="lazy" src="https://fearis.blog/images/1/3.png"&gt;&lt;/p&gt;
&lt;p&gt;PNG의 시그니처 헤더 89 50 4E 47.. 이 보이네요&lt;/p&gt;
&lt;p&gt;좀 더 내려가서 offset의 50 부분을 보시면 {Ste . .  . 뒤에 IDAT라는 문자열이 보입니다.&lt;/p&gt;
&lt;p&gt;키 포맷을 떠올려보면 9447{ABC} 라고 했었죠 IDAT 뒤의 4바이트 문자열 {Ste 이것이 키 포맷의 형식과 비슷합니다.&lt;/p&gt;
&lt;p&gt;IDAT가 힌트인 것 같으니 이것을 따라서 키를 찾아봅시다. &lt;/p&gt;</description></item></channel></rss>