본문 바로가기

전체 글

(99)
ctf study #7 ctf 웹 문제를 분석하거나 풀어보면서 공부하는 스터디 글입니다. 1. CTF 문제 2021 DiceCTF의 Web Utils를 분석했습니다. 라업은 아래의 라업을 참고했습니다. www.dongyeon1201.kr/ec146698-9dad-463e-bbba-cacb2b25c28d Web Utils [121 points] ✅ 목차 www.dongyeon1201.kr 2. 취약점 목록 1. XSS 2. JS 스프레드 연산자 취약점 3. 분석 이 문제는 두개의 툴을 이용해서 푸는 문제입니다. 하나씩 소개하면서 어떤 용도로 사용되는지 살펴보겠습니다. 1. I can pass it along 이 툴은 DiceCTF에서 출제되었던 많은 웹 문제에서 사용되었던 툴로 Admin bot이 사용자가 입력한 url에 접속하..
ctf study #6 ctf 웹 문제를 분석하거나 풀어보면서 공부하는 스터디 글입니다. 1. CTF 문제 2021 darkCON CTF의 DMM 문제입니다. 라업은 아래의 라업을 참고했습니다. www.dongyeon1201.kr/3ca5185f-d8d1-4bf1-be69-7b9c736496c3 DMM [ 487 points ] ✅ 목차 www.dongyeon1201.kr 2. 취약점 목록 1. SSTI 2. 필터링 우회 3. 분석 1. SSTI(Jinja2) 문제에 들어가면 나오는 첫 화면입니다. 여기서 get방식으로 인자를 전달하는 방식을 사용하고 get방식으로 전달받은 url값을 화면에 띄워주는 상황입니다. 아래 그림은 ssti에서 어떤 템플릿을 사용하는 ssti인지를 확인하는 과정(?)을 조직도로 나타낸 그림입니다. 이..
webhacking.kr 32번 32번 문제를 클릭하면 이런 스코어 보드(?)가 보입니다. 여기서 아무 이름을 클릭한 후 다시 클릭을 하면 위처럼 이미 투표를 완료했다는 메시지와 함께 더 이상 클릭을 할 수 없게 됩니다. 여기서 살짝 막혔는데, 역시 답은 쿠키에 있었습니다. 쿠키에 들어가니 vote_check라는 값이 ok라는 값으로 추가되어 있어서 수정하려고 했습니다. 그런데 이 쿠키 값은 수정하는 방법으로는 별다른 효과를 가져오지 못 해서 검색을 조금 해보니 쿠키 값 자체를 차단하는 기능이 존재했습니다. 그래서 아래처럼 설정을 바꿔준 후 '이 규칙 더하기'를 눌러주면 vote_check라는 쿠키 값을 페이지에 영향을 줄 수 없게 됩니다. 이렇게 설정을 바꿔주면 계속 클릭을 해도 위의 에러메시지가 뜨지 않으며 그 후 자신의 이름을 크..
webhacking.kr 29번 29번입니다. 문제에 들어가면 이렇게 파일업로드 기능이 구현되어 있고, flag is isn another table이라고 적혀있습니다. 앞서 information schema를 이용한 문제를 풀었기 때문에 여기서도 그것을 사용해야 할 것 같다는 예상을 하긴 했습니다. 그냥 b 파일을 만들어서 업로드 해보니 time, ip, file 명이 화면에 출력됩니다. 아마 select 문을 통해 가져오는 것 같은데, 파일 이름을 이용해서 injection 공격을 해야할 것 같습니다. 여기서 일단 공격을 위해서는 db에서 가져오는 구문이 어떤 형식으로 가져와야 하는지를 알아내야 합니다. 여기서 경우 의 수가 있는데 정리하면 아래와 같습니다. 여기서 time과 ip는 파일이름 위치를 먼저 알아낸뒤 다르면 바꿔주기 때..
webhacking.kr 28번 28번 문제입니다. 아마도 파일 입출력 문제로 보입니다. 그래서 b라는 파일을 만들어서 업로드 해보았습니다. 업로드하면 업로드된 경로가 화면에 출력됩니다. 그리고 Mission으로 보아 해당 위치에 있는 flag.php를 읽어와야 할 것 같습니다. 여기서 제가 파일 업로드 취약점에 대해서 찾아보면서 .htaccess 파일이라는 것을 찾았습니다. 이 파일은 허가, 인증, URL재작성, 스팸봇 차단, SSL, 디렉토리 리스팅, 에러 응답 커스터마이징 등의 용도로 사용되지만 이번 문제처럼 치명적인 단점 있다고 합니다. 자세한 내용은 아래의 두 링크를 참고하면 좋을 것 같습니다. devlog.jwgo.kr/2019/04/11/what-is-htaccess/ .htaccess 파일은 도대체 뭔가요? · Tonic..
webhacking.kr 22번 22번 문제에 들어가면 로그인할 수 있는 부분과 아래에서 문제를 풀기 위한 방법, column 이름이 나와 있습니다. 일단 먼저 guest, guest를 입력해보았습니다. 그러면 이렇게 해쉬 값이 뜨는데, 예전에 로그인 페이지 등을 만들 때 비밀번호를 md5로 암호화한 것이 기억나서 디코딩 사이트에 넣어보았습니다. www.md5online.org/md5-decrypt.html MD5 Online | Free MD5 Decryption, MD5 Hash Decoder www.md5online.org 그랬더니 guestapple가 나왔습니다. 아마 비밀번호 뒤에 자동으로 apple가 붙여진 뒤 md5 인코딩을 하여 암호화하는 것 같습니다. 그리고 아무 값을 넣으면 이렇게 로그인 실패화면이 뜨게 되는데, us..
webhacking.kr 2번 일단 2번을 들어가면 이런 화면이 뜹니다. 이 화면에서는 무엇을 해야 할 지 모르기 때문에 일단 소스코드를 살펴보겠습니다. 소스 코드에 이런 부분이 있어서 일단 아래의 url로 들어가보았습니다. 들어가보니 비밀번호를 입력하라는 이름이 뜹니다. 아무래도 정확한 비밀번호를 알아내야 할 것 같습니다. 다시 원래 사이트로 돌아가서 쿠키값부터 확인했더니 time이라는 값이 존재해서 100이란 값으로 일단 바꿔 보았습니다. 그랬더니 시간이 현재 시각에서 1:40으로 바꿔었습니다. 아마 time이라는 쿠키 값에 따라 다르게 뜨는 것 같아서 여러가지 값이나 조건 문 등을 넣어보았습니다. 위의 값 외에도 여러 가지 값을 넣어본 결과, 조건문이 time의 값일 경우 참일 경우 1, 거짓일 경우 0을 반환하는 것 같고, 만..
ctf study #5 ctf 웹 문제를 분석하거나 풀어보면서 공부하는 스터디 글입니다.\ 1. CTF 문제 2020 justCTF의 Baby CSP입니다. 이 문제를 선택해서 공부한 이유는 앞의 Build a Better Panel문제를 분석하면서 공부하다가 CSP가 어떻게 쓰이는지를 알게 됐고, 조금 난이도가 쉬운 문제를 공부하면서 확실하게 개념을 짚고 넘어가고 싶어서 선택했습니다. 참고한 라업은 아래와 같습니다. hackmd.io/@terjanq/justCTF2020-writeups#Baby-CSP-web-6-solves-406-points Write-ups to justCTF [*] 2020 by @terjanq - HackMD # Write-ups to justCTF [*] 2020 by @terjanq ### For..