32번 문제는 rank, name, hit이 순위대로 표시되어 있는데 name은 나와 같이 웹해킹 공부를 하는 사용자들의 닉네임 같았다. 

100을 채워야 clear하는 삘이다.

맨 아래까지 내려보니 join이라는 버튼이 있었다. 누르니 vote=add를 get방식으로 url에 담아 보내고 있었다.




이제 나도 100을 찍어야하는데 닉네임에 커서를 가져가서 클릭버튼을 누르면




위와 같이 역시 hit=oiehso0을 보내는 것을 알 수 있다.

그렇지만 한번만 유효했고 다음 클릭부터는 no라는 메세지 박스만 뜰뿐이었다.

그래서 체크하는 값이 있나? 생각하며 개발자 도구로 살펴본 결과


위와 같이 vote_check=ok와 같은 쿠키값이 있다는 것을 알게 되었고

파라미터 변조를 통해 ok값을 지운후 100번 쿼리를 날려줬다.



130번이나 해버렸다.



'Web Hacking > Webhacking.kr' 카테고리의 다른 글

Webhacking.kr 42번  (0) 2018.04.26
Webhacking.kr 33번  (0) 2018.04.25
Webhacking.kr 23번  (0) 2018.04.17
Webhacking.kr 20번  (0) 2018.04.17
Webhacking.kr 58번  (0) 2018.04.16



input을 get방식으로 code라는 변수에 받는다. 10번 라인과 같이 그 값이 html코드 상으로 들어가게 되는데

특수문자는 여러개를 연속으로 입력해도 필터링 되지 않지만, 일반 문자는 두개 이상 연속으로 입력하면

no hack이라는 문구와 함께 필터링 되는것을 알 수 있다.





이러한 필터링을 우회하기 위해 여러 공백을 나타내는 문자를 넣어봤지만 아래와 같이 들어갔다.




Null값을 나타내는 %00을 문자 사이에 넣어주었다.

문제가 풀렸는데

 php에서는 Null을 만나게 되면 문자열의 마지막으로 인식을 하기 때문에 문자열 필터를 우회하면서 

html에서는 \u0이 무시되어 표시되는 듯 하다.





'Web Hacking > Webhacking.kr' 카테고리의 다른 글

Webhacking.kr 33번  (0) 2018.04.25
Webhacking.kr 32번  (0) 2018.04.17
Webhacking.kr 20번  (0) 2018.04.17
Webhacking.kr 58번  (0) 2018.04.16
Webhacking.kr 24번  (0) 2018.04.13


20번문제를 보면 javascript challenge라며 프로그래밍 하지말라고 한다.

우선 소스코드를 개발자도구로 본다. 그리고 nickname, comment, code에 아무값을 넣어보기로 한다.


fucntion ck()내부를 보면 id.value가 없으면 nickname 입력창에 focus가 되고 이하 마찬가지로

comment 입력창과 code 입력창에 어떠한 값이 존재해야만 다음 최종 조건문에 진입 할 수 있었다.



ck()함수의 조건문을 다 충족하고 여러값을 submit 해봤지만 문제가 풀리지않았다. 

  <-- 시간제한이 2라는 문구를 다시 보게 되면서 

개발자 도구의 console을 이용해서 2초내로 아래 메모장에 있는 코드를 실행해주면 성공



'Web Hacking > Webhacking.kr' 카테고리의 다른 글

Webhacking.kr 32번  (0) 2018.04.17
Webhacking.kr 23번  (0) 2018.04.17
Webhacking.kr 58번  (0) 2018.04.16
Webhacking.kr 24번  (0) 2018.04.13
Webhacking.kr 14,17번  (0) 2018.04.13

+ Recent posts