728x90
4번째 문제이다.
문제 1,2 번 처럼 pw 의 조건을 무력화 시킨다.
진짜 문제는 pw 의 값을 찾아내야하는 blind injection 이다.
그러기 위해서는 pw 길이를 찾고 모든 문자열을 대입해서 비밀번호를 찾아야 한다.
사용하는 함수는 length 와 substr 이다.
length 로 먼저 암호의 길이를 찾아야 한다.
길이가 4와 8 모두 통과를 한다.
그말은 암호 길이가 4인 레코드와 8인 레코드가 모두 존재한다는 것이다.
그럼 admin 의 암호 길이는??
length 함수 옆에 조건 id=admin 을 붙여준다.
그리고 암호를 대입하는 것은 아래의 블로그에 도움을 받았다.
매크로 코드도 있어서 python으로 돌려보면 암호도 쉽게 찾을 수 있다.
여기에서 암호를 찾을 때 ascii 값으로 찾는데 이유는 중간에 있는 addslashes 함수 때문이다.
string 문자열을 사용하려면 쿼드를 사용해야하는데 addslashes 에서 쿼트가 문자열로 변경되버리기 때문에 중간 부분을 뚫을 수가 없다.
그래서 ascii 문자열 값으로 찾아야 한다.
암호의 첫번째 문자열이 '0' 이므로 이를 ascii 값으로 변환할때는 0x48 즉 '48'인지를 비교해야 한다.
[wargame] Load of SQL injection (4번. orc 문제)[코드포함] (tistory.com)
그렇게 해서 찾고나면
단계가 점점 어려워지네..
728x90
728x90