반응형


문제를 보자.

level9_users 테이블의 어떠한 유저의 username과 password를 얻으라고 한다.

딱히, Admin의 패스워드만을 원하는 것은 아닌거같다. 또한 blind sql injection 이 아니라는 힌트가 있다. 다른 방식으로 패스워드를 얻으라고 한다~


Autor가 RedTiger인 것으로 보아 RedTiger의 패스워드를 얻어야 하지 않을까란 생각으로 게임 Start !


밑에 보이는 Name과 Title 그리고 textarea에 test1, test2, test3 순서대로 적고 제출을 눌렀더니 아래와 같은 결과가 나왔다.


뭔가 셋 중 하나에 injection을 하여 password를 얻으면 될꺼같은 분위기~


하나씩 싱글쿼터를 넣어보다가 마지막 textarea에 싱글쿼터를 넣으니 아래와 같은 에러가 출력되었다.


따라서 text부분에 3')# 을 입력하면 아래와 같이 잘 출력된다.


이 문제는 샤워하다가 깨달았다 ㅋㅋㅋㅋ

버튼이 제출로 되어있고, 한가지 기사(?)는 이미 등록되어있는 상태로 나와 INSERT 포인트에서 SQL Injection하는 것이 아닐까란 생각을 하였다.


INSERT는 아래와 같은 형식이다.

INSERT INTO tablename ( col1,col2,col3 ...) VALUES ( val1, val2, val3, ... )


여기서 만약 여러 값을 삽입하고 싶다면

( val1, val2, val3 ),( val4, val5, val6 ) 식으로 진행하면 된다.


따라서 나는 이를 테스트하기 위해

autor=1&title=2&text=3'),('4','5','6

를 전송한 결과 아래와 같이 출력되었다.


예상대로 INSERT를 이용한 것이였다.


이제 아래와 같은 쿼리를 전송하였다.

autor=1&title=2&text=3'),((select+username+from+level9_users+limit+1),(select+password+from+level9_users+limit+1),'6



그 결과 위와 같은 결과를 얻었고 이를 넣어서 인증을 완료하였다 !



반응형

'Solve Problem' 카테고리의 다른 글

[RedTiger's Hackit] 올클리어  (0) 2018.02.03
[RedTiger's Hackit] 10번 문제  (0) 2018.02.03
[RedTiger's Hackit] 8번 문제  (0) 2018.01.29
[RedTiger's Hackit] 7번 문제  (0) 2018.01.29
[RedTiger's Hackit] 6번 문제  (0) 2018.01.29
블로그 이미지

rootable

,