[KnightCTF 2022] review

yoobi·2022년 5월 31일
0

Team : yoobi(solo)
Rank : 286/753th

Review

풀 수 있었는데 못 푼 문제가 좀 많았고, 시간이 없어서 아예 열어보지도 못한 문제도 많았다. 100th 안에 들면 주최측의 certification을 발급한다고 했는데, "혼자 하지말고 친구들이랑 같이 해볼껄" 이라는 아쉬움이 조금 남았다.

Web

Zero is not the limit / 50pt / 247 Solves - whtmdgus56

https://velog.io/@whtmdgus56/KnightCTF-2022-Zero-is-not-the-limit-write-up

KEY

  • 198.211.115.81:5001/user/-1
  • 그냥 게싱 ... ?

Find Pass Code - 1 / 50pt / 311 Solves - whtmdgus56

https://velog.io/@whtmdgus56/KnightCTF-2022-Find-Pass-Code-1-write-up

KEY

Most Secure Calculator - 1 / 50pt / 338 Solves - whtmdgus56


https://velog.io/@whtmdgus56/KnightCTF-2022-Most-Secure-Calculator-1-write-up

KEY

  • PHP eval 문제
  • eval(system("ls")) 와 같은 형태로 명령어 실행 能
  • eval(cat flag.txt) -> get FLAG

Can you be Admin? / 50pt / 65 Solves - Team TamilCTF


https://blogs.tamilctf.com/posts/KnightCTF-web-6-10/

KEY

  • 1단계 : proxy 우회
  • 2단계 : JSFUCK Decoding 하면 다시 암호문
  • 3단계 : ascii-85 Decoding 하면 ID & PW를 획득할 수 있고 로그인한다
  • 4단계 : 쿠키로 존재하는 base64 암호문
  • 5단계 : Admin을 base64로 encoding한 값으로 수정하면 FLAG 획득

My PHP Site / 50pt / 242 Solves - Team TamilCTF


https://blogs.tamilctf.com/posts/KnightCTF-web-6-10/

KEY

  • PHP Wrapper LFI Chall
  • php://filter/convert.base64-encode/resource=index.php

Bypass!! Bypass!! Bypass!! / 150pt / 7 Solves - Team TamilCTF


https://blogs.tamilctf.com/posts/KnightCTF-web-6-10/

KEY

  • 1단계 : /api/request/auth_token 과 같은게 주어졌을 때, curl -X POST ~ 형태로 값 수신 能
  • 2단계 : POST header의 X-Authorized-For: <auth_token> 을 request
  • 3단계 : /admin_dashboard 페이지로 이동된다

Find Pass Code - 2 / 150pt / 216 Solves - Team TamilCTF


https://blogs.tamilctf.com/posts/KnightCTF-web-6-10/

KEY

  • PHP Compare에 대한 한 단계 발전된 문제
  • Loose Comparison & Strict Comparison
  • Magic Hash Chall
  • 0eXXXXXX, 0 == md5(a) -> 참
  • md5(0eXXXX) = 0eXXXXX -> get FLAG

Most Secure Calculator - 2 / 250pt / 135 Solves - Team TamilCTF


https://blogs.tamilctf.com/posts/KnightCTF-web-6-10/

KEY

  • 오직 number and symbols are accepted
  • ( ) ' are allowed
  • system('cat flag.txt')
  • 16 진수로 변환해서 입력하면 문자가 존재하므로 X
  • 8 진수로 변환해서 입력하면 get FLAG
  • "\163\171\163\164\145\155"("\143\141\164\40\146\154\141\147\56\164\170\164")

Reverse Engineering

Droid Flag / 100pt / 154 Solves - Harsh Mehta(1n40)


https://github.com/1n40/KCTF-Writeup

KEY

  • apk 파일이 주어진다
  • apktool을 쓸 수 있지만, 웹툴도 존재한다고 한다 http://www.javadecompilers.com/
  • MainActivity.java와 StringHandler.java 파일 내 FLAG가 존재한다

Knight Switch Bank / 200pt / 173 Solves - Harsh Mehta(1n40)


https://github.com/1n40/KCTF-Writeup

KEY

  • IDA로 분석하여 암호화하는 로직 뽑아내고 브루트포싱 돌리면 get FLAG

PWN

What's Your Name 2 / 100pt / 187 Solves - Team TamilCTF


https://blogs.tamilctf.com/posts/kightctf-pwn/

KEY

  • fgets로 200 bytes만 입력받지만,
  • strcpy를 통해 200 -> 72 bytes buffer로 copy하는걸 이용해 BOF 트리거하는 간단한 문제

profile
this is yoobi

0개의 댓글