webhacking.kr :: 16번 문제 [100]

Posted by ORANG ORANG(오랑)
2014.12.12 15:53 Web Hacking/webhacking.kr






소스를 간단하게 보자면 onload=kk(1,1)과 onkeypress=mv(event.keyCode)가 있다.


이중 mv 함수를 보면 cd값에 따라 star를 옮길수 있고,


cd==124일때 페이지를 옮긴다.



이 댓글을 비밀 댓글로

webhacking.kr :: 18번 문제 [100]

Posted by ORANG ORANG(오랑)
2014.12.12 15:37 Web Hacking/webhacking.kr


SQL 인젝션 문제

필터링을 우회하면 된다.

공백에 대한 필터링을 우회한 후, 쿼리의 조건절을 이용해 인젝션


공백의 필터링은 탭, 엔터, 주석 등으로 우회하는데 이경우엔 엔터(%0a)를 이용하였다.






이 댓글을 비밀 댓글로

webhacking.kr :: 10번 문제 [250]

Posted by ORANG ORANG(오랑)
2014.12.11 20:07 Web Hacking/webhacking.kr




소스를 보면알겠지만 클릭하면 움직인다.

this.style.postLeft==800까지 움직이면 다음으로 넘어감

사파리에 요소점검을 사용하는법을 몰라 800번 클릭해서 풀었는데, 요소 점검을 사용하면 간단하게 풀 수 있다.



이 댓글을 비밀 댓글로

webhacking.kr :: 15번 문제 [50]

Posted by ORANG ORANG(오랑)
2014.12.11 19:17 Web Hacking/webhacking.kr




이 댓글을 비밀 댓글로

webhacking.kr :: 12번 문제 [250]

Posted by ORANG ORANG(오랑)
2014.12.11 05:46 Web Hacking/webhacking.kr







자바스크립트 문제.

wtf값을 확인해보니 자바스크립트 코드였다.

eval함수에 의해 wtf가 실행되는 듯해서 웹브라우저의 콘솔 디버깅 기능을 이용하여

자바스크립트를 디버깅해서 정답 획득!!



이 댓글을 비밀 댓글로

webhacking.kr :: 52번 문제 [200]

Posted by ORANG ORANG(오랑)
2014.12.10 13:48 Web Hacking/webhacking.kr


헤더 인젝션 문제

http://blogs.msdn.com/b/esiu/archive/2007/09/22/http-header-injection-vulnerabilities.aspx 참고





이 댓글을 비밀 댓글로

webhacking.kr :: 4번 문제 [150]

Posted by ORANG ORANG(오랑)
2014.12.10 13:16 Web Hacking/webhacking.kr



주어진 문자열은 먼저 base64로 인코딩된 모습이라 디코딩 하고 나니

다음은 어떤 방식으로 해야할지 몰라 md5, sha1 등 모두 디코딩해보았다.

 // md5, sha1 등 hash는 단방향 암호화 알고리즘이므로 디코딩이 불가능하다.

 // 온라인 디코딩 사이트는 대부분 인코딩할때의 hash값과 원본문자열을 DB에 저장해놓고 출력해주는 방식이다.

온라인 디코딩 사이트를 통해 원래의 값을 찾아냈다. (sha1으로 hash값이 2번 생성됨)


#### 추가 내용 ####

base64로 인코딩할 경우, 패딩이 붙을때 마지막은 ==이 된다.

해시 알고리즘의 경우, 가변 길이의 문자열을 받아 고정된 길이의 암호화된 해쉬값을 가지는 특징이 있다.

md5는 32글자    (128bit)

sha0, sha1는 40글자    (160bit)

sha224는 56글자    (224bit)

sha256는 64글자    (256bit)

sha384는 96글자    (284bit)

sha512는 128글자    (512bit)










  1. 님 질문이 있어요
    md5는 32글자 (128bit)
    sha0, sha1는 40글자 (160bit)
    sha224는 56글자 (224bit)
    sha256는 64글자 (256bit)
    sha384는 96글자 (284bit)
    sha512는 128글자 (512bit)

    128비트면... 바이트로 고치면 16바이트니까 16글자 아닌가요???
    256비트면 32바이트고 32글자...아닌가요?
    헷갈리네요..ㅋ 님이 맞나요???ㅋ
      • hong8yung
      • 2017.01.06 05:12 신고
      아스키 코드 기준 글자 1바이트가 아닌
      16비트(0~F) 글자 기준인것 같아요.
이 댓글을 비밀 댓글로

webhacking.kr :: 39번문제 [100]

Posted by ORANG ORANG(오랑)
2014.12.10 04:25 Web Hacking/webhacking.kr




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]

Posted by ORANG ORANG(오랑)
2014.12.10 02:05 Web Hacking/webhacking.kr




admin으로 로그인해야 하는것같은데 정상적인 방법으로는 로그인이 되지 않았다.


다른 값으로 로그인해보니 쿠키값이 까다로움을 발견.. base64로 인코딩 된듯한 형태였다.


base64를 통해 디코딩을 반복하고 난 후, 다음 방법을 알아내는데 헤맸었다.

(base64 디코딩은 11번)


단순한 방법이지만 asdf, a, aa, aaa, aaaa 를 넣어보고 쿠키값을 base64로 디코딩한 후


비슷한 패턴이 발견되는 것을 보고 글자 단위로 인코딩 됨을 확인


삽질끝에 찾아낸 패턴은 md5 해쉬값이었다.


1글자씩 md5 해쉬값을 계산하여 이어붙인후 base64 인코딩을 11번했음을 발견


그대로 admin의 쿠키값을 찾아내 쿠키를 변조





이 댓글을 비밀 댓글로

webhacking.kr :: 25번문제 [150]

Posted by ORANG ORANG(오랑)
2014.12.08 19:42 Web Hacking/webhacking.kr




file 내용을 출력해주는 것 같길래

password.php를 입력했지만 출력이 안됬다.


초기값이 file=hello.txt 가 아니라 file=hello이길래 확장자에 문제가 있으므로

password.php뒤에 NULL값을 넣어주니 패스

이 댓글을 비밀 댓글로