Without a Break

[WebGoat] Stage 3: Numeric SQL Injection 본문

Web/Wargame

[WebGoat] Stage 3: Numeric SQL Injection

와븨 2024. 8. 25. 01:49

문제

SQL Injection을 사용해서 권한을 우회하는 문제

일반 직원 Larry로 보스 Neville의 프로필을 확인해야 한다.

 


개발자 도구에서 password 입력칸을 보면, maxlength가 8로 설정되어 있다.

max_length를 늘려주고,

 

 

aa' or '1'='1 을 입력값으로 넣어 패스워드를 우회해서 Larry로 로그인해준다.

 

 

ViewProfile을 누를 때 버프 스위트로 인터셉트 해주면, employee_id와 action이 뜨는 것을 확인할 수 있다.

'Neville' 의 프로필을 확인해야 하기 때문에, 

  1. employee_id 를 무조건적으로 참이 되게 하여 Larry의 권한으로 모든 정보를 열 수 있게 하고,
  2. Neville의 Profile을 출력하도록 해야한다.

 

이 때, Neville은 가장 마지막 순서에 있으므로, 출력 순서를 내림차순으로 바꿔주면 Neville의 프로필을 볼 수 있다.

 

 

or 1=1 order by employee_id desc

를 employee_id에 injection 하여 forward를 해주면,

 

Neville의 프로필을 볼 수 있다.

'Web > Wargame' 카테고리의 다른 글

[WebGoat] Blind String SQL Injection  (0) 2024.08.25
[WebGoat] Blind Numeric SQL Injection  (0) 2024.08.25
[Webgoat] Stage 1: String SQL Injection  (0) 2024.08.25
[Webgoat] Numeric SQL Injection  (0) 2024.08.25
[WebGoat] String SQL Injection  (0) 2024.08.25