SQL injection - UNION3(Examining the database1)

2020. 12. 26. 23:34문제연습/bs_Training

반응형

 

본 티스토리 블로그는 PC에 최적화되어 있습니다.

모바일 유저분들은 아래 네이버 블로그를 이용해 주세요.

 

 

SQL injection - UNION3(Examining the database3)

본 네이버 블로그는 모바일에 최적화되어 있습니다.PC 유저분들은 아래 티스토리 블로그를 이용해 주세요...

blog.naver.com

Lab: SQL injection attack, querying the database type and version on Oracle

 

1. 문제 내용

이번 문제는 웹사이트에서 운용되고 있는 DBMS 버전 정보를 유출시켜야 합니다.

DBMS 종류는 오라클이므로 Oracle의 버전 정보를 담고 있는 부분의 정보를

쿼리하도록 인젝션 해야겠습니다.

 

일단 cheet sheet를 확인해 보도록 하겠습니다.

오라클의 경우 버전의 정보는 banner 또는 version 테이블 내부에

v$version이라는 이름으로 존재한다고 합니다.

 

빨간 박스에 쓰여있는 데로 쿼리 하면 오라클 DBMS가 자신의 버전을 반환할 것입니다.

바로 문제 풀어보도록 하겠습니다.

 

1.1 접속화면

문제에서 제시한 취약부분이 카테고리 부분이므로 여기서 작업을 시작하도록 하겠습니다.

 

 

2. Attack

일단 코드에서 확인한 것과 통신내역 확인에서도 특별한 점이 보이지 않으므로

반환되는 칼럼 수를 확인해 보도록 하겠습니다.

 

 

order by 2--, union select null, null--

흠, 조금 이상합니다. select 문으로 칼럼 수를 조회하려고 하니 내부 오류가 발생했다는 창이 떴습니다.

조금 걸리지만 일단 오라클 정보를 조회하는 쿼리를 삽입해 보도록 하겠습니다.

 

 

성공적으로 DBMS 정보가 유출되었습니다.

 

 

실제 웹사이트를 운영하게 될 경우 해당 운용 DBMS 버전의 취약점을 이용해 공격 시도가

발생할 수 있으므로 인젝션 공격을 막기 위한 입력값 검증을 반드시 거쳐야 합니다.

 

다음 시간에도 이어서 문제를 풀어 보도록 하겠습니다.

긴 글을 읽어 주셔서 감사합니다.

 

반응형

'문제연습 > bs_Training' 카테고리의 다른 글

Authentication - Brute forcing1  (0) 2021.01.07
SQL injection - UNION3(Examining the database3)  (0) 2020.12.27
SQL injection - UNION3  (0) 2020.12.25
SQL injection - UNION2  (0) 2020.12.25
SQL injection - UNION1  (0) 2020.12.23