전체 글 (354) 썸네일형 리스트형 TryHackMe : Cheese Review막혔던 중간에 WriteUp을 참고해 이렇게 푸는 거구나 했지만 돌이켜보니 과거에 배우고 학습했던 범위 안에서의 개념들만 있었다. 차근차근 방법을 탐구하다보면 혼자 힘으로도 풀었을 것 같은데 막힌 경우 이렇게 하는게 맞는건가라는 생각 때문에 시간낭비를 하지 않으려 다른 WriteUp을 보고 빨리 풀어버리려는 듯 싶다. 여전히 무차별 대입 공격을 할 때는 어떤 사전 파일을 골라야하는지 의문이 든다. 실행 속도는 느리며 하나하나 대입해보면서 맞는 파일을 찾을 때까지의 과정이 “제대로 된 방향인가”라는 의문을 품게한다. Easy 레벨로 분류된 Machine에서는 대부분 맞았던 경우가 많지만 단순문제 풀이용 공략에서는 어떤 파일을 선택하면 좋을지에 대한 궁금함이 남는다. xxd를 이용한 root 권한.. TryHackMe : gallery Review문제에서 요구하는 답변 하나하나를 쫒아가다보면 풀 수 있는 문제였다. 중간중간 머리로는 아는데 잘 풀리지 않는 부분이 있었다. URL 검색창에 복붙한 reverse shell payload 입력이 안 먹힌다던가 interactive한 shell을 얻어내는 과정들이 그것이었다. 이런 부분들은 삽질의 시간을 통해 푼 것도 있고 WriteUp을 참고해 푼것도 있다. 어떤 시스템의 침투에 성공했을 때 살펴봐야하는 대상이 무엇인지 되짚어볼 수 있었다는 점에서 기본적인 부분에 대해 돌아볼 수 있었던 Challenge다.TL; DR;확인된 CMS의 취약점을 searchsploit에 검색해 Exploit을 찾은 뒤 WebShell을 통해 Reverse Shell 연결에 성공할 수 있다. 나아가 CMS 디렉토.. TryHackMe : Dreaming Review레벨이 Easy로 분류되어 있어서 그런지 공부했던 지식 범위 안에서 사고하면서 풀 수 있었던 문제다. 서버의 Shell을 얻는 과정이 그렇게 어렵진 않았지만 적정한 도구와 Password Dictionary를 고르는건 아직 감이 안 잡힌다. 서버 Shell의 얻고 나서 각 사용자마다의 flag를 얻는 과정이 기초적인 접근 권한을 잘 살펴보는 것으로 풀린다는 것이 인상깊다. Enumeration을 한 뒤 해당 Enumeration의 어느 부분을 살펴볼지에 대한 것도 아직 어렵지만 차근차근 보다보면 특이한 점을 캐치해낼 수 있는 것을 방향으로 삼아 lucien, death, morpheus를 어떤 식으로 공략해야할지 힌트를 찾아내는 것도 흥미롭다. 중간에 생각나지 않은 테크닉들은 생각조차 떠올릴 .. Cookie에 검색 조건을 설정하는 사이트도 있더라 지난 개발 경험에 대한 소고 차원에서, 당시 재직 중이던 회사에서 있었던 일을 기록해보고자 한다.22년 11월 즈음, 회사 경영진에서는 Arbitrage 전략을 이용해 실제로 수익을 낼 수 있는지 검증하기 위한 시뮬레이션 환경을 구축하고 있었다. 지금도 다소 생소한 Arbitrage 전략은, 그 당시 이해한 바로는 서로 다른 세 개의 통화 간 가치 변동을 추적하여 한 통화의 가치가 하락하면 다른 통화의 가치는 상승할 것이라는 전제로 하여 특정 시장을 매개로 삼아 차익을 얻는 방식이었다. 해당 전략의 구현은 당시 사수님이 전담하고 계셨다. Arbitrage 전략을 기반으로 한 개발이 진행 중이라는 사실은, 어느 정도 구현이 진행된 이후에야 공유받을 수 있었다. 시뮬레이션에 필요한 데이터는 외화를 기준으로 .. 크롤링 대상의 사이트가 변경되면 어떻게 대처하면 좋을까 ? 개요 나름 여러 종류의 크롤러를 만들어왔다. 지금까지 만들어 본 크롤링 경험은 다음과 같다.육군 전자 인터넷 편지 사이트의 취약점을 활용한 크롤링지금은 패치되었는지 모르겠지만, 당시엔 육군 전자 인터넷 편지에 IDOR 취약점이 있었다. 해당 사이트는 비밀번호가 걸려 있었지만, 요청 정보를 잘 조합해 URL에 직접 접근하면 비밀번호 없이도 인터넷 편지를 열어볼 수 있었다.SmileEdu라는 익명 기반 질문 사이트 크롤링대학생일 시절에 익명 기반 질문 사이트를 통해 질문을 받던 강의가 있었다. 익명 기반이라 누가 어떤 질문을 했는지 알 수 없었는데, 질문 내용으로 추가 점수를 준다는 교수님의 말에 “누가 어떤 질문을 했는지 알아낼 수 있을까?” 싶어 만들었던 크롤러다.Naver Band의 이미지 크롤링 및 .. [품앗이] FastAPI에 적용했던 두 가지 포인트 FastAPI에서 Controller를 Class로 만들어버리기FastAPI는 CBV(Class-Based View)를 공식적으로 제공하지 않는다. 따라서 기본적으로 함수 기반으로 Controller를 작성하게 되며, 이 과정에서 “관련된 요청들을 어떤 기준으로 묶어야 할까?”라는 고민을 하게 된다. FastAPI-Utils 라이브러리를 활용하면 CBV 구성은 가능하다. 하지만 단순히 CBV를 위해 여러 기능이 포함된 외부 라이브러리를 도입하는 것이 적절한지 의문이 들었다. 그래서 라이브러리 없이 해결할 수 있는 방법을 탐색했다.그 결과, Controller 함수에 @staticmethod 데코레이터를 적용하면 Class로 묶을 수 있다는 점을 확인했다. 예시는 다음과 같다.class AccountMen.. Spring Boot에서 HTTP Request & Response Logging 하기 개요기 작성된 코드를 보다가 Interceptor 부분에서 getInputStream()을 통해 데이터를 읽어들인 코드를 발견했다. Interceptor에서 Request를 읽어들여 Map 객체에 저장한뒤 Controller에서 이를 꺼내서 사용하는 방식인 셈이다. 이 방식은 Request Context가 Map 객체에 들어있기 때문에 키를 유추할 수 없을 뿐더러 접근성이 떨어진다고 판단하여 Dto를 활용한 리팩터링 방식을 적용하려 시도했다. 그러나 문제가 있었다. Interceptor에서 한번 getInputStream()을 통해서 읽어들인 데이터는 다시 사용할 수 없는 현상이었다. 쉽게 말하면 Interceptor에서 읽었으니 Controller에서는 Dto에 Request 데이터 매핑이 일어나지 않.. [품앗이] FastAPI 아키텍처 어떻게 가져갈 것인가? 2025.11.03 - [개발 노트/Experience] - 사이드 프로젝트를 정리하며 사이드 프로젝트를 정리하며개요올해 2월 1일부터 11월 1일까지 사이드 프로젝트를 진행했다. 본업에서 할 수 있는 시도에는 여러 제약이 있었고, 그 한계를 본업 밖에서 풀어보고자 하는 목적이 있었다. 본업에서는 쉽게 경jakpentest.tistory.com FastAPI로 품앗이를 만들면서 시도했던 부분 중 하나는, 파이썬에서도 객체 기반으로 코드를 잘게 나눠보자는 시도였다. 개인적인 생각이지만, 파이썬의 특성이 빠른 생산성과 결과 중심에 맞춰져 있어서인지, 구글링을 해보면 대부분 함수 형태 중심의 코드가 작성된 것을 볼 수 있었다. “왜 그럴까?”라는 의문이 생겼고, 그 시작에는 Spring MVC와의 비교가 있었.. 이전 1 2 3 4 ··· 45 다음