분류 전체보기
-
[Clear] redpwnCTF 2021 web/cool WriteupCTF/redpwnCTF 2021 2021. 7. 13. 23:56
주말부터 월요일 밤까지 redpwnCTF가 열렸다. 이번 대회는 Dreamhack CTF #10 과 겹치기도했고, 시간이 많이 안나서 틈틈히 참여했다. 총 5문제 Solve하였는데 그 중 그마나 난이도가 있었던 cool 문제를 풀이해보자 주어진 페이지에 접근해보자. 회원 가입 후 로그인을 시도하면 아래와 같은 안내문구가 나온다. ginkoid 계정으로 로그인을 하면 플래그가 주어지는듯 하다. 주어진 소스를 분석해보자. 플래그 획득 조건은 아래와 같다. @app.route('/message') def message(): if 'username' not in session: return redirect('/') if session['username'] == 'ginkoid': ##### .............
-
-
-
[Clear] HSCTF 8 web/big-blind WriteupCTF/HSCTF 8 2021. 6. 20. 03:36
대회에서 되게 오랜만이었던 Sql-injection 문제였다. 문제 이름괴 주어진 페이지에 로그인 창이 있는 것으로 보아 blind sql injection 문제임을 유추 할 수 있다. 우선 DB의 종류를 파악해보자. 위 자료를 참고하여 #은 허용되면서 -- 를 허용하지 않는다는 것을 근거로 MySQL 일 것이라고 추측하였다. 이제 blind sql injection 기법을 통해 password 를 찾아야하는데, 서버의 응답 값은 구문 에러가 없을 시, TODO: Do something here. 을 출력하거나 구문에 이상이 있을 시 500 Error Code를 리턴해줄 뿐이었다. 따라서, Time based blind injection 을 통해 패스워드를 추출해보기로 하였다. 우선, 테스트 구문은 ' ..
-
[Clear] HSCTF 8 misc/glass-windows WriteupCTF/HSCTF 8 2021. 6. 17. 22:43
주어진 png파일을 열어보면 별 내용이 나오지 않는다. png를 이용한 문제이길래 파일 시그니쳐 혹은 IHDR 청크를 조작하는 문제일것이라고 생각했다. 파일 시그니처는 정상적인 값이었고 파일 길이, 높이 등 청크의 값을 변조해보다가 색을 나타내는 값을 일반적인 값으로 변조해보았다. 자세한 내용은 아래 페이지를 참조하였다. https://ryanking13.github.io/2018/03/24/png-structure.html PNG 파일 구조 대표적인 이미지 파일 포맷인 PNG의 구조를 뜯어보는 글입니다. ryanking13.github.io 변조 후, 위와 같이 플래그가 나타났다. FLAG = flag{this_is_why_i_use_premultiplied_alpha}
-
[Study] Pwn2Win CTF 2021 illusion WriteupCTF/Pwn2Win CTF 2021 2021. 6. 3. 20:43
해당 서버에 접근하면 hashcash를 이용한 간단한 질문이 주어지는데, 이를 해결하면 아래와 같은 페이지로 접근 할 수 있는 접속 정보가 주어진다. 주어진 소스를 살펴보자. 문제의 핵심은 아래 코드에 있다. // Homepage app.get("/", async (req, res) => { const html = await ejs.renderFile(__dirname + "/templates/index.ejs", {services}) ##### ........................................................................(2) res.end(html) }) // API app.post("/change_status", (req, res) => { let..