Lab: SQL injection vulnerability allowing login bypass
https://portswigger.net/web-security/sql-injection/lab-login-bypass
Lab: SQL injection vulnerability allowing login bypass | Web Security Academy
This lab contains a SQL injection vulnerability in the login function. To solve the lab, perform a SQL injection attack that logs in to the application as ...
portswigger.net

SQL Injection 로그인 우회
관리자 로그인을 성공시키는 SQL Injection 공격 수행 시 문제 해결
[기본 설정] 프록시 설정, ACCESS THE LAB의 주소를 Burp Suite에 설정
(1) 블로그 내 My account로 이동합니다.

(2) ID는 administrator, PW는 임의 값을 입력하여 로그인 합니다.

(3) 패킷을 확인해보면 로그인이 안되는 것을 볼 수 있습니다. 해당 패킷을 Repeater로 보냅니다.

(4) username을 바꿔가면서 Response를 확인합니다.
입력: username=administrator'
오류 Internal Server Error

입력: username=administrator'+or+1=1#
오류 Internal Server Error

입력: username=administrator'+or+1=1--
정상적으로 전송되는 것을 확인할 수 있습니다.

해당 DBMS가 MySQL인지, Oracle인지 모르기때문에 여러가지 경우의 수를 대입해봐야합니다. --, # 등과 같은 주석도 넣어보고, 띄어쓰기(+)가 필요한지 없어도 되는지, 싱글쿼터(')가 필요한지 더블쿼터(")가 필요한지 등 확인해야합니다. Injection 같은 경우는 여러가지 경우의 수를 생각해야하기 때문에 시간이 많이 듭니다.
(5) 로그인을 확인하기 위해 Intercept is on으로 바꿔주고, ID는 administrator, PW는 임의 값을 입력하여 로그인 합니다.

블로그에서 (2)와 동일하게 로그인하면 다음과 같이 출력됩니다.

(6) username을 administrator'+or+1=1--로 입력하고 Forward를 클릭하여 Intercept is off로 바꿔줍니다.

(7) 블로그로 이동하여 로그인이 되었는지 확인합니다.
