-
[Web Hacking] Portswigger - SQL injection vulnerability in WHERE clause allowing retrieval of hidden dataCoding/Hacking & Security 2023. 1. 1. 20:21
문제 링크 : https://portswigger.net/web-security/sql-injection/lab-retrieve-hidden-data
Lab: SQL injection vulnerability in WHERE clause allowing retrieval of hidden data | Web Security Academy
This lab contains an SQL injection vulnerability in the product category filter. When the user selects a category, the application carries out an SQL query ...
portswigger.net
* 참고로 Portswigger lab들의 문제는 풀이가 공개되어있다.
문제 분석
Product category filter에 SQL injection 취약점이 존재한다고 한다.
사용자가 product category filter에서 category를 선택할 때마다 다음의 query가 실행된다.
SELECT * FROM products WHERE category = 'Gifts' AND released = 1
Query의 코드가 주어졌으므로 어렵지 않게 풀 수 있는 문제이다.
목표
문제를 풀기 위해서는 SQL injection을 통해 released되지 않은 물품의 information이 공개되도록 해야 한다.
Burp suite로 확인해보니 GET method를 이용해 category parameter를 전달받고 있다.
이 parameter를 변조해 SQL injection을 시도해보자.
풀이
Parameter에 'OR released=1 OR released=0 --' 을 추가하면 아래와 같이 query가 구성된다.
SELECT * FROM products WHERE category = 'Gifts'OR released=1 OR released=0 -- AND released = 1'
따라서 category와 상관없이 released 값이 0인 product와 1인 product가 모두 출력될 것이다.
Burp suite를 이용해 paramert를 다음과 같이 보낼 수 있다.
그 결과 released 값이 0인 product와 1인 product 모두 출력되었다.
'Coding > Hacking & Security' 카테고리의 다른 글