DoR@Hee의 끄적끄적
WebHacking.kr 5번 본문
문제 처음 시작화면 2개의 버튼이 존재한다.
개발도구로 뒤져보고있는대 join은 클릭 시 javascript 함수 no();를 호출한다. (이건 아니구나 배제)
역시 로그인 폼 나오면 SQL 가장 기본적인 구문을 입력했다.
id가 admin이 아니랜다
그래서 admin이란 문자열을 넣고 sql을 입력했다
또 어드민이 아니랜다. 그래서 처음부터 다시 보기로 했다.
자바스크립트 no 함수의 location.href가 수상했다. mem?경로를 보여준다?
디렉터리 리스팅 취약점이 존재했고 join.php에 들어가 보았다.
자바스크립트 코드가 난독화 돼있었고
1차적으로 javascript 난독화 돼있는걸 사이트에서 정렬 시킨 후 크롬-콘솔에서 일일이 대입해서 메모장에 옴겨적으니
oldzombie라는 문자열을 가진 쿠키가 존재해야하고 파라미터값으로 mode =1 이 필요하댄다.
이러한 회원가입? 창이 생겨났고, 처음엔 그냥 회원가입 하려고했지만 안됐다.(사진 못찍음)
input태그를 자세히 보니 maxlength가 5로 지정되었고 , admin으로 가입하고위해 %20(공백)을 넣어서 가입했더니
가입 ! 후
성공
※%20을 넣었을 때 admin으로 회원가입이 되는 이유는 php 의 버그?로 발생하는 것인대
db column의 길이가 제한되어 있으면, 그 이상의 값이 db로 들어와도 max길이 만큼 짤라서 저장한다.
그래서 이러한 경우에 admin - length =5 라서 %20은 db에 저장하지 않기 때문에 admin으로 가입 할 수 있다.
'WarGame > WebHacking.kr' 카테고리의 다른 글
Webhacking.kr 7번 (0) | 2019.02.10 |
---|---|
WebHacking.kr 6번 (0) | 2019.02.01 |
WebHacking.kr 4번 (0) | 2019.02.01 |
WebHacking.kr 3번 (0) | 2019.02.01 |
Webhacking.kr 1번 (0) | 2019.02.01 |
Comments