본문 바로가기

[webhacking.kr] Challenge 04 :: Base64, SHA1 ▼ Challenge 04는 다음과 같습니다. 예전 문제에서 Base64 관련된 문제를 풀어 봤으므로 한눈에 Base64로 Encoding된 값인 것을 알 수 있습니다. Base64 Decoding은 webhacking.kr의 홈페이지에서도 가능하지만, ▼ 다음과 같이 저는 Python을 이용하여 Decoding 해보았습니다. Decoding을 한번 했더니, 위와 같은 값이 출력됩니다. 문자의 갯수가 40자리인 것을 보니 SHA1 Hash 값이라는 것을 추측할 수 있습니다. MD5 : 출력값 길이 128비트 ( 16진수(4비트씩)로 32바이트 )SHA1 : 출력값 길이 160비트 ( 16진수로 40바이트 ) SHA256 : 출력값 길이 256비트 ( 16진수로 64바이트 ) 해당 값을 SHA1 Decry.. 더보기
[webhacking.kr] Challenge 06 :: Base64 ▼ Challenge 6은 다음과 같습니다. ▼ index.phps의 php 소스는 다음과 같습니다. [Encoding 과정] [Decoding 과정] Encoding 과정과 Decoding 과정이 있습니다. 그런데 과정이 역순으로 결국 처음 입력값과 마지막 출력값이 동일하다는 것을 추측할 수 있습니다. 결국 Cookie 안에 user와 password 값을 admin으로 입력하면 문제가 풀리겠군요. 처음 페이지에 접속하면 HTML을 받아오기 전에 Encoding 과정이 끝나므로 admin을 Base64로 20번 Encoding한 값을 입력해주어야 합니다. ▼ Paros를 사용하여 Cookie의 user 부분과 password 부분에 admin을 Base64로 20번 Encoding한 값을 입력해주면 문.. 더보기
[webhacking.kr] Challenge 54 :: Javascript ▼ Challenge 54는 다음과 같습니다. Password is _ 다음 한 문자가 빠르게 지나가고, 이것을 알아내는 것이 문제인 것 같습니다. ▼ 소스코드를 보니 Javascript가 있습니다. HTML 코드에서 Password is 다음 Font 태그의 id가 aview이고 아래 Javasciprt의 answer함수에서 x.responseText 값을 aview.innerHTML 을 통해 출력하고 있습니다. innerHTML : Javascript에 의해 HTML 태그 내부 값 변경responseText : 서버의 응답을 텍스트 문자열로 반환 ( run() 함수가 무슨 동작을 하는지는 잘 몰라서, 추후에 올리도록 하겠습니다. ) 바로 본론으로 들어가서 ▼ 아래와 같이 Javascript를 조그만 .. 더보기