일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SWEA
- 자료구조 복습
- The Loard of BOF
- 숙명여자대학교 정보보안동아리
- WarGame
- BOJ
- XSS Game
- 기계학습
- 풀이
- 드림핵
- siss
- c++
- PHP 웹페이지 만들기
- hackctf
- c
- Python
- 머신러닝
- HTML
- C언어
- hackerrank
- 생활코딩
- 파이썬
- 숙명여자대학교 정보보안 동아리
- lob
- CSS
- Sookmyung Information Security Study
- BOJ Python
- 백준
- 웹페이지 만들기
- Javascript
- Today
- Total
목록2021 SISS 21기 활동 (136)
혜랑's STORY
# 문제 문제에서 주어진 url을 가져와 보았다. %59%69%70%70%65%68%21%20%59%6F%75%72%20%55%52%4C%20%69%73%20%63%68%61%6C%6C%65%6E%67%65%2F%74%72%61%69%6E%69%6E%67%2F%65%6E%63%6F%64%69%6E%67%73%2F%75%72%6C%2F%73%61%77%5F%6C%6F%74%69%6F%6E%2E%70%68%70%3F%70%3D%69%67%64%6F%64%6C%70%65%6E%73%67%64%26%63%69%64%3D%35%32%23%70%61%73%73%77%6F%72%64%3D%66%69%62%72%65%5F%6F%70%74%69%63%73%20%56%65%72%79%20%77%65%6C%6C%20%64%..
# 문제 'Caesar' 암호는 아래 그림과 같이 다른 문자가 n만큼 밀려 1대 1로 대응되는 암호 체계이다. 예를 들자면 다음과 같다. 위와 같이 대응하여 평문을 복호화 해보자. 평문 : THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG 암호문 : QEB NRFZH YOLTK CLU GRJMP LSBO QEB IXWV ALD 따라서 시저 암호 알고리즘을 다음과 같이 나타낼 수 있고 이를 이용하여 파이썬 코드를 작성하여 문제를 해결해보자. 일단 얼마나 옆으로 shift할 것인지 알려주지 않았으므로 가능한 수를 모두 출력하는 방식으로 진행할 것이다. ciphertext = "SGD PTHBJ AQNVM ENW ITLOR NUDQ SGD KZYX CNF NE BZDRZQ ZMC ..
# 문제 'Bacon's cipher'란 베이컨이 1605년에 고안한 것으로 문자를 숨기기 위한 암호이다. 베이컨 암호의 원리는 다음과 같다. 암호화 하고자 하는 문자에 대하여 대문자, 소문자 2가지에 대한 표현을 한다. a가 대문자, b가 소문자를 뜻함. 예를 들어보면 평문: password 베이컨 문: ABBBA AAAAA BAAAB BAAAB BABAA ABBAB BAAAA AAABB 암호문: AbcdE FGHIJ kLMNo pQRSt uVwXY ZabCd eFGHI JKLmn 다음과 같은 암호문을 대문자라면 a로 소문자라면 b로 치환한 값이 베이컨 문이 되고 그 베이컨문을 복호화하면 평문이 나오게 되는 것이다. 원리를 이용하여 python으로 암호문을 베이컨 문으로 만드는 코드를 작성하였다. ci..
# 문제 스테가노(stegano)란, '감춰진'이라는 뜻으로 문제의 제목이 스테가노인 것으로 보아 보이는 곳에 메시지를 은밀히 숨기는 디지털 기법인 '스테가노그래피(steganography)'를 사용했을 것이라 추측하였다. 스테가노그래피의 원리 및 방법은 동영상, 사진, 오디오와 같은 파일들에 불필요한 데이터가 상당수 포함되어있기 때문에 이런 노이즈(noise)를 다른 메시지로 대처해도 그냥 보면 모른다는 사실을 이용한다. 또한 사람들이 인식하지 못하는 영역(예. 인간의 청각 영역을 벗어난 주파수 대역에 메시지 삽입)에 값을 변형하여 메시지를 숨기기도 한다. 먼저 문제 파일에 어떤 내용이 숨겨져있나 확인하기 위하여 파일을 다운받아 주었다. 파일의 확장자가 '.bmp'이고 이는 비트맵 디지털 그림을 저장하..
2주차 과제 1. 문제 2. 풀이 int birthdayCakeCandles(int candles_count, int* candles) { int max = 0, cnt = 0; for(int i=1; i
2주차 C언어 1. 문제 2. 풀이 int divisors(int n) { int cnt = 0; for(int i=1; i
1. checksec 64bit 파일이고 Patial RELRO와 NX가 걸려있다. 주어진 바이너리 파일 외에 libc.so.6 파일이 있는 것을 보아 libc.so.6 파일을 사용하여 문제를 푸는 것 같다. 2. IDA read() 함수에서 buf의 크기보다 더 길게 입력받을 수 있기 때문에 bof가 발생한다. 3. Debugging 먼저 프로그램을 실행시켜보았다. 그냥 입력을 받고 종료된다. file 명령어를 통해 확인해 본 결과 stripped된 파일이라는 것을 알 수 있었다. stripped 되었다는 것은 실행에 필요한 부분을 제외한 다른 부분이 없는 것이고 사용자 정의 함수들이 sub_* 이런식으로 되어 있다고 한다. 그래서 심볼도 존재하지 않는다. 출력 함수가 없기 때문에 leak은 불가능하고..
1. checksec 32bit 파일이고 NX와 Partial RELRO가 걸려있다. 지난주에 배웠던 SROP를 사용하여 문제를 풀어보자. 2. IDA main() 함수 look_at_me() 함수 IDA를 통해 바이너리를 열어 보았는데 함수의 개수가 923개로 매우 많았다. 왜 그런지 리눅스 file 명령어를 통해 알아보자. statically linked 파일은 필요한 모든 함수가 바이너리 안에 모두 내장되어 있다. 따라서 파일의 크기는 크지만 함수 주소를 쉽게 구할 수 있다. 그러나 system 함수는 존재하지 않기 때문에 다른 방법을 통해 "/bin/sh"를 실행시켜야 한다. [새로운 개념 : mprotect] mprotect 함수는 NX bit같은 특정 메모리 실행 권한을 변경할 수 있는 함수이..