목록분류 전체보기 (289)
촉촉한초코칩
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/MRmCO/btsHtMfb9P9/OjiFSyKaK6k8SnEFkZcJ40/img.png)
https://learn.dreamhack.io/112#8 로그인 | Dreamhack dreamhack.io 카나리 생성 과정 카나리 값은 프로세스가 실행될 때TLS에 전역 변수로 저장되고각 함수마다 프롤로그와 에필로그에서 이 값을 참조한다. > TLS에 카나리 값이 저장되는 과정을 분석해본다. TLS의 주소 파악fs는 TLS를 가리키므로, fs의 값을 알면 TLS의 주소를 알 수 있다.리눅스에 fs의 값은 특정 시스템 콜을 사용해야 조회하거나 설정할 수 있다.(info register fs, print $fs로는 알 수 없음)fs의 값을 설정할 때 호출되는 arch_prctl(int code, unsigned long addr) 시스템 콜에 중단점을 설정하여 fs가 어떤 값으로 설정되는지 조사한다...
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bcnvOz/btsHvszyNo5/K4YEsK0Pyj9gGk33fRbIe1/img.png)
https://learn.dreamhack.io/112#3 로그인 | Dreamhack dreamhack.io 카나리 정적 분석 스택 버퍼 오버플로우 존재카나리를 활성화하여 컴파일한 바이너리와, 비활성화하여 컴파일한 바이너리를 비교하여 스택 카나리 원리를 살펴본다. 카나리 비활성화컴파일 옵션으로 -fno-stack-protector 옵션을 추가해야 카나리 없이 컴파일할 수 있다.실행하려고 했는데.. 버퍼오버플로우 위험이 있다고 실행이 안 되는 것 같음.....드림핵 기준으로 정리하면.. 길이가 긴 입력을 주면 반환 주소가 덮여서 Segmentation fault가 발생할 수 있다. 카나리 활성화긴 입력을 주면 stack smashing detected와 Aborted라는 에러가 발생 : 스택 버퍼 오버플..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cDjzuw/btsHrPXgFLo/7y58vxKhZOOXY0OmErKezK/img.png)
Meet Greg - 미해결 비밀번호를 찾는 문제저 문자열이 수상해 보였다..시저암호인줄 알았는데 아닌 것 같다. 계속 리눅스, 버스를 언급하길래 찾아봤다. 리눅스 명령어를 입력하면 되는가 싶었는데 막상 입력하면 그냥 문장이 출력 됨 Who Am I - 해결 문서 작성자가 누구인지 찾는 문제파일을 다운로드 받고 속성값을 보면 알 수 있다... Mail Time - 미해결 우체국 사진이 첨부되어 있는데, 이곳의 주소를 찾아야 하는 것 같다. 아래에 stanley라고 나와서 검색해보니 영국의 도시? 인것 같다. 그래서 england stanley post office로 검색해서 주소를 찾아 보았다. byuctf{92 Front St, Stanley DH9 0HU England}로 입력했는데,,, 계속 틀..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/0070U/btsHpzgbnkZ/PdhoPxVi17ox3EKfAPaWJ0/img.png)
https://www.youtube.com/watch?v=auCw6qikSYs&list=PLl1irxoYh2wyLwJutUZx5Q_QEEDZoXBnz&index=1 회귀 : 숫자로 된 결과 예측분류 : 카테고리 형태의 결과 예측회귀와 분류를 사용한 머신러닝 알고리즘 : Decision Tree, RandomForest, KNN, SVM, NeuralNet Neural Network (= 인공 신경망, 딥러닝)사람의 두뇌가 동작하는 방법을 모방해서 기계가 학습할 수 있도록 고안된 알고리즘딥러닝 라이브러리 : TensorFlow, pytorch, Caffe, Theano 등 원인과 결과를 기계에게 보여주고, 기계가 그 사이의 관계를 스스로 학습할 수 있도록 하며 딥러닝으로 구현한다. 지도학습 1. 과거 데..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dn3KTG/btsHjuTtT5e/PQsk4Q4O5aZvHFQgbCPzF1/img.png)
워게임 shell_basic 파일 이름 : /home/shell_basic/flag_name_is_loooooongorw 쉘코드를 작성해서 flag파일을 읽는다. orw 쉘코드 강의에서 나온대로 코드 짜보기파일명 /home/shell_basic/flag_name_is_loooooong 을 아스키코드로 변환 하고 rax에 넣는다. push 0x0mov rax, 0x676e6f6f6f6f6f6fpush raxmov rax, 0x6c5f73695f656d61push raxmov rax, 0x6e5f67616c662f63push raxmov rax, 0x697361625f6c6c65push raxmov rax, 0x68732f656d6f682fmov rdi, rsp xor rsi, rsixor rdx, rd..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/t8NL3/btsHkURncnF/ugfOmWMhw81vNrdaOtQd71/img.png)
4번 phase_4 분석 cmp eax, 0x2 $0x2와 %eax를 비교해서 같지 않으면 phase_4+41 실행 phase_4+41 = explode_bome즉, 두 값이 같아야 함 cmp DWORD PTR[rsp+0x8], 0xejbe : a가 b보다 작거나 같을 때 두 값을 비교해서 두 값이 같거나 앞이 더 작을 때 넘어간다. 아니면 46번째 줄로 이동즉, a가 더 커야 한다? cmp eax, 0x2입력을 받고 cmp하는 부분에서 bp를 걸어서 eax에 어떤 값이 들어있는지 확인한다. gdb에서 entry가 안 돼서 pwndbg로 다시 설치... https://github.com/pwndbg/pwndbg일단 0을 입력하고 eax에 어떤 값이 있는지 확인해봤는데 그러면 입력값은 1???10을 ..