본문 바로가기

반응형

웹해킹/DIMI CTF

(5)
DIMI CTF Web AoJ Writeup DIMI CTF Web AoJ Writeup 이번엔 union으로 푸는 문제인 것 같다. 문제 페이지에서 로그인을 하면 다음과 같은 페이지가 출력된다. 이것저것 많은 기능이 있는데 핵심만 찾아보자. 파일을 보면 루트에 db.sql 파일이 있다. 보면 'flag'라는 테이블이 있고 flag가 삽입되어 있다. 그러면 "union select table from flag" 명령어를 넣으면 뭔가 보일 것 같다는 생각이 든다. 이번엔 sql 명령어(select문)가 실행되는 파일을 찾아봤다. community.php 파일의 쿼리를 보니 select 문이 있었다. where id = {$id}를 입력받으니까 id값에 "union select flag from flag"를 넣어봤다. SELECT name FROM `..
DIMI CTF Web simple sqli Writeup DIMI CTF Web simple sqli Writeup 문제는 로그인 창과 함께 코드를 볼 수 있다. 코드를 보면 information, admin, or =, #, ', _, where, 공백이 대소문자 상관없이 필터링 된다. 그리고 admin으로 로그인하면 flag가 출력될 것으로 보인다. 먼저 id와 pw를 trim 함수를 이용해서 입력 값의 공백을 제거해주는 모습이 보인다. 따라서 함수를 열고 닫는 과정이 필요해보인다. id=trim('\') id에 '\'가 들어가면 뒤 싱글쿼터가 문자로 인식된다. 따라서 다음 싱글쿼터가 나오는 곳까지 아이디로 채워진다. pw=trim(') || id like 0x61646d696e -- -') 이후 pw에는 id 함수를 닫고 id에 admin을 넣고 주석처리..
DIMI CTF Web simple XSS Writeup & webhook.site DIMI CTF Web simple XSS Writeup 문제는 위와 같다. XSS 문제이니 를 사용해볼 예정이다. 따로 파일이 없어서 문제 사이트로 들어가보니 게시판이 나온다. 게시판이 나온다면 글쓰기에서 바로 XSS를 검사해봤고, contents 부분에서 XSS 취약점을 찾았다. 따라서 img 태그와 웹훅 사이트를 이용해 쿠키를 보냈다. 웹훅사이트에 패킷이 도착했다. 쿠키를 보면 flag가 있다.
DIMI CTF Web exec me Writeup DIMI CTF Web exec me Writeup 문제는 위와 같다. 실행시킬 수 있는지 묻는 걸 보니, 필터링 우회 문제인 것 같다. php 코드가 간단하다. filter 배열에 저장된 문자열을 통해 exec 입력 값을 필터링하고 있다. 필터만 우회하면 되는 문제이다. 여기서 생각을 바꿔서 필터 변수를 이용해봤다. 먼저 ubuntu 환경이기 때문에 시스템 함수를 이용해서 ls를 입력해보자. 입력값 검증 미흡으로 인해 필터에 있는 값을 사용할 수 있다. 따라서 $filter[0]이 곧 'system'이다. 이후 아스키코드 필터가 없어서 그대로 l . s 를 넣었다. 중간에 점은 문자를 이어준다. 따라서 system(ls)가 된다. 명령어를 넣으니 flag로 보이는 파일이 하나가 보인다. flag가 출력..
DIMI CTF Web 5 Shard Writeup DIMI CTF Web 5 Shard Writeup hint에 디렉터리 리스팅이 있다. 힌트를 중점으로 살펴보자. 메인 화면에 들어가면 다음과 같이 나온다. 파일이 업로드되고 있는 걸 보니, 웹쉘을 올려보고 싶기도 하다. 구조에서 보이듯이 flag가 파일로 존재하고 루트에 있다. 디렉터리 리스팅이었으니 바로 exploit 해봤다. index.php 코드를 보니 "~uploads/자신의 세션/ "에 파일이 저장되는 것으로 보인다. 따라서 파일 업로드 취약점을 이용해서 웹쉘을 업로드해보기로 했다. 먼저 디렉터리 리스팅이 제대로 되는지 확인을 했다. upload.php 필터를 보니 먼저 php가 대소문자 상관없이 필터링되고, 파일 크기는 4byte보다 작아야 하고, 파일 이름 안에 jpg, gif, png 등..

728x90