본문 바로가기

Web Hacking/Write Up

[Lord of SQLInjection] golem

문제

or, and, substr(, = 이 필터링 되어있다.

 

우회하는 방법
or -> ||
and -> &&
substr('문자',몇 번째, 1) -> right(left('문자',몇 번째),1)
= -> like

 

입력받은 pw 값과 쿼리 결과로 출력된 pw 값이 같다면 풀리는 문제이다.

 

즉 admin의 pw를 정확히 알아내야 하는 것이다.

 

현재 첫 번째 쿼리에 입력되어있는 id의 값은 guest 이기 때문에 id 값을 다시 지정해줘야하고

pw를 알아내기 위해서 length 함수를 이용해 pw 길이부터 알아내보자.

 

pw=' || id like 'admin' && length(pw) like 1# 입력해주기

 

빠른 결과 확인을 위해 burp의 intruder 사용해보자.

 

아는 내용일테니 빠르게 넘어가겠습니다. 이제 익숙하시죠 ? ㅎㅎ

Start attack!

 

pw의 길이는 8이라는 것을 확인했고 substr 대신 left와 right 함수를 사용하여 한글자씩 무작위 대입 공격을 해봅시다.

 

Start attack!

 

pw가 77d6290b라는 것을 확인했다.

 

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

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

[Lord of SQLInjection] skeleton  (0) 2023.12.21
[Lord of SQLInjection] vampire  (0) 2023.12.21
[Lord of SQLInjection] troll  (0) 2023.12.21
[Lord of SQLInjection] orge  (0) 2023.12.21
[Lord of SQLInjection] darkelf  (0) 2023.12.21