session 변조하였으나 첫번째 문자 이후 비밀번호 매치가 안 됨

base 64 에 포함되는 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789/+에 대해

LEFT(password, "+str(i+1)+") = '"+password_admin+a+"'
이런 식으로 점차적으로 비교하면서
AND IF(1=1, BENCHMARK(1000000000, MD5('test')), 0)
로 위 구문을 통과하였을 때 시간이 길게 측정되도록 time based blind sql injection을 시도하였는데
반복적으로 돌려봐도 첫 번째 문자만(같은 문자가) match되고 이후 두 번째 문자부터 맞는 문자가 발견되지 않습니다. 혹시 잘못한 부분이 있을까요?

반복적으로 "Password will be reset after 5 unsuccessful login attempts." 만 프린트 되는 것은 확인했습니다

#web
작성자 정보
답변 1
avatar
hoppi_
대표 업적 없음

안녕하세요 P3ar9an님
정확하게 판단할 순 없으나, 연산자의 우선순위에서 꼬였을 수 있으므로,
or if(LEFT()..., BENCHMARK(1000000000, MD5('test')), 0) 이런 식으로 시도해보시는 것이 좋을 것 같습니다.

2024.08.05. 18:34
질문에 대한 답을 알고 계신가요?
지식을 나누고 포인트를 획득해보세요.
답변하고 포인트 받기