2026. 2. 6. 15:06ㆍ보안/Web security Academy
Lab: SQL injection attack, querying the database type and version on MySQL and Microsoft
This lab contains a SQL injection vulnerability in the product category filter. You can use a UNION attack to retrieve the results from an injected query.
To solve the lab, display the database version string.
( 이 연구실에는 제품 카테고리 필터에 SQL 주입 취약점이 포함되어 있습니다. UNION 공격을 사용하여 주입된 쿼리에서 결과를 가져올 수 있습니다.
실험실을 해결하려면 데이터베이스 버전 문자열을 표시합니다. )
1. 이번 lab에서도 데이터베이스에 버전을 표시하는 방법입니다 web security academy2와 다른 점은 사용하는 데이터베이스가 oracle이 아닌 mysql인것입니다

일단 order by 1# 을 사용해서 해당 웹페이지에 몇개의 칼럼이 있는지를 확인합니다 oracle에서는 --가 주석처리를 하는데 사용한 반면 mysql에서는 #을 이용해 주석처리를 합니다

이렇게 order by 3#을 했을떄 오류가 발생하므로 해당 웹페이지에는 2개의 칼럼이 있는것을 확인할 수 있습니다

해당 웹페이지에 칼럼이 2개인 점을 이용해 ' UNION SELECT 'a', 'a'#를 이용해 해당 UNION 명령어가 잘 실행이 되는지 확인하는 작업입니다 또한 위 사진처럼 잘 작동하는 것을 확인을 하였으니 이제 데이터베이스 버젼을 확인하기 위해

' UNION SELECT @@version, NULL# 명령어를 사용하여 해당 데이터베이스에 버젼을 확인해 줍니다 이전 oracle에서는
SELECT banner FROM v$version 명령어를 사용했고 현재 데이터베이스는 Mysql과 microsoft이기 떄문에 @@version으로 사용이 가능합니다
'보안 > Web security Academy' 카테고리의 다른 글
| web security academy6 (0) | 2026.02.11 |
|---|---|
| web security academy5 (0) | 2026.02.10 |
| web security academy4 (0) | 2026.02.09 |
| web security academy2 (0) | 2026.02.05 |
| web security academy (0) | 2026.02.04 |