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

+ Recent posts