assasin 문제입니다.
처음에 풀때는 id를 admin으로 맞추면 되는줄 알고 계속 하다가 안되길래... 고민하다가 = 대신 like를 사용하길래 검색해 봤더니 like 는 정규식을 이용해서 특정 문자를 검색할 수 있다고 한다.
방법은 select id from 테이블명 where 컬럼명 like 찾고싶은문자% ;
찾고싶은문자% 는 처음에 찾고싶은문자로 시작되는 것,
%찾고싶은문자 는 마지막에 찾고싶은문자로 되어있는 것,
_ _ _ _ _ (띄어쓰기 제외) 는 글자수를 찾는 것
으로 할 수 있다고 한다.
패스워드는 총 8글자이고 _ _ 의 갯수를 다르게해도 안나오는걸 보면 guest와 admin이 같은 길이인 것 같다.
사실 이 8글자를 다 찾을 필요는 없다.
초반에는 guest와 admin의 비밀번호가 같은데 어느순간 비밀번호가 달라지는 구간이있다.
그 구간을 넣어주면 자동으로 id 가 admin으로 선택되기 때문에.... 그 구간만 찾으면 된다.
guest와 admin의 첫번째 문자는 8 이다.
이제 _를 추가해주면서 두번째 문자, __ 추가후 세번째 문자를 알아내면 된다. 코드를 짜도 되지만 할 줄몰라서 그리 오래걸리지 않으므로...
admin은 세번째 문자가 달라진다.
'Wargame > Lord Of SQLinjection' 카테고리의 다른 글
[Lord of SQLinjection] - succubus (0) | 2017.01.05 |
---|---|
[Lord of SQLinjection] - zombie assassion (0) | 2017.01.05 |
[Lord of SQLinjection] - giant (0) | 2017.01.05 |
[Lord of SQLinjection] - bugbear (0) | 2017.01.04 |
[Lord of SQLinjection] - darkknight (0) | 2017.01.04 |