Login 버튼을 누르면 로그인 폼이 나오게 됩니다.
a/a라는 값을 넣었을 때 id가 admin이여야 한다는 메시지가 나오게 됩니다.
그래서 Join버튼으로 가입을 해보고자 눌러보면 Access_Denied라는 alert창이 나오게 됩니다.
소스를 보시면 버튼을 누르면 alert 메시지를 띄우는 script가 작성되어 있었습니다.
Login 버튼을 누를 때는 mem/login.php 로 이동하는 것을 보고 URL에 mem을 추가해봤습니다.
URL에 mem을 추가해서 이동해보니 join.php와 login.php가 있었고 join.php로 이동해봅니다.
join.php로 이동하면 빈 화면이 반겨주게 되는데 소스를 확인해보면 script로 아래와 같은 문자열이 적혀있었습니다.
복잡해 보이지만 해석해보면
① document.cookie의 oldzombie 라는 값이 있는가?
② document.URL의 mode=1 이 있는가?
입니다.
cookie값에 oldzombie를 추가하고, URL의 ?mode=1를 추가해주면 join 폼이 나오게 됩니다.
admin으로 가입을 시도해보면 해당 계정은 이미 존재한다고 나옵니다.
소스를 확인해보면 id의 길이가 5로 제한되어 있는 것으로 보아 DB에 저장되는 값은 5글자로 제한되어 있다고 짐작할 수 있습니다.
해당 글자 수를 6으로 늘리고 id에 admin과 공백을 넣어주고 가입을 시도하면 DB에 저장될 때 앞 5자리만 저장하고 뒤에 값들은 버리게 됩니다.
'WarGame > webhacking.kr' 카테고리의 다른 글
[webhacking.kr] prob 11 (0) | 2018.12.04 |
---|---|
[webhacking.kr] prob 10 (0) | 2018.12.04 |
[webhacking.kr] prob 6 (0) | 2018.12.04 |
[webhacking.kr] prob 4 (0) | 2018.12.04 |
[webhacking.kr] prob 1 (0) | 2018.12.04 |