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 |