LOS orc Lord of SQL injection 4번
이번에 풀어볼 문제는 orc 이다.
1,2,3 번에 나왔던 문구와는 조금 달라졌다. 진짜 pw 의 값을 찾아야 하는 문제인 것 같다.
뒤에 pw 값을 공백으로 채워주고 or '1=1 을 넣어서 무조건 참이 되게하는 값을 넣었지만 Hello admin이라고만 뜬다.
따라서 직접 pw 를 구해볼 것 이다.
이 문제의 경우 blind sql injection 이라고 불린다. 나는 가장 먼저 pw 의 길이를 알아볼 것이다.
원래 무조건 참이 되는 값인 ' 1=1 을 빼고 그자리에 length(pw) = '패스워드 개수' 를 넣어서
Hello admin 이 뜬다면 password 의 자릿수를 알 수 있을것이다.
위 사진에서는 password 의 수가 7 개라고 했지만 Hello admin 이 뜨지않았으므로 패스워드의 자릿수는 7이 아니다.
하지만 8을 넣어주자 Hello admin 이 나오는것을 볼 수 있다.
이것으로 패스워드의 자릿수는 8개라는것을 알 수 있따.
여기서 푸는방법은 2가지로 나뉜다.
1. python 으로 직접 코딩해서 pw 찾기
2. substr 함수를 사용하여 노가다 하기.
필자는 개인적으로 1번 방법을 추천하지만 지금 나의 컴퓨터로 포스팅을 하는것이 아님으로
프로그램을 맘대로 설치하지 못한다. 따라서 2번 방법을 쓰도록 하겠다 ㅠㅠ
바로 이런식으로 첫번째 비밀번호부터 시작해서 찾는 노가다가 시작되는 것이다.
만약 첫번재 pw 가 맞다면 아래와 같은 사진이 뜰것이다.
반가운 Hello admin... python 코드로 쓰면 requests 사용해서 Hello admin 뜰때까지 for문 사용해서 쉽게 구할 수 있는데....
여튼 이런식으로 다 찾아준다.
첫번째 는 0 두번째는 9
3번째는 5 ... 뭐 이런식으로 찾다보면 다 나온다.
095a9852 가 정답인듯 하다.
python을 쓰는것을 강력하게 추천한다!