Write up (Wargame)/Web Hacking

[Web Hacking] A0V3R Wargame Write up - Hand of Plus

2019. 8. 11. 15:34
목차
  1. Scripts
  2. Extract 함수
  3. 문제풀이
반응형

안녕하세요, 아오바 스터디 숙제로 웹해킹 문제의 롸업(Write up)을 쓰게 되었습니다.

 

이번에 풀이할 문제는 Hand of Plus 입니다. 게시물의 내용은 정준영(Joon)님이 수업해주신 내용 거의 그대로입니다.

 

https://wargame.aover.team/challenges 이 링크에는 아오바 워게임 문제들이 있습니다. 문제를 참고하시기 바랍니다.

Scripts


1
2
3
4
5
6
7
<?php
    extract($_SERVER);
    extract($_COOKIE);
    if($HTTP_ACCEPT_ENCODING == "I" && $HTTP_USER_AGENT == "need" && $HELLO == "a" && $WORLD == "flag"){
        echo "<script>alert('[Suzukaze aoba says]\\nWow! I finally my graphics card mined the beatcoin!\\nHere\'s a little prize!\\n[FLAG HERE]');</script>"; 
    }
?>
Colored by Color Scripter
cs

 

문제에 들어가면 위와 같은 코드가 적혀있습니다. 이 문제는 PHP의 기본 함수인 extract()에서 발생하는 취약점을 이용하는 것입니다.

 

 

Extract 함수


extract($var) 을 예시로 들면, 변수 $var의 array에 존재하는 모든 값을 새로운 변수로 선언하는 내장함수입니다.

 

이 취약점은 잘 일어나지 않지만 취약한 곳이 많으며, 서버가 받는 클라이언트에 대한 정보를 변조할 수 있다는 취약점이 있습니다.

 

이 취약점을 방어하는 방법으로는

- 변수를 선언하기 전에 extract 함수 사용하기

- extract 이후에 다시 변수 덮어쓰기

- EXTR_SKIP이 옵션으로 사용되도록 하기

 

가 있습니다.

 

문제풀이


문제를 푸는 방법은 두 가지가 있습니다. 하나는 피들러를 이용하는 방법, 하나는 쿠키를 변조하는(?) 방법입니다.

 

사실, 수업 피들러 사용을 잘 모르는 터라... 쿠키에 대해서만 하겠습니다.

 

먼저, 쿠키를 편집하기 위해서 크롬 확장 프로그램인 EditThisCookie를 설치하였습니다.

 

https://chrome.google.com/webstore/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg?hl=ko

 

EditThisCookie

EditThisCookie는 쿠키 관리자입니다. 이것을 이용하여 쿠키를 추가하고, 삭제하고, 편집하고, 찾고, 보호하거나 막을 수 있습니다!

chrome.google.com

위 링크에서 EditThisCookie를 설치한 후,

 

다시 Hand of Plus 사이트에 접속합니다.

접속 후, EditThisCookie를 열면 이런 화면이 나옵니다.

다시 코드에 주목하다보면 변수 HTTP_ACCEPT_ENCODING의 값은 I 이고, HTTP_USER_AGENT의 값은 need, HELLO의 값은 a, WORLD의 값은 flag 이면 if문의 조건을 충족시킵니다.

 

따라서, 위 EditThisCookie에서 새 쿠키 만들기를 선택하고 아래 사진과 같이 추가해 나갑니다.

이런 식으로 하여금, if문을 충족시키면 flag를 얻을 수 있습니다.

 

갑사합니다.

 

 

반응형
  1. Scripts
  2. Extract 함수
  3. 문제풀이
'Write up (Wargame)/Web Hacking' 카테고리의 다른 글
  • [Web Hacking] HackCTF Write up - 보물
  • [Web Hacking] HackCTF Write up - Button
  • [Web Hacking] HackCTF Write up - /
  • [Web Hacking] A0V3R Wargame Write up - The great escape
그믐​
그믐​
그믐​
neutrinox4b1
그믐​
전체
오늘
어제
  • 분류 전체보기 (288)
    • Write up (Wargame) (121)
      • Pwnable (60)
      • Reversing (0)
      • Web Hacking (8)
      • Forensic (1)
      • Cryptography (6)
      • LOB (10)
      • misc (0)
      • SF pwnable 기초 (10)
      • SF pwnable 심화 (1)
      • LOS (25)
    • Security (73)
      • 시스템 해킹(PWN, System) (21)
      • 리버싱(Reverse Engineering) (1)
      • 포렌식(Forensic) (3)
      • 암호학(Cryptography) (44)
      • 네트워크(Network) (1)
      • 임베디드(Emebedded) (0)
    • Develop & CS (38)
      • Algorithm & Data Structure (6)
      • Baekjoon (11)
      • C, C++ (8)
      • Python (2)
      • R (1)
      • etc (8)
    • 프로젝트(Project) (7)
      • 시간표&급식 파싱 (1)
      • 남방진동지수 (1)
      • 네트워크 해킹 (5)
    • Daily life (44)
      • My Book (10)
      • Book Review (1)
      • IT Review (1)
      • 일상 팁 (19)
      • 네트워크관리사 (2)
      • 근황 (11)
    • 수학&과학(Mathematics & Science.. (4)

인기 글

공지사항

  • Wargame, CTF별 검색 키워드 정리
hELLO · Designed By 정상우.
그믐​
[Web Hacking] A0V3R Wargame Write up - Hand of Plus
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.