ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • DreamHack 2단계 csrf-1
    DreamHack 2021. 8. 3. 16:48

    DreamHack 2단계 csrf-1 문제를 풀어보겠다.

     

    CSRF 문제
    문제 파일

     

    문제 파일

     

    접속 화면

    접속을 하면 네 페이지가 나오는데,

    vuln(csrf) page 화면

    vuln 함수에서 script 문이 * 로 필터링 된다는 것을 볼 수 있다.

     

    memo 화면

    memo 함수는 flag 에 입력한 값이 성공시 출력되는  페이지이다.

    왜냐하면, memo 함수에서 이미 hello 라는 문자열이 있기 때문에 쿠기 값이 존재한다고 생각할 수 있다.

     

    notice flag 화면

    notice flag 함수는 admin 계정 권한에 속한다는 것을 알 수 있다.

     

    flag 화면

    flag 함수는 스크리브 언어를 기입하여, 공격하는 페이지이다.

     

    이렇게, 각각의 페이지를 확인할 수 있다.

     

     

    read_url 화면

    read_url 함수를 보면 이 함수에서 쿠키가 생성되고, domain 이 127.0.0.1:8000 이다.

    우리가 제공받은 주소와 포트도 다르기 때문에 쿠키 값에는 저장되어 있지 않다.

     

    따라서 127.0.0.1:8000 에서 확인을 해야한다.

     

    check_csrf 함수 화면

    check_csrf 함수를 보면 입력한 URL 을 참조하는 것을 알 수 있다.

     

    /admin/notice_flag 함수 화면

    memo 에 flag 를 작성하는 기능인 것을 알 수 있다.

    /admin/notice_flag 함수를 보면, 127.0.0.1 로 접속하지 않으면 Access Denied 이고, userid 가 admin 이 아니면 Access Denied 2 메시지가 출력된다는 것을 볼 수 있다.

     

     

    그리고 memo 에 flag 값이 출력되는 것은 global  변수 memo_text 로 된다는 것을 알 수 있다.

     

    flag 페이지에서 img src 문 입력 화면

    flag 화면에서 입력란에,

    <img src="/admin/notice_flag?userid=admin">

    라고 입력하면 FLAG 값을 얻을 수 있다.

     

    img src 문 입력 후, memo 페이지로 이동한 화면

    이렇게 FLAG 가 출력된다.

    'DreamHack' 카테고리의 다른 글

    DreamHack 2단계 php-1  (0) 2021.08.07
    DreamHack 2단계 image-storage  (0) 2021.08.06
    DreamHack 1단계 basic_exploitation_003  (0) 2021.07.30
    DreamHack 1단계 basic_exploitation_002  (0) 2021.07.15
    DreamHack 1단계 basic_exploitation_001  (0) 2021.07.14

    댓글

Designed by Tistory.