Webhacking Writeup 56번 문제입니다.
문제사이트에 접속하면 admin과 guest의 subject링크를 제공해줍니다
먼저 guest를 들어가보면
hello~ 가 존재하고
admin은
접근불가 라고 합니다.
여기서 의문이였던게 search는 무엇을 하는 녀석인가를 생각했었는데
처음에는 1, 0도 입력해보고
admin guest도 입력해봤으나
값이 나오지를 않았습니다.
계속 시도하다가
a 같은 문자열 하나를 입력해보니
admin이 출력되는 것을보고 DB내부의 값을 검색한다는 것을 알았습니다.
무슨 구문으로 검색하는지 찾기위해
guest를 이용해 시도를 해보니
guest가 검색됩니다.
그렇다면 like%seacrh% 형태로 이루어져있다는 것을 예상할 수 있었습니다.
해서 와일드카드인 _로 확인해보는 것으로 확정지을 수 있습니다.
hello~ 이니 길이가 6개이므로
'______' 을 입력했을때 출력이되면 확인할 수 있습니다.
언더바 '_' 6개일경우
언더바 '_' 7개일 경우
즉 like %search% 형태로 이루어져있고
admin의 길이는 7이상이라는 것을 확인했습니다.
길이를 확인하기 위해 버프스위트를 이용해봤는데
언더바의 길이가 44개이상이면 admin이 검색되지 않는 것으로
admin의 내부 결과는 길이가 44인것을 확인했습니다.
이제는 값을 대입해 찾아야 하므로 코드를 작성하면
일단 이전에 a를 입력했을때 검색이 되었기에 영문자를 먼저 검색하기로 했습니다.
ag{ 로 괄호가 열리는 것을보고 FLAG를 눈치 챌수 있었고
FLAG{ 를 추가한후 다시 코드를 돌려봤습니다.
himiko 이후 계속 무한반복을 돌며 값을 찾지 못하더라구요
해서 범위를 늘린후에 찾아봤습니다.
범위를 늘리니 소문자가 아닌 대문자로 검색되었지만
어차피 mySQL에서는 대소문자를 구분하지 않기에 상관이 없습니다.
문제는 저기에서 계속 무한반복을 한다는 문제점인데
길이를 계산해보니 마지막 언더바가 대괄호( } ) 이면 딱 길이가 맞더라구요
어째서인지 대괄호를 인식못하는 문제가 있는데
이부분은 작성자의 SQL지식이 부족해 좀더 찾아보고 후에 추가로
적어보겠습니다.
어쨋든 마지막 언더바 대신 대괄호를 사용해서
auth에 FLAG를 제출하면
문제가 해결되었습니다.
'Wargame(Web) > Webhacking.kr Writeup' 카테고리의 다른 글
Webhacking Writeup 44번 문제 (0) | 2022.08.16 |
---|---|
Webhacking Writeup 61번 문제 (0) | 2022.08.15 |
Webhacking Writeup 42번 문제 (0) | 2022.08.15 |
Webhacking Writeup 4번 문제 (0) | 2022.08.15 |
Webhacking Writeup 27번 문제 (0) | 2022.08.15 |