일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 객체
- blind sql injection
- 배열
- element 조회
- window
- 포인터
- lord of sql injection
- htmlspecialchars
- property
- 메소드
- 조건문
- document
- 함수
- xss game
- 백준 알고리즘
- object
- suninatas 풀이
- burp suite
- IF문
- sql injection
- Pwndbg
- jQuery
- 백준 파이썬
- python
- 사칙연산
- github
- xss game 풀이
- 김성엽 대표님
- 파이썬
- 자바스크립트
- Today
- Total
목록xor연산 (2)
power-girl0-0
안녕하세용(. ❛ ᴗ ❛.) 1. 문제 바이너리 파일과 c코드가 주어진다. 아래는 c코드이다. #include int main(){ unsigned int random; random = rand();// random value! unsigned int key=0; scanf("%d", &key); if( (key ^ random) == 0xdeadbeef ){ printf("Good!\n"); system("/bin/cat flag"); return 0; } printf("Wrong, maybe you should try 2^32 cases.\n"); return 0; } 2. 풀이 문제 코드를 확인해보면, 랜덤함수인 rand( )를 사용하는데 난수값을 설정하지 않았다. 이는 프로그램이 실행될 때마다 랜..
XOR을 이용한 암호화, 복호화 앞에서 구현한 암호화, 복호화를 활용하여 XOR을 구현해보자. XOR을 하기 위해서는 key가 필요하며, key는 임의로 지정해주면 된다. 또한 암호화와 복화화 과정이 같기 때문에, 아래 소스에서는 enc_xor함수로 표현하였다. ^연산자는 XOR연산을 해주는 연산자이다. 소스코드 def enc_xor(msg,key): msg_size = len(msg) key_size = len(key) enc = bytearray() for i in range(msg_size): msg_xor = msg[i]^key[i%key_size] # i%key_size를 통해 key길이가 초과하는 것을 방지하였다. enc.append(msg_xor) return enc def main(): m..