webhacking.kr 20번 write-up
·
웹/웹 해킹 문제
20번 문제를 들어가면 위와 같이 화면이 구성되며 시간제한, 커맨트, 캡차 항목을 볼 수 있다. 해당 입력란에 아무 문자나 입력을 해서 submit을 하면 아무런 반응이 없다. 소스코드를 자세히 들여다보자 body 태그의 일부분이다. form태그의 post방식으로 데이터를 입력할 수 있으면 입력란들은 테이블방식으로 구성되어져 있다. 각 구성란에는 catcha, comment, nickname 들을 입력할 수 있다. button 타입의 입력을 볼 수 있으며 클릭시 ck()함수가 실행된다. ck 함수가 어떻게 정의되어있는지 확인하자 ck함수는 js구문이며 if문에 보이는 lv5frm.id.value는 form태그의 name.input태그의 name.value를 통하여 name이 id인 태그의 value를 지..
webhacking.kr 23번 write-up
·
웹/웹 해킹 문제
23번 문제는 이 스크립트를 주입하는 것이 목표라고 한다. 제출입력 칸에 해당 구문을 입력하면 no hack 이라며 오류가 난다 필터링이 걸려있는것 같다. 필터링이 어떤 식으로 걸려있는지 코드에는 안 나와있고 별다른 특징이 없다. 직접 입력 칸에 타이핑을 해보았고 영어문자중에 2글자를 이어붙일때 필터링되는 것을 알았다 즉 1칸씩 따로 떨어뜨려서 구문을 작성해야 한다. a l e r t(1); 로 영문자만 떨어뜨려 제출을 하니 아래와 같이 -이 출력되었다. 공백이 인식되어 이런 식으로 출력되는 것 같다. 그래서 공백과련 우회를 검색하다 null을 이용한 우회가 있음을 알게되었다. null 은 아무의미가 없는 문자로 공백도 아니며 '존재하지 않는 값'으로 불린다. 이 문자에 사칙연산을 하면 적용이 될 것 같..