• writeup

    angstromCTF – Madlibbin

    python format string injection 문제이다. 강조된 문장에서 볼 수 있듯 args 변수에 request.args 를 대입하여 format 메소드의 인자로 이용하는데 request.args 부분은 조작이 불가능하지만, 대상 문자열은 마음대로 사용자의 입력대로 들어가므로 이를 이용해서, os.environ 을 읽어내면 해결되는 문제이다! 다만 format 함수의 대상이 되는 문자열의 중괄호 안에서 메소드 호출은 불가능하므로 메소드를 사용하지 않고 문제를 해결할 수 있어야 한다. os 모듈의 environ 속성에 환경변수가…

  • writeup

    angstromCTF – DOM Validator

    XSS 필터링 문제인데, <head> 태그에서 자바스크립트로 문서 내용을 해싱하여 비교 검증하는 특이한 방식을 사용했다. 시도하다 보니 필터링 로직이 복잡하여 짜여 있다는 것을 알게 되었는데, 본래 복잡해질수록 허점도 생기는 법 아니겠는가.. 여러가지 페이로드를 확인해보니 결국 먹히는 것이 나왔다. (3시간 정도 걸렸다)

  • writeup

    angstromCTF – no sequel 2

    이전 문제와 동일하다. 하지만 인증 우회에 그쳤던 것과 다르게, 이젠 실제 비밀번호를 요구한다. 정규식 쿼리를 이용하면 간단한데 길이를 먼저 확인하고 브루트 포싱을 해보면 금방 답이 나온다.

  • writeup

    angstromCTF – no sequel 1

    Express 로 구성된 서버에 소스가 주어진다. 상단에 monk instance 라고 적혀있는데, mongodb 를 사용했다는 것을 말하고 싶었으리라. 흔한 mongodb 취약점인데 위처럼 배열을 삽입해주면 not equal 비교를 통해 인증이 우회된다. 시도해보니 배열은 입력으로 받지 않는 모양이었지만 Content-Type을 수정하여 데이터를 json형태로 전송함으로써 인젝션에 성공하였다.