Wargame.kr

Web_600

SimpleBoard


600점짜리 문제입니다.

Union을 이용한 SQL Injection 문제라고 하네요.

스크립트가 필요할 것이라고 합니다. 문제를 확인 해 보도록 하죠.




들어가보면 게시판이 하나 있습니다. 해당 제목을 클릭하면 글의 내용이 보여지며 HIT수가 올라갑니다.

소스를 확인해보죠.



read 함수의 where 구문에 $idx를 살펴보면 Single Quotation이 없습니다. 따라서 이 부분을 공격 벡터로 이용하여 SQL Injection을 먹일 수 있을 것 같습니다.

사실 이 문제의 경우 union을 이용한 SQL Injection이라고 하였지만, 계속 넣어봐도 query error만 뱉어내고 작동을 안해서... Blind SQL Injection을 이용하여 풀이했습니다.



파이썬 스크립트를 작성하여 테이블 이름을 찾아보았습니다.



limit 41, 1 을 걸어주었을 때 SIMPLEBOARD 테이블이 나왔고 40, 1을 걸어주었을 때 README라는 테이블 또한 뱉어냈습니다.

아마 README 안에 FLAG가 들어있을 것 같습니다.

다음은 COLUMN을 찾아보겠습니다.



limit 480,1을 걸어주었습니다.



column 중 FLAG라는 이름을 가진 컬럼이 있습니다.



이제 select 구문을 이용하여 flag를 따낼 차례입니다.



짠!

'Wargame > Wargame.kr' 카테고리의 다른 글

[Wargame.kr] Misc_650_pyc decompile  (0) 2016.05.23
[Wargame.kr] Web_650_web chatting  (0) 2016.05.23
[Wargame.kr] Web_600_tmitter  (0) 2016.05.20
[Wargame.kr] Web_550_type confusion  (0) 2016.05.19
[Wargame.kr] Web_550_strcmp  (0) 2016.05.18

+ Recent posts