일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Stream cipher
- 대칭키 암호
- 파이썬
- forensic
- NFPC
- Defcon
- C언어
- 웹
- block cipher
- c
- WEB
- CTF
- Symmetric key algorithm
- pythonchallenge
- 암호수학
- DefCon 21
- 암호학
- 대칭키암호
- php
- Symmetric key crypto
- 암호
- 파이썬 문제
- 파이썬 문법
- 포렌식
- 파이썬 공부
- The python challenge
- python
- Symmetric key
- network forensic
- 네트워크
- Today
- Total
목록Computer (43)
Hardner
The Python Challenge: level 3 아래 글의 해석: "하나의 소문자, 정확히 3개의 큰 보디가드에게 좌우가 둘러싸여져있다. " 사진을 참고해서 의역해보면 "하나의 소문자 좌우에 3개의 대문자로 둘러싸여져있다."란 말 같습니다. 이외에 별다른 내용이 없으므로 페이지 소스를 열어서 코드를 확인해 보겠습니다. HTML 태그 아래를 보면 이렇게 긴 주석이 발견됩니다. 직접 하나하나 찾을 수도 있지만 주석의 길이가 이미지보다 훨씬 길고 파이썬 공부를 위해 하는 것이기 때문에 직접 코딩을 해보았는데 1번은 가지고 있는 지식을 토대로 한 것이고, 2번은 1번을 풀고 코딩을 간략화 하고 싶어서 정규표현식을 공부하여 코딩한 내용입니다. file = ''' 주석 문장 ''' cnt = 0 # 하나의 소..
The Python Challenge: level 2 아래 글의 해석: " 페이지 소스안에 있는 문자들을 알아봐라 " 이 글을 참고하여 페이지 소스를 열어 보면 html 태그 아래에 위와 같은 주석이 보입니다. 맨 위에 있는 주석의 뜻을 해석하면 "아래의 난잡한 문자들 안에서 희귀한 것을 찾아라"라는 의미인 것 같습니다. 희귀한 문자를 찾기위해서 문자들의 개수를 구해야하기 때문에 Python에서 Collections 모듈의 Counter 함수를 이용해보겠습니다. Counter 함수란 동일한 값의 자료가 몇개인지를 파악할 때 사용하는 것인데 문자열을 입력하면 { 문자 : 개수 }의 딕셔너리 형태로 반환해줍니다. 주석안에 적혀있는 문장이 위에 적힌 내용보다 훨씬 길기 때문에 묶어주기 위해서 위와 같이 코딩을..
The Python Challenge : level 1 사진에있는 문자를 보고 추리해보면 K -> M, O -> Q, E -> G 모두 두번 이동하는 것을 알 수 있었고 이를 통해 시저 암호에 관한 문제일 것이라는 생각을 할 수 있었습니다. 분홍색으로 적혀 있는 문자가 시저암호로 암호화 되어있는거 같아. 복호화 코딩을 했습니다. 암호화를 하는 키 값이 문제의 사진을 보고 2로 추측하여 복호화합니다. 복호화한 결과를 다시 정리 하자면 "i hope you didnt translate it by hand. thats what computers are for. doing it in by hand is inefficient and that's why this text is so long. using string..
The Python Challenge : warming up Python 공부를 하기 위해 The Python Challenge 문제를 풀어 보도록 하겠습니다. 우선 URL에 pythonchallenge.com 이라고 입력하면 위의 사진과 같은 사이트가 나옵니다. 문제를 풀기 위해 "Click here to get challenged"를 클릭하면 아래와 같은 페이지로 이동합니다. 힌트를 참고하여 가운데의 238이 눈에 띄니까 0.html을 238.html로 바꾸어보았습니다. 그러면 위와 같은 페이지가 나오는데 이를 통해 사진에 나온 238이 2^38이라는 것을 알 수 있습니다. Python을 이용해서 2^38의 값을 구해서 아래와 같이 URL에 입력해주면 문제가 풀립니다. http://www.python..
인터넷, 인트라넷, 엑스트라넷 인터넷 인터넷(Internet)의 인터(Inter)라는 의미는 "연결"을 의미합니다.따라서 인터넷(Internet)이란 '여러 개의 네트워크를 묶었다'는 의미입니다. 인터넷의 세 가지 특징. 1. 하나의 프로토콜만 사용한다.프로토콜이란 통신의 규칙인데, 서로 다른 프로토콜을 사용하게 되면 통신이 불가능해진다.따라서 인터넷에서는 하나의 프로토콜만을 사용하는데, 이 프로토콜이 바로 'TCP/IP'이다. 2. 주로 익스플로러나 크롬과 같은 웹 브라우저를 이용해서 인터넷을 사용한다. 3. 인터넷에는 없는 정보가 없다. 인트라넷 인트라넷(IntraNet)의 인트라(Intra)는 '내부의'라는 뜻을 의미합니다.즉, 인트라넷은 '내부의 네트워크'라는 의미를 가집니다. 이 의미는 인터넷의..
Intel, AT&T 어셈블리어 문법 차이점 어셈블리언어는 Intel과 AT&T 두 가지 문법을 가지고 있다.서로 호환되지 않는 문법이기 때문에 코드 해석에 어려움을 겪을 수 있다.각 문법의 차이에 대한 기본적인 이해를 한다면, 도움이 될 것이다. Intel 문법은 대체로 간단하고, 접두사나 접미사가 붙지 않지만,16진수와 2진수 데이터에는 각각 'h'와 'b' 접두사를 가진다.AT&T 문법은 레지스터는 '%' 접두사를 가지며 값들은 '$' 접두사가 붙는다. [ 접두사 규칙 ]Ex) Intel 문법AT&T 문법 mov eax, 1movl #1, %eax mov ebx, 0ffhmovl $0xff, %ebx int 80hint $0x80 [ 오퍼랜드(Operands) 위치 차이 ] Intel 문법은 목적지..