| by munsiwoo | 2 comments

2019 선린 해킹방어대회 웹 문제

매년 CodeRed에서 선린인터넷고 해킹방어대회를 주관하는데, 작년에 이어 올해도 문제 출제를 맡게 되어서 웹 해킹 문제 3개를 만들었다.
문제 모두 소스코드를 제공해주는 화이트박스 문제였고 난이도는 대체로 쉽게 만들려고 노력했다.

jjang9 (PHP)

이 문제는 PHP file system bug와 file inclusion 취약점을 섞어서 낸 문제다.
PHP file system bug에 관한 발표 자료는 코드게이트 발표 후기 글에 공유 해놨다.

PHP file system bug를 이용하면 lfi가 가능하고 해당 취약점을 이용해 rce를 할 수 있다.
다만 open_basedir이 걸려있기 때문에 얼마 전에 Blaklis_라는 해커가 공유한 방법으로
open_basedir을 우회하고 /flag를 읽으면 플래그를 얻을 수 있다.

Last old school (PHP)

Last old school은 error based sql injection 문제다.
교내에 lord of sqli로 공부하는 친구가 많이 보여서 lord of sqli 문제 스타일로 만들어봤다.
필터 키워드는 “_|[.]|sleep|bench|if|case|when|co|select|user” 이렇게 느슨하게 해놔서
여러 error based 방법으로 풀이가 가능했다.

My first app (Python Flask)

마지막 My first app은 css injection 문제다.
프로필 페이지의 style태그 안에 내 입력이 들어가며 플래그 또한 admin 프로필 페이지
특정 태그의 value 속성에 들어있었기에 그걸 한 글자씩 요청해서 뽑아오면 얻을 수 있다.

https://github.com/munsiwoo/ctf-web-prob/tree/master/2019/Sunrin_Internet_High_School_CTF_2019


2019 Sunrin Internet High School CTF README.md

All prob were made by munsiwoo.

  • jjang9
    • PHP file system function trick
    • open_basedir bypass
    • lfi to rce
  • My first app
    • css injection
  • Last old school
    • error based sql injection

You can contact me via [[email protected]]

2 Comments

ipwn

2019-05-20 at 08:43

쉽다 쉬워

Leave a Reply to ipwn Cancel reply