728x90
반응형
500점인 40번 문제를 풀어보자.
첫 화면에는 입력값에 guest가 들어있었다. 로그인 시도했을 때 guest계정으로 로그인이 정상적으로 이루어진 것을 볼 수 있다.
id값을 admin으로 바꾼 후 로그인을 시도했지만 Failure가 반환된다.
no=0으로 했을 때에는 성공/실패가 뜨지 않았다. 그러나 no=0||1=1 과 1=2 or조건을 붙였을 때는 성공/실패가 뜬다.
해당 no 파라미터에 injection이 가능한 것으로 확인된다.
?no=0||id=admin&id=guest&pw=guest -> access denied
or 조건에 id가 admin인 조건을 넣었을 때는 access denied이 반환된다.
해결방법을 찾아보니 admin을 hex값으로 변환시켜 넣으면 된다.
?no=0||id=0x61646d696e&id=guest&pw=guest
admin의 pw를 입력할 수 있는 페이지가 나오게 된다.
우선 pw의 길이를 알아내기 위해 length()함수를 사용하자.
?no=0||length(pw)=1&id=guest&pw=guest
1부터 입력하여 admin password 입력페이지가 나올 때까지 시도해보자.
pw의 길이는 10자리이다.
2번째 pw가 출력이 안되는 이유는 guest의 2번째 pw와 admin의 2번째 pw가 똑같이 때문이다.
password : luck_admin
728x90
반응형
'CTF & WarGame > webhacking.kr' 카테고리의 다른 글
[webhacking.kr] 42번 문제 (0) | 2020.03.14 |
---|---|
[webhacking.kr] 41번 문제 (0) | 2020.03.14 |
[webhacking.kr] 39번 문제 (0) | 2020.03.14 |
[webhacking.kr] 38번 문제 (0) | 2020.03.14 |
[webhacking.kr] 37번 문제 (0) | 2020.03.14 |