Webhacking.kr 4번
·
Webhacking.kr
base64로 인코딩 된 문자열을 볼 수 있다. 디코딩 하면 암호화 된 문자열이 나오는데, 길이를 보면 SHA 일 거 같은 느낌이 든다. 해쉬함수는 일방향 함수이기 때문에 이론적으로 복호화가 불가능하다. 따라서 레인보우 테이블 등을 이용하여 복호화를 진행해야 한다. 복호화 하면 또 다른 SHA1 값이 나온다. 이전 사진에서 얻은 SHA1 값을 또 다시 복호화하면 "test" 문자열이 나온다. 4번 문제 페이지에서 최종 결과 "test"를 입력한다.
Webhacking.kr 3번
·
Webhacking.kr
퍼즐이 나타난다. 풀고 gogo 버튼을 눌러야지 다음 단계로 넘어간다. 위 사진과 같이 풀면 된다. name 입력 창이 나타나는데 느낌이 SQL-Injections 문제이다. 일단 name 부분에 임의의 값을 입력한다. 입력하면 페이지 하단에 name, answer, ip 값들이 출력된다. 혹시 name에 따라 answer가 다르게 나오는지 확인하기 위해 다른 아이디를 입력해보아도 answer 값은 동일하게 나온다. name='bob'를 입력하고 'write' 버튼을 누르면 위 사진과 같이 패킷이 날라간다. answer, name 변수를 모두 조절할 수 있기 때문에 해당 변수를 이용해서 문제를 풀어야 한다. 여러 SQL-Injection 기법을 사용하다 보면 "no hack"이라는 메시지를 볼 수 있는데..
Webhacking.kr 2번
·
Webhacking.kr
2번 문제 페이지 소스를 보면 시간 값이 주석으로 나타난다. 쿠키를 보면 세션 값 이외 "time" 값이 추가되었다. "time" 값을 참으로 설정한다. 쿠키의 "time" 값이 참인 경우 시간값 끝부분이 '1' 로 변한다. "time" 값을 거짓으로 설정한다. 쿠키의 "time" 값이 거짓인 경우 시간값 끝부분이 '0' 으로 변한다. "time" 값이 인젝션 포인트 인것은 확실하니 인젝션에 자주 사용되는 함수가 필터링 되는지 확인한다. 함수가 필터링 되면 주석에서 시간값이 아예 사라진다. 2번 문제의 상단 메뉴 중 "Board"로 가면 글이 하나 있다. 그리고 "FreeB0aRd" 라는 문자열이 보이는데 웹 해킹은 게싱("Guessing") 또한 중요하기 때문에 해당 문자열을 데이터베이스의 테이블 값으..