Exfiltrate the entire DB schema definition via SQL Injection.


SQL 인젝션을 통해 전체 DB 스키마에 대한 정의를 얻는다.

우선 OWASP Juice Shop에서 사용하는 데이터베이스를 알기 위해 제품을 검색하는 과정을 프록시를 통해 살펴본다.

Untitled

여기에서 알 수 있는 것은 검색창을 통해 검색을 할 때 클라이언트 측에서 검색이 수행되고 실제로는 값이 전달되지 않는 것을 확인할 수 있다. 이것을 Repeater를 통해 좀 더 자세하게 살펴볼 수 있다.

Untitled

Repeater에서 q에 apple을 입력하고 요청을 보내면, 데이터베이스에서 apple이 포함된 모든 결과를 가져오는 것을 알 수 있다. 이제 의도적으로 오류를 발생시키는 요청을 보내면

Untitled

사용하는 데이터베이스가 SQLite라는 것을 알 수 있다.

SQLite 공식 문서에서 데이터베이스 리스트에 대한 정보를 찾을 수 있다.