본문 바로가기

webhacking.kr :: 16번 문제 [100] 소스를 간단하게 보자면 onload=kk(1,1)과 onkeypress=mv(event.keyCode)가 있다. 이중 mv 함수를 보면 cd값에 따라 star를 옮길수 있고, cd==124일때 페이지를 옮긴다. 더보기
webhacking.kr :: 18번 문제 [100] SQL 인젝션 문제필터링을 우회하면 된다.공백에 대한 필터링을 우회한 후, 쿼리의 조건절을 이용해 인젝션 공백의 필터링은 탭, 엔터, 주석 등으로 우회하는데 이경우엔 엔터(%0a)를 이용하였다. 더보기
webhacking.kr :: 10번 문제 [250] 소스를 보면알겠지만 클릭하면 움직인다.this.style.postLeft==800까지 움직이면 다음으로 넘어감사파리에 요소점검을 사용하는법을 몰라 800번 클릭해서 풀었는데, 요소 점검을 사용하면 간단하게 풀 수 있다. 더보기
webhacking.kr :: 15번 문제 [50] 더보기
webhacking.kr :: 12번 문제 [250] 자바스크립트 문제.wtf값을 확인해보니 자바스크립트 코드였다.eval함수에 의해 wtf가 실행되는 듯해서 웹브라우저의 콘솔 디버깅 기능을 이용하여자바스크립트를 디버깅해서 정답 획득!! 더보기
webhacking.kr :: 52번 문제 [200] 헤더 인젝션 문제http://blogs.msdn.com/b/esiu/archive/2007/09/22/http-header-injection-vulnerabilities.aspx 참고 더보기
webhacking.kr :: 4번 문제 [150] 주어진 문자열은 먼저 base64로 인코딩된 모습이라 디코딩 하고 나니다음은 어떤 방식으로 해야할지 몰라 md5, sha1 등 모두 디코딩해보았다. // md5, sha1 등 hash는 단방향 암호화 알고리즘이므로 디코딩이 불가능하다. // 온라인 디코딩 사이트는 대부분 인코딩할때의 hash값과 원본문자열을 DB에 저장해놓고 출력해주는 방식이다.온라인 디코딩 사이트를 통해 원래의 값을 찾아냈다. (sha1으로 hash값이 2번 생성됨) #### 추가 내용 ####base64로 인코딩할 경우, 패딩이 붙을때 마지막은 ==이 된다.해시 알고리즘의 경우, 가변 길이의 문자열을 받아 고정된 길이의 암호화된 해쉬값을 가지는 특징이 있다.md5는 32글자 (128bit)sha0, sha1는 40글자 (160bit).. 더보기
webhacking.kr :: 39번문제 [100] index.phps 가 주석으로 달려있으므로 확인해보면.. POST방식으로 받아온 id의 값에 str_replace와 substr을 호출한 후 mysql 쿼리를 전달한다. 쿼리의 내용을 자세히 보면 SELECT 'good' from zmail_member where id='$POST[id] 으로 마지막 '가 완전히 닫히지 않았다. 이를 닫아주어야 하지만 str_replace에 의해 '는 ''으로 치환되어진다. substr()에 의해 15글자의 문자열만 잘라내는 것을 이용하여 ''을 '까지만 잘라내도록 하여 성공하였다. 더보기
webhacking.kr :: 19번문제 [150] admin으로 로그인해야 하는것같은데 정상적인 방법으로는 로그인이 되지 않았다. 다른 값으로 로그인해보니 쿠키값이 까다로움을 발견.. base64로 인코딩 된듯한 형태였다. base64를 통해 디코딩을 반복하고 난 후, 다음 방법을 알아내는데 헤맸었다.(base64 디코딩은 11번) 단순한 방법이지만 asdf, a, aa, aaa, aaaa 를 넣어보고 쿠키값을 base64로 디코딩한 후 비슷한 패턴이 발견되는 것을 보고 글자 단위로 인코딩 됨을 확인 삽질끝에 찾아낸 패턴은 md5 해쉬값이었다. 1글자씩 md5 해쉬값을 계산하여 이어붙인후 base64 인코딩을 11번했음을 발견 그대로 admin의 쿠키값을 찾아내 쿠키를 변조 더보기
webhacking.kr :: 25번문제 [150] file 내용을 출력해주는 것 같길래password.php를 입력했지만 출력이 안됬다. 초기값이 file=hello.txt 가 아니라 file=hello이길래 확장자에 문제가 있으므로password.php뒤에 NULL값을 넣어주니 패스 더보기