(Lord of SQLInjection) bugbear 문제입니다.
이번문제도 no가 있는걸보니 이부분을 활용하면 될것같습니다.
필터링을 먼저보면 싱글쿼터, substr ascii = or and like 0x 까지 필터링이 엄청 늘었습니다.
우회방법은 이전에 학습것 제외하고 새로우회할 필터링은 공백과 like 입니다.
공백은 abc 사이에 공백을 넣고싶을때 (a)b(c)형태로 괄호를 사용하면되고
like 대신 in ("admin")을 사용하면 된다고 합니다.
그럼 이를 토대로 admin을 출력하는 코드를 작성해보면
no=-1||(id)in("admin")#
위 코드가 되는데 값을 전달하면
admin이 출력됩니다.
이를 토대로 length를 사용해 pw워드의 길이와 값을 찾는 코드를 작성해주면
no=-1||(id)in("admin")&&(length(pw))in({l})#
no=-1||(id)in("admin")&&hex(mid(pw,{i},1)in(hex({j}))#
위와 같은 코드로 작성이 가능한데 이를 URL인코딩해서 파이썬 코드로
리퀘스트 코드 작성을 해서 실행해주면
이전 문제와 마찬가지로 패스워드의 길이는 8
패스워드의 값은 52dc3991 이라고 합니다.
문제사이트에 값을 전달해주면
문제가 해결되었습니다
'Wargame(Web) > Lord of SQLInjection' 카테고리의 다른 글
(Lord of SQLInjection) assassin 문제 (0) | 2022.08.24 |
---|---|
(Lord of SQLInjection) giant 문제 (0) | 2022.08.24 |
(Lord of SQLInjection) darkknight 문제 (0) | 2022.08.24 |
(Lord of SQLInjection) golem 문제 (0) | 2022.08.24 |
(Lord of SQLInjection) skeleton 문제 (0) | 2022.08.17 |