sfw2 입니다. 일단 1번과 다르게 no의 값도 가져오며 oreder by를 통해 정렬하는거 같습니다. 그래서 일단 pw값으로 삽질해보니 아무것도 바뀌지 않아서 no의 값으로 order by 해보았습니다. 단순히 1로 정렬하면 아무것도 뜨지 않고 desc로 거꾸로 정렬해주니 다음 단계로 넘어가는것 같습니다.
여기서 이제 출제자에게 물어보니 LOS에서 풀었던것 처럼 직접 비밀번호를 구해야 한다고 합니다. 그래서 쿼리문을 만들어서 비밀번호의 길이와 비밀번호를 직접 알아냈습니다. 아래는 비밀번호의 길이와 값을 구한 쿼리문입니다.
길이 : ?no=1%20desc&pw=%27%20||%20id%20in%20(0x61646d696e)%20%26%26%20length(pw)<11%23
값 : ?no=1%20desc&pw=%27%20||%20id%20in%20(0x61646d696e)%20%26%26%20ascii(substring(pw,1,1))<11%23
이 문제를 풀 당시에는 파이썬으로 비밀번호를 알아내는 방법을 자세히 몰랐기 때문에 위의 쿼리문으로 한 글자씩 열심히 삽질하면서 비밀번호를 찾아서 문제를 해결했습니다.
'웹 > sfw' 카테고리의 다른 글
sfw6 (XSS) (0) | 2021.01.08 |
---|---|
sfw5 (information schema SQL injection) (0) | 2021.01.08 |
sfw4 (error based SQL injection) (0) | 2021.01.08 |
sfw3 (time based SQL injection) (0) | 2021.01.08 |
sfw1 (simple SQL injection) (0) | 2021.01.08 |