일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 스프링 배치
- 보안
- 포너블
- webhacking.kr
- sequelize
- 프로그래머스
- 시스템 해킹
- hackctf
- nodejs
- node.js
- 사이버보안
- 네트워크
- 파이썬
- Python
- gcp
- programmers
- pwnable.xyz
- Baekjoon
- docker
- 백준
- spring Batch
- cloud run
- kotest
- 리버싱
- 회고
- 웹보안
- gcp cloud build
- Batch
- gcp ci/cd
- 웹해킹
uju's Tech
2. webhacking.kr 4번 본문
<본 포스팅은 공부목적으로 작성되었습니다. 혹시 틀린 부분이 있거나 문제가 되는 부분이 있다면 답글 달아주세요!>
webhacking 4번을 풀어보겠다.
4번 문제를 들어가보면 제일 먼저 나오는 화면이다.
password 와 password를 입력하는 부분 그리고 제출 버튼이 있는 것을 볼 수 있다.
위에 암호화된 문자열이 보인다. 이것이 password라고 추측해 볼 수 있다.
맨 뒤에 == 을 보고 base64 방식으로 암호화 되어진 것을 알 수 있다.
base64 디코딩 사이트를 들어가서 복호화를 해보니
c4033bff94b567a190e33faa551f411caef444f2 이렇게 나온다.
이것을 보니 어떤 함수로 암호화 되는지 알 수 없어서 구글링을 해보았다.
SHA1 알고리즘 방식으로 암호화 되었다는 것을 알 수 있었다.
<참조>
* SHA(Secure Hash Algorithm) : 암호학적 해시 함수들의 모음
* HASH Function : 데이터의 효율적 관리를 목적으로 임의이 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수이다. 해시 함수에 의해 얻어지는 값은 해시 값, 해시 코드,해시 체크섬 또는 간단하게 해시라고 한다, 그 용도 중 하나는 해시 테이블 이라는 자료구조에 사용되면, 매우 빠른 데이터 검색을 위한 컴퓨터 소프트웨어에 널리 사용된다.
해시 함수는 큰 파일에서 중복되는 기록을 찾을 수 있기 때문에 데이터베이스 검색이나 테이블 검색에 속도를 가속할 수 있다. Hash는 보안 분야에서도 널리 사용되는데 키와 해시값 사이에 직접적 연관이 없어 키 복원이 어렵다.
또한 길이가 서로 다른 데이터에 대해 일정한 길이의 출력을 만들 수 잇어 데이터 축약이 가능하다.
해시함수는 암호학적 해쉬함수와 비암호학적 해쉬함수로 구분된다.
암호학적 해시함수의 종류로는 MD5,SHA 계열 해쉬함수가 있다.
비암호학적 해쉬함수로는 CRC32등이 있다.
HASH함수의 특징으로는 같은 입력 값에 대해서 같은 출력값 보장이 있다.
그러나 입력이 다름에도 불구하고 해쉬함수 충돌이 일어나 드물에 동일한 값이 출력될 수도 있다 .(비둘기 집의 원리 참조 ) ___[참조: 위키백과]
SHA1 알고리즘으로 암호화되었다는 것을 알았으니 복호화를 해보도록하자.
https://hashkiller.co.uk/Cracker/SHA1
본인은 위 사이트에서 복호화를 해보았다.
복호화를 해보니 문자열 tset가 나왔다
password 입력란에 test를 입력하니 통과!
'Security > Webhacking.kr' 카테고리의 다른 글
6. Webhacking.kr 58번 (0) | 2020.06.13 |
---|---|
5. Webhacking.kr 32번 (0) | 2020.06.13 |
4. webhacking.kr 24번 (0) | 2020.06.13 |
3. webhacking.kr 18번 (0) | 2020.06.13 |
1. webhacking.kr 가입하기 (0) | 2020.06.13 |