News 페이지와 각 게시글의 id를 GET 파라미터로 전달하여 출력시켜주는 페이지가 보여진다.
따로 필터링 되있지 않다.
union select
를 이용, sqlite_master
테이블에서 admin
계정이 위치한 테이블을 검색한다.
union select 1,(select sql from sqlite_master limit 1,1),(select username from users limit 1,1)
limit
함수로 테이블 명을 하나씩 검색하니 users
테이블이 확인되었다. 또한 union select
의 마지막 컬럼은 해당 테이블에서 관리자 계정을 검색하는데 사용하였다.
계정이 저장된 테이블은 users
이며
관리자 계정은 admin
으로 확인되었다.
패스워드를 확인하자
union select 1,(select sql from sqlite_master limit 1,1),(select password from users limit 1,1)
Numberic 이라는 부제가 붙어있어서
특별한 스킬이 사용되는줄 알고 rootme에서 다른 사람들의 솔루션들을 확인해봤으나 일반적인 sql injection 이었다.