본문 바로가기

Web Hacking/Write Up

[Lord of SQLInjection] orc

문제

두 번째 쿼리에서 출력된 pw 값과 GET으로 입력된 pw의 값이 같아야 풀리는 문제이다.

즉, 다른 문제들과는 다르게 pw 값을 알아내야 한다.

 

id 값은 지금 admin으로 이미 입력된 상태이기 때문에 pw 값만 알아내면 된다.

 

pw 값을 알아내기 위해 blind sql injection을 이용하여 pw 길이부터 알아내보자.

 

우선 pw를 모르기 때문에 '(싱글쿼터)를 사용하여 입력을 마무리해주고

or을 사용해주면 뒤의 쿼리 결과에 따라 출력값이 변경될 것이다.

 

pw의 길이가 참일 때 'Hello admin'이 출력될 것이다.

 

burp를 사용하여 빠르게 결과 값을 확인해보자.

 

바꿔줘야할 값을 선택하여 Add를 적용해주고

 

Payloads 메뉴에서

Payload type은 Numbers를 선택해주고

1~10 값을 하나씩 입력할 것이기 때문에 밑의 setting도 그림과 같이 설정해주었다.

 

Start attack

 

값이 8일 때 'Hello admin'이 출력되었기 때문에, pw의 길이는 8이라는 것을 확인했다.

 

그렇다면 이제 substr 함수를 사용하여 하나씩 무작위 대입을 해줘야 한다.

 

우리가 바꿔줘야할 값은 substr 함수에서 사용하는 숫자(몇 번째 자리인지 지정)와 하나씩 대입할 값

 

또한 아까와는 다르게 Attack type을 Cluster bomb로 지정해준다.

 

첫 번째 페이로드는 숫자로 1~8의 값을 입력해준다.

 

두 번째 페이로드는 Simple list 중 알파벳 소문자와 숫자 list를 입력해준다.

 

Start attack

 

pw는 095a9852 이다.

 

성공! 다음 단계로 넘어가자.

'Web Hacking > Write Up' 카테고리의 다른 글

[Lord of SQLInjection] darkelf  (0) 2023.12.21
[Lord of SQLInjection] wolfman  (1) 2023.12.21
[Lord of SQLInjection] goblin  (1) 2023.12.21
[Lord of SQLInjection] cobolt  (0) 2023.12.21
[Lord of SQLInjection] gremlin  (1) 2023.12.20