반응형

Blind SQL Injection 2

[LOS] Orge 문제 풀이

문제 풀이 처음에 문제를 보고 org문제와 비슷하다는 생각을 했다. org문제처럼 비밀번호를 직접 알아내야 문제가 풀리는 구조였기 때문이다. org에서는 직접 값들을 일일이 입력해보는 방식으로 문제를 풀었는데 이번에는 파이썬으로 비밀번호를 알아낼 수 있게 코드를 작성해보기로 했다. * 알고리즘 및 코드 설명 org문제와 마찬가지로 코드를 보면 어떤 값이 참이 될 때 Hello admin이 나오는 것을 확인할 수 있다. 그래서 그때와 마찬가지로 우리가 특정 값을 url로 넣었을 때 Hello admin이라는 글자가 페이지에 나온다면 그 조건을 만족하는 것이므로 비밀번호를 유추할 수 있다. 이 성질을 이용해 우리가 넣은 조건이 참인지 거짓인지 판단한다. 우선 length함수를 통해 비밀번호의 길이를 알아내고..

[LOS] Orc 문제 풀이

문제 풀이 우선 밑에서 3번째 줄 if문을 보면 결국 패스워드가 모두 일치해야 이 문제가 풀림을 알 수 있다. 이런 문제 유형을 blind sql injection이라고 한다. 여기서 blind sql injection이란, 직접적으로 우리가 원하는 값을 출력할 수 없는 형태에서 여러가지 함수를 이용하여 특정 값을 추적해나가는 방식을 말한다. 이 문제를 풀기 위해서는 패스워드를 정확하게 입력해야만 한다. 그래서 우선 패스워드의 길이를 알아내가 위해 문자열의 길이를 나타내는 length함수를 이용하여 패스워드의 길이를 알아낸다. 쿼리문이 참이 아닐때는 아무것도 나타나지 않다가 참일 때 Hello admin 글자가 나타나는 성질을 이용해 length에 0부터 대입하여 pw의 길이를 알아낼 수 있다. 알아낸 ..

반응형