ekoparty web 100 문제

해킹대회 문제 풀이 연습장소

Moderator: amesianx

Post Reply
User avatar
SinJiRu
Posts: 84
Joined: Wed Oct 14, 2015 2:54 pm

ekoparty web 100 문제

Post by SinJiRu » Thu Nov 03, 2016 9:10 am

https://github.com/p4-team/ctf/tree/mas ... ty/web_100

참조 write-up

기본적인 SQL문이 통하는 문제 였지만 database의 함수 지정 방법인 "@xxx" 에 대한 문제였다
1.png
1.png (199.4 KiB) Viewed 402 times
현제 서버는 닫힌 상태이고(어제까진 열려있었던거 같은데.. 사진을 못찍었...)

라고 되어있다

링크를 타고가면 검색창과 1,2로 되어있는 테이블명이 나오는데
' or 2>1 union select null,table_name from information_schema.tables#

' or 2>1 union select table_name,column_name from information_schema.columns#
등의 기본적인 인젝션이 통하게 된다.

꽤많은 컬럼이 나오고 테이블이름이 FLAG인 것도있지만

답이 나오지 않아서 실제에선 풀지 못했었다

나중에 메인페이지에 힌트로
Hint
You don't need to search for the flag outside the DB, there is more than tables and columns in a DB.
가 있는것을 알았고

SQL 서버에서 TSQL문장을 수행할때 Batch 단위로 실행하는데 이 Batch 파일을 모아서 변수지정을 해줄수 있다고한다
http://www.sqlprogram.com/Basics/sql-declare.aspx

그런 변수명앞에는 @가 붙게 되고
'union select @flag,1 #
라는 명령어를 통해서 flag를 끌어낼수 있다는 것을 알게 되었다

// SQL에서 변수명으로 [@문자열]을 이용한다.

h0n9t3n
Posts: 48
Joined: Tue Oct 13, 2015 11:14 am

Re: ekoparty web 100 문제

Post by h0n9t3n » Thu Nov 03, 2016 3:34 pm

좋네 ㅋㅋ

Post Reply

Who is online

Users browsing this forum: No registered users and 17 guests