일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Protostar
- cryptography
- 버퍼오버플로우
- 해설
- Hxd
- WEB
- 정답
- 시스템
- picoCTF2018
- forensics
- KOISTUDY
- grep
- #hacking
- 스택
- picoCTF
- reversing
- Aleph One
- general skills
- 해킹 공부
- write up
- CTF
- 리눅스
- 리버싱
- 카이사르
- writeup
- dreamhack
- #picoCTF2018
- 번역
- Smashing The Stack For Fun And Profit
- 시스템해킹
- Today
- Total
목록분류 전체보기 (94)
Security || AI

개요 강화학습은 행동심리학에서 영감을 받은 기계 학습의 한 영역이다. 기본적인 개념은 에이전트(Agent)의 행동(Action)이 환경(Environment)에 영향을 주게 된다. 이때, 행동은 환경의 상태(State)를 변화시키고 에이전트는 보상(reward)을 받게 되는 과정을 거치게 된다. 여기서 선택 가능한 행동들 중 보상을 최대화하는 행동을 선택하는 방법이다. 그림으로 표현하면 다음과 같다. 강화학습의 3요소 - 행동 의존성: 각 행동은 다른 보상을 가져온다. - 시간 의존성: 보상은 시간이 지연되고 주어진다. - 상태 의존성: 어떤 행동에 대한 보상은 환경의 상태에 따라 좌우된다. 정책: 각 상태에서 수행할 행동을 결정하는 것이다. 강화학습을 적용할 수 있는 문제는 마르코프 결정 과정(Mark..

아나콘다 설치 아나콘다 설치를 위해 아래의 명령어를 통해 최신 버전을 설치한다. (버전은 2020.11부분을 통해 변경 가능) wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh 설치된 경로에서 아래의 명령어를 통해 설치한다. bash Anaconda3-2020.11-Linux-x86_64.sh 명령어를 실행하면 License 동의관련 문구가 나오는데 쭉 Enter를 누르다가 아래의 사진이 나오면 yes를 입력한다. 그 다음, 그냥 enter를 입력하면 기본적으로 경로를 설정하여준다. 경로를 변경하려면 변경하려는 경로를 입력하면 된다. ex) /home/kimdy/anaconda3 그 다음, 터미널에서 source ~/.bas..

gdb를 사용하여 디스어셈블리를 진행한 결과 위와 같이 나온다. 해당 문제는 argument를 사용하여 값을 입력 받는다. ex) ./stack1 AAAA 그러므로 argument의 주소를 확인해보면 main+71에서 eax와 ABCD를 검증하는 것을 확인할 수 있는데, 이때, eax는 esp+0x5c이 되므로 esp+0x5c의 값을 abcd로 바꾸어야 한다. 참고로 현재 esp+0x5c에는 를 통해 0이 들어있는 것을 확인할 수 있다. 해당 함수를 보면 argv[1]의 주소인 esp+0xc를 strcpy에 저장될 변수인 0x1c에 주소를 저장하게 된다. 그러므로, 0x5c-0x1c = 0x40이 되며, 64byte만큼 버퍼를 채운 후, 뒤를 abcd로 채우면 된다. buffer (64byte) 0x61..

python3 pwntool 링크 github.com/arthaud/python3-pwntools arthaud/python3-pwntools CTF framework and exploit development library in python3 (pwntools and binjitsu fork) - arthaud/python3-pwntools github.com 설치 과정 git clone https://github.com/arthaud/python3-pwntools cd python3-pwntools pip3 install -e . git clone https://github.com/arthaud/python3-pwntools cd python3-pwntools pip3 install -e . pyth..

buffer의 크기를 구하기위해 modified != 0 에 해당하는 test eax, eax라는 명령어의 브레이크 포인트를 걸어 메모리의 거리를 구한다. 사진을 보면 EAX에 AAdA가 들어간 것이 보인다. 이것이 브레이크 포인트가 걸리기 전까지의 레지스터 상황이므로 문자열에서 AAdA의 위치를 확인하면 64번째로 나온다. 그러므로 buffer의 크기인 64만큼 채워주고 modified도 채우기 위해 64에 int형이므로 4바이트를 차지하므로 4개더 추가한 68개를 추가한다.
이번에 미국 NSA에서 기존의 비쌌던 IDA에 버금가는 성능인 오픈소스 디버거 툴인 기드라(Ghidra)를 공개하면서 IDA대신 사용할 수 있는 디버거가 생겼다. 이 글에서는 기드라를 설치하고 프로그램을 분석할 수 있게 실행을 하는 방법에 대해서 다루어 볼 것이다.https://ghidra-sre.org/ 이 링크에서 설치할 수 있다. Download Ghidra를 클릭하면 압축파일을 다운받게 되는데, 압축파일을 다운받은 후 원하는 폴더에다가 압축을 풀면 된다. 여기서 ghidraRun.bat을 실행시키면 ghidra가 실행된다. 이 창이 뜨면 I agree를 눌러 동의하면 된다. 이제 여기까지 진행되면 설치는 완료된 것으로 이제 리버싱을 할 파일을 불러오면 된다.좌측상단에 File을 누르면 가장 처음에..