전체 글 33

[Normaltic 웹해킹 입문] 12주차 CSRF-Get Admin 3

🕵️ CSRF-Get Admin 3 문제 풀이CSRF-Get Admin 3을 풀어보자. 흐름상 이번에는 CSRF토큰이 나올 것 같다.마이페이지에 들어가니 역시나 hidden으로 csrf_token을 던져주고 있다. 관리자의 token을 XSS를 이용하여 탈취하고, 그 정보를 포함하여 CSRF공격을 하면 될 것 같다. 개념까지는 괜찮은데 실제 payload를 만드는 것은 쉽지 않을 것 같다.XSS가 되는 페이지 안에 크게 이런식으로 가면 될 것 같다.Token을 탈취하는 XSS 공격을 통해 token을 탈취한다.(이때 탈취용 iframe이 필요함)Form을 전송하고 response를 받을 stealth iframe을 만든다.Form과 attack()함수를 정의하고 submit하여 CSRF공격을 한다.먼저..

해킹스터디 2026.01.06

[Normaltic 웹해킹 입문] 12주차 CSRF-Get Admin 2

🕵️ CSRF-Get Admin 2 문제 풀이: POST 방식의 요청 위조와 스텔스 기법CSRF-Get Admin 2번 문제다. 1번과 유사한 내용이지만, 이번에는 공격 방식에서 한 단계 더 나아간 고민이 필요했다. 이번에도 fsi5 계정을 생성하여 fsi5_admin의 비밀번호를 탈취하는 시나리오로 진행했다.1. 문제 분석: GET이 안 된다면?우선 비밀번호 변경 request 패킷을 분석해 보니, 지난번과는 다르게 POST 방식으로 데이터를 전달하고 있었다. 혹시나 하는 마음에 GET으로 방식을 바꿔서 보내봤지만, 서버에서 에러를 뱉으며 받아주지 않았다. 💡 여기서 얻은 결론서버가 POST 방식만 수용한다는 것은 공격을 위해 폼(Form) 태그 전송이 반드시 필요하다는 뜻이고, 이는 곧 XSS 공..

해킹스터디 2026.01.06

[Normaltic 웹해킹 입문] 12주차 CSRF-Get Admin 1

🕵️ CSRF-Get Admin 1 문제 풀이: iframe을 이용한 스텔스 비밀번호 탈취이번 문제는 CSRF의 기초이자 핵심인 '요청 위조'를 실습하는 문제다. 단순히 요청을 보내는 것을 넘어, 관리자의 눈(혹은 시스템의 감시)을 피해 어떻게 은밀하게 공격을 성공시키느냐가 관건이었다.1. 공격 시나리오 분석내가 fsi4라는 계정을 만들면 fsi4_admin이라는 관리자 계정이 페어로 생성된다. 이 관리자 계정의 비밀번호를 내가 원하는 값으로 변경한 뒤 로그인하면 플래그를 얻을 수 있는 구조다.2. 1차 시도와 실패: "들켰단다"먼저 내 계정에서 비밀번호를 변경할 때 발생하는 패킷을 분석했다. 확인 결과, GET 방식으로 파라미터가 날아가는 것을 확인했다.따라서 이 URL을 그대로 관리자 봇에게 던지면..

해킹스터디 2026.01.05

[Normaltic 웹해킹 입문] 12주차 CSRF-내용정리

🔐 CSRF(Cross-Site Request Forgery) 개념 완벽 정리오늘은 노말틱 선생님이 '정확히 아는 사람이 의외로 적다'며 강조하셨던 CSRF에 대해 정리해보고자 한다. XSS와 비슷해 보이지만 목적과 방식이 완전히 다른 이 공격의 정체를 파헤쳐보자.1. CSRF란 무엇인가?CSRF(사이트 간 요청 위조)는 한마디로 "피해자가 자신의 의지와 상관없이 공격자가 원하는 요청을 서버에 보내게 만드는 것"이다.핵심 목적: 피해자의 권한(세션/쿠키)을 이용해 비밀번호 변경, 게시글 작성, 송금 등의 '동작'을 수행하게 함.XSS와의 차이점:구분XSS (Cross-Site Scripting)CSRF (Cross-Site Request Forgery)실행 위치피해자의 브라우저 (스크립트 실행)웹 서버..

해킹스터디 2026.01.05

[Normaltic 웹해킹 입문] 10주차 문제풀이 Steal info 2.

🕵️ Steal Info 2 문제 풀이: 서로 다른 페이지의 정보 강제 탈취이어서 Steal info 2를 풀어보자. 12.31 수업도 결국 또 술자리 때문에 라이브로 못 들었다..(주말에 들어야 함) 이러나 저러나 드디어 진도를 거의 다 따라잡았다..! 반복해서 풀고 정리하니까 머리에 어느 정도 익숙해지고 있다!! (SQLi 다 까먹었는데 다행히 센세가 복습시켜주신다고 한다)1. 문제 분석 및 통찰문제 풀어보자. 형식은 Steal info 1과 동일하다. 차이는 이번에는 admin 계정의 마이페이지 정보란에 flag가 있다고 한다.그럼 아까 풀었던 Basic Script Prac이랑 거의 비슷한 거 아닌가? 어디가 다르지? 고민하다 보니 가장 큰 차이는 Basic Script Prac에서는 XSS가 ..

해킹스터디 2026.01.02

[Normaltic 웹해킹 입문] 10주차 문제풀이 Steal info 1.

🕵️ Steal Info 1 문제 풀이: iframe과 비동기 처리를 이용한 정보 탈취Steal info 1번 문제를 풀어보자. 우선 XSS 공격 포인트부터 찾아야 한다. 지금까지 열심히 찾았으니 더 이상의 찾는 법은 생략하고, 본문에 스크립트를 쓰면 바로 실행되는 구조임을 확인했다.1. 공격 전략: 관리자 전용 페이지 노리기문제의 의도가 똑같은 형식의 페이지를 일반 사용자용과 관리자용으로 나눠놓은 것이므로, 똑같은 페이지에서 중요 정보를 탈취하는 URL을 만들어 관리자 봇에게 던지면 될 것 같다.2. iframe을 이용한 데이터 접근이 페이지를 XSS가 가능한 곳에 불러와서 데이터를 서버로 보내도록 해야 하는데, 이때 iframe이 필요하다.내용을 설명하자면 iframe은 게시판 내에 새로운 HTML..

해킹스터디 2026.01.02

[Normaltic 웹해킹 입문] 10주차 문제풀이 Basic script Prac

🕵️ Basic Script Prac 문제 풀이: DOM-based XSS와 브라우저 렌더링의 이해이번 문제는 'Basic Script Prac'이라는 이름답게, 특정 페이지 내에서 자바스크립트가 실행되는 구조를 파악하고 이를 이용해 데이터를 탈취하는 전형적인 DOM-based XSS 실습이었다. 문제에서 포인트가 어디인지 미리 알려주었기에, 원리를 파악하는 데 집중해 보았다.1. 취약점 지점 확인: 마이페이지의 Input 태그알려준 대로 마이페이지(MYPAGE)의 XSS URL을 확인해 보니, input 태그 내에서 내가 입력한 파라미터가 반환되는 것을 볼 수 있었다.이곳은 input 태그의 속성값으로 데이터가 들어가기 때문에, 굳이 나 > 같은 꺽쇠가 없어도 싱글 쿼터(')나 더블 쿼터(")만으로 ..

해킹스터디 2026.01.02

[Normaltic 웹해킹 입문] 9주차 문제풀이 XSS-Challenge

🕵️ XSS-Challenge 문제 풀이: 브라우저를 속이는 DOM-based XSS드디어 'XSS'라는 타이틀이 붙은 마지막 문제에 도달했다. 이번 문제는 지금까지 풀었던 문제들과는 결이 조금 달랐다. 서버가 내 입력값을 HTML에 직접 박아넣는 게 아니라, 브라우저가 스스로 내 코드를 실행하게 만드는 방식이었기 때문이다.1. 삽질의 시작: "Response에 내 값이 없다?"검색창에 특정 키워드를 입력하면 화면 하단에 'ㅇㅇㅇ'에 대한 검색 결과가 없습니다.라는 메시지가 뜬다. 당연히 서버 응답(Response)에 이 텍스트가 있을 줄 알고 Burp Suite로 확인해봤는데, 아무리 찾아도 내가 입력한 값이 보이질 않았다."분명 화면엔 나오는데 왜 패킷엔 없지?" 귀신이 곡할 노릇이었다. 하지만 정..

해킹스터디 2026.01.02

[Normaltic 웹해킹 입문] 9주차 문제풀이 XSS-6

🕵️ XSS-6 문제 풀이: 리다이렉트 간섭 우회와 비동기 전송 기법드디어 XSS 시리즈의 마지막 6번 문제다. 이번 문제는 로그인 페이지라는 아주 기초적인 지점에서 취약점을 찾았지만, 브라우저의 실행 우선순위와 전송 프로토콜의 특성을 제대로 이해해야 풀 수 있는 고난도 문제였다.1. 로그인 페이지의 허점 발견게시판을 다 뒤져도 실마리가 안 보여서 결국 처음으로 돌아와 로그인 페이지를 파헤쳤다. 존재하지 않는 ID로 로그인을 시도할 때 뜨는 경고창 문구가 내의 alert() 함수에 그대로 삽입되는 것을 확인했다.코드 구조는 alert('[ 입력값 ] 등록되지 않은 사용자입니다.') 였고, ')를 사용해 문법을 닫고 내 코드를 주입하는 전략을 세웠다. Burp에서 직접 날려야 하기에 URL 인코딩까지 ..

해킹스터디 2025.12.31

[Normaltic 웹해킹 입문] 9주차 문제풀이 XSS-5

🕵️ XSS-5 문제 풀이: 응답 변조(Response Intercept)를 통한 보안 스크립트 무력화XSS 시리즈의 대미를 장식할 5번 문제다. 이번 문제는 지금까지와는 차원이 달랐다. 단순히 문법을 맞추는 게 아니라, 브라우저가 나를 감시하려고 심어놓은 '보안 스크립트' 자체를 없애버려야 했기 때문이다. 역대급으로 어려웠던 만큼 해결했을 때의 쾌감도 컸다.1. 탐색 단계: 공격 포인트 발견평소처럼 여러 곳을 찔러보다가, 게시글을 '수정'하는 과정에서 발생하는 트래픽을 유심히 살펴봤다. 그러다 드디어 input 태그의 value 속성 안에서 내가 입력한 값이 그대로 반환되는 지점을 찾아냈다.value="내가_넣은_값" 형태이므로, 따옴표(")로 속성을 닫고 이벤트 핸들러를 주입하면 될 것 같았다. 바..

해킹스터디 2025.12.31