-
[Web Hacking] Portswigger - SQL injection vulnerability allowing login bypassCoding/Hacking & Security 2023. 1. 2. 14:20
문제 링크 : https://portswigger.net/web-security/sql-injection/lab-login-bypass
Lab: SQL injection vulnerability allowing login bypass | Web Security Academy
This lab contains an SQL injection vulnerability in the login function. To solve the lab, perform an SQL injection attack that logs in to the application as ...
portswigger.net
문제 분석
Login 함수에 SQL injection이 가능하다고 한다. 하지만 SQL query나 다른 코드 등은 공개되지 않는다.
Burp suite로 확인해본 결과 POST method로 username과 password parameter를 전달받는다.
목표
SQL injection을 통해 administrator user로 로그인하자.
Login에서 username 또는 password 입력값을 통해 SQL injection을 시도할 수 있을 것이다.
그 근거로, password 값으로 따옴표 하나를 주자 사이트가 에러 메시지를 출력하였기 때문이다.
Parameter를 이렇게 준 결과는 아래와 같이 나타났다.
풀이
Login 함수에서 실행되는 query는 다음과 같을 것으로 예상해볼 수 있다.
SElECT user FROM USER WHERE username='{username}' AND password='{password}'
물론 확신할 수 없지만 대략적으로 이런 query를 사용하리라 예측하는 것이다.
이때 username으로 아래와 같은 값을 주면 어떻게 될까?
administrator'--
그러면 실행되는 query는 아래와 같이 될 것이다.
SElECT user FROM USER WHERE username='administrator'--' AND password='{password}'
Burp suite에서 username parameter로 위의 값을 대입해주었다.
그 결과는 administrator 계정으로 로그인할 수 있었다.
'Coding > Hacking & Security' 카테고리의 다른 글