일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- C++
- OS
- C++ gui
- 자료구조
- go channel
- 알고리즘
- 백준
- 공룡책
- gui
- Nebula
- 코딩
- 운영체제
- 프로그래밍
- C++ gui 라이브러리
- JUCE
- C언어
- JUCE library
- LOB
- 리듬게임
- c++ heap
- tour of go
- BOJ
- go
- 연결리스트
- a tour of go
- JUCE 튜토리얼
- JUCE라이브러리
- Docker
- C++ library
- vim-go
- Today
- Total
목록Hacking (43)
CafeM0ca
이번에 과제가 외주로 들어왔는데 미쿡에서 유학하시는 분인 것 같더라. 대학을 다니는데 본인 과제가 외주로 오는 경우는 2가지가 있다. 1. 돈이 많아서 맡기고 놀러 다니거나 2. 학점으로 인해서 장학금에 금이 간다거나.. 2의 경우를 좀 더 세분화하면 수업 시간에 농땡이 피우다가 발등에 불 떨어지는 경우와 혼자서 진짜 하다가 안되니까 맡기는 경우가 있는데, 이번 의뢰인은 후자의 경우 같더라.(조금 떠보면 알 수 있다) TCP에 기억나는 거라고는 사실 3-way handshake정도? https://cafemocamoca.tistory.com/213 [NetWork] 3 way handshake tcp/ip에서 씀 ACK는 세션이 같다는걸 인증하기위해 계속 보내줘야함 클라이언트의 sequence 번호와 서..
Proxy의 탄생 배경은 인터넷을 빠르게 사용하기 위해 탄생하였다. Proxy서버에 많은 사람들이 접속하여 사용하다 보면 Proxy서버에 cache가 쌓이게 된다. A가 과거에 Alpha 웹사이트에 접속하여 cache가 쌓이게 되면 B는 Alpha 웹사이트를 방문할때 A가 쌓아둔 cache를 사용하여 더 빠르게 인터넷을 사용할 수 있다. 그러나 요즘같이 인터넷 속도 걱정을 안해도 되는 세상에는 별 의미가 없다. 단지, Alpha사이트에 직접 데이터를 요청하고 받는게 아니라 Proxy 서버를 통해 간접적으로 요청하고 Proxy서버를 통해 받는다. 그럼 VPN은 무엇인가? VPN(가상사설망)의 탄생 배경은 인터넷상에서 자신의 IP(개인정보)가 수집당하니 익명으로 처리하고 싶어서 만들어졌다. 기본은 Proxy..
tcp/ip에서 씀 ACK는 세션이 같다는걸 인증하기위해 계속 보내줘야함클라이언트의 sequence 번호와 서버의 sequence 번호가 존재.임의로 정하자.클라이언트 : 1000서버 : 2000 클라이언트 -> 서버 SYN패킷 전송 sequence(1000) 서버가 응답을 보낸다서버 -> 클라이언트 SYN(2000), ACK(1001) 클라이언트가 잘 받았다고 응답을 보낸다.클라이언트 -> 서버 ACK(2001) 클라이언트가 서버에게 "Hello"메시지를 보낸다.클라이언트 -> 서버 PSH(SYN(1001),ACK(2001)) "Hello"메시지 뒤에는 메시지의 끝임을 알려주는 문자가 있다.(NULL)서버는 잘 받았다고 메시지의 길이만큼 더해서 ACK를 보낸다.서버 -> 클라이언트 ACK(1007) 종..
FC4부터는 인자 참조 방식이 달라졌다.기존에는 ebp를 기준으로 인자 참조를 했었다.FC4부터는 esp를 기준으로 인자를 참조한다. esp가 returnesp+4가 첫번째 인자esp+8이 두번째 인자다. esp를 컨트롤하면 맘대로 메모리를 조작할 수 있다. 입장ID: dark_stone (ssh dark_stone@ip)PW: let there be light 방어기법만 돌려 공략하면 되겠다.메모리상에서 고정된 인자들을 찾아 execl을 실행해주자.execl의 세번째 인자는 0이다. 4번쨰블럭에 0xbff2a8f0에 execl을 구성해주면 되겠다.0xbff2a8f4에는 쉘을 실행시키는 프로그램을 심볼릭링크로 걸어주자. 익스플로잇
ID:level00PW:level00 이 레벨은 요구한다 당신이 찾을것을 Set User ID(SUID)프로그램을 그 프로그램은 "flag00"계정으로 실행될 것이다. 당신은 또한 이것(SUID가 걸린 프로그램)을 찾을 수 있을것이다. 신중히 보는것으로써 최상위 레벨 디렉토리 /에 의심스러워 보이는 디렉토리에서 (발번역이라 이해해주시길..) 음음..힌트가 SUID와 flag00와 /이다.find 명령으로 SUID가 걸린 flag00유저의 프로그램을 찾으면 될꺼같다.리눅스 find 명령어 쓰는 방법을 참고하자. 위 내용에 권한에 대한 내용은 없는데 설명하자면리눅스에서는 권한(permission)이 있다. 각각 r(읽기권한), w(쓰기권한), x(실행권한)이 있다. read,write execute그리고 특..
https://exploit-exercises.com/nebula/ LOB처럼 vm으로 문제가 주어진다.설치할때 그냥 아무 리눅스 커널로 설정했다. 일단 ssh가 사용가능하니 ssh로 연결해서 사용하자. login: level00pw: level00 192.168.22.129가 모카의 사설 IP다. ssh levelXX@자신의 사설IPpw:levelXXXX는 입장하고자 하는 레벨. 0이면 level00 5면 level05 15면 level15
ID:xavius PW:throw me away리모트BOF다. 서버쪽은 소켓생성-주소,포트설정-연결 대기-연결 수락/거절-메시지 주고받기-소켓제거클라이언트는 소켓생성-연결 신청-메시지 주고받기-소켓제거모카가 해야할꺼는 클라이언트다. 버퍼는 ebp-40부분에있다. 256바이트를 recv함수로받으니 오버플로우 취약점이 존재한다. 리버스 쉘코드를 사용할꺼다.peda에서 shellcode generate로 만들었다.12345678910111213141516171819202122from socket import *import struct p = lambda x: struct.pack("