검색 본문
서비스 안내 Kakao가 운영하는 책 서비스 입니다. 다른 사이트 더보기 Buffer Overflow Attacks 저자 Jason Deckard 출간 2013.11.20. e북 41,060원 Buffer Solutions 저자 Beynon R J/... 출간 2008.2.12. 도서 115,250원 Integrated Buffer Planning 저자 Kozlowski J... 출간 2005.9.30. 도서 150,830원 The Buffer Girls 도서 15,010원 On Armistice Buffer Zones 저자 Chae-Han Kim 출간 2017.4.30. 도서 20,000원 Buffer Overflow Attacks : Detect, Exploit, Prevent 저자 Foster Jame... 출간 2005.2.21. 도서 38,440원 Buffer Management of Database Systems 저자 Chou 출간 1995.11.12. Granny was a Buffer Girl 저자 Doherty 출간 2021.1.1. The Pavee and the Buffer Girl 도서 13,340원 The Metal Polisher, Buffer, and Plater 저자 Metal Polis... 출간 2015.11.13. 도서 45,190원 더보기 (주)카카오는 상품판매의 당사자가 아닙니다.법적고지 안내 (주)카카오는 통신판매중개자로서 통신판매의 당사자가 아니며 상품의 주문 배송 및 환불 등과 관련한 의무와 책임은 각 판매자에게 있습니다.
stachemi.tistory.com STA CHEMI STORY 완충 용액 (buffer solution) 8 완충 용액 (buffer solution) 0. 들어가기 메디컬 계열을 희망하는 많은 수의 학생이 진로선택 과목으로 화학2를 듣는다. 화학2는 메디컬 계열 진학 이후 접하게 될 내용들과 나름의 연관성을 갖기에, 그 선택은 좋다고 생각한다. 그렇지만, 아무래도 생명과학보다는 후순위로 생각되는 것이 일반적이다. 그런 이유 때문... 일반화학 화학2 완충용액 공통이온효과 고급화학 평형 이동의 원리 헨더슨-하셀바흐 식 완충 효과 2024.05.26 블로그 검색 더보기 caporatang.tistory.com caporatang Java - NIO Buffer Java NIO Java 1.4부터 도입된 NIO는 기존의 Java IO의 단점을 보완하기 위해 도입되었다. NIO는 Non-blocking이 아니라 Java New Input/Out의 약자로, 파일과 네트워크 데이터를 읽고 쓰는 API를 제공한다. 이는 기존의 Stream 기반의 입출력 대신 Buffer 기반으로 작동하고, Non-blocking을 지원하여 성능을 향상시켰다. Selector와 Channel이 도입되어 높은 성능이 보장된다. Java NIO 와 Java IO의 비교 Java NIO Java IO 데이터의 흐름 양방향 단방향 종류 Channel InputStream, OutputStream 데이터의 단위 buffer byte 혹은 character blocking 여부 non-blocking 지원 (blocking한 API도 존재) blocking만 가능 특이사항 Selector 지원 - Channel 과 Buffer 데이터를 읽을 때 : 적절한 크기의 Buffer를 생성하고 Channel의 read() 메서드를 사용하여 데이터를 Buffer에 저장한다. 데이터를 쓸 때 : 먼저 Buffer에 데이터를 저장하고 Cahnnel의 write() 메서드를 사용하여 목적지로 전달한다. clear() 메서드로 초기화하여 다시 사용이 가능해진다. Buffer의 종류 Buffer 인터페이스를 구현한 많은 종류의 구현체가 존재하고, 각 데이터 단위의 이름을 가져와서 구현한 Buffer들이 존재한다.Byte, Char, Short, Int, Long, Float, Double.. 등... Buffer의 위치 속성 Buffer는 데이터를 읽고 쓴다. 그렇기 때문에 위치 속성을 갖게 된다. capacitiy : Buffer가 저장할 수 있는 데이터의 최대 크기. Buffer 생성시 결정되며 변경이 불가능하다. position : Buffer에서 현재 위치를 가리킨다. 버퍼에서 데이터를 읽거나 쓸 때, 해당 위치부터 시작하고 Buffer에 1Byte가 추가될 때마다 1씩 증가한다. limit : Buffer 에서 데이터를 읽거나 쓸 수 있는 마지막 위치. limit 이후로 데이터를 읽거나 쓰기 불가. 최초 생성시 capacity와 동일하다. ma Buffer 위치 초기 상태 capacity는 초기 주어진 값으로 세팅하고, limit은 capacity와 동일하게 만들어진다. 현재 위치를 가리키는 position도 0으로 생성된다. Buffer 위치 메서드 - flip flip은 Buffer의 limit 위치를 현재 Position 위치로 이동시키고, position을 0으로 리셋시킨다. Buffer를 쓰기 모드에서 읽기 모드로 전환하는 경우 사용한다. resource로부터 값을 읽어와서 100 위치까지 buffer에 적재해둔 상황이라면, 100 이후로는 접근도 안되고 읽을 수 있는 범위는 0~100까지다. 0~100까지 buffer에 데이터가 있는 상황에서 flip을 사용하게 되면 limit의 위치가 100으로, position 즉, 현재 위치가 0으로 설정되어 100 이후로는 접근도 안되고 데 Buffer 위치 메서드 - rewind Buffer의 position 위치를 0으로 리셋하고, limit은 유지한다. limit은 유지가 되기 때문에 데이터를 처음부터 다시 읽는 경우에 사용한다. 쉽게 생각해서 limit은 유지하고, 내 위치만 reset 시켜서 처음으로 돌아간다고 생각하면 된다. Buffer 위치 메서드 - clear Buffer의 limit 위치를 capacity 위치로, 초기에 주어진 위치로 이동시키고 position을 0으로 리셋한다. 즉, Buffer를 초기에 생성됐던 상태로 만든다. @Slf4j public class ChannelPositionExample { @SneakyThrows public static void main(String[] args) { var file = new File("/study/webfluxStudy/src/main/java/com/example/webfluxstudy/java 10 Java 1.4부터 도입된 NIO는 기존의 Java IO의 단점을 보완하기 위해 도입되었다. NIO는 Non-blocking이 아니라 Java New Input/Out의 약자로, 파일과 네트워크 데이터를 읽고 쓰는 API를 제공한다. 이는 기존의 Stream 기반의 입출력 대신 Buffer 기반으로 작동하고, Non-blocking을 지원하여 성능을 향상시켰다. Selector와 Channel이 도입되어 높은 성능이 보장된다. Java IO Buffer NIO 2024.04.23 Java - Direct, Heap Buffer SelectableChannel veriperi-dazzle.tistory.com Seize the day [Stack Buffer Overflow] Return Address Overwrite (1) 취약점 분석 ▶ 프로그램의 취약점은 scanf("%s", buf)에 존재 scanf 함수의 포맷 스트링 중 하나인 %s는 문자열을 입력받을 때 사용하는 것 입력의 길이를 제한하지 않으며, 공백 문자인 띄어쓰기, 탭, 개행 문자 등이 들어올 때까지 계속 입력을 받는다는 특징 >> 이런 특징으로 인해, 실수로 또는 악의적으로 버퍼의 크기보다 큰 데이터를 입력하면 오버플로우가 발생할 수 있다. 따라서 scanf에 %s 포맷 스트링은 절대로 사용하지 말아야 하며, 정확히 n개의 문자만 입력받는 “%[n]s”의 형태로 사용해야 한다. 본 예제에서는 크기 (2) 트리거 이런 행위의 취약점을 발현시킨다는 의미에서 트리거라고 표현할 수 있다. rao.c 코드를 작성하고 바이너리를 실행해보면 입력을 받는 메시지가 출력되는 것을 확인할 수 있다. 여기에 A를 5개 입력했을 때는 프로그램이 정상적으로 종료되었으나. 64개를 입력한 경우 Segmentation fault 에러가 출력되며 프로그램이 비정상적으로 종료된다. 위 실습이 올바르게 진행되었다면 코어 파일이 생성되어야 하지만 별다른 오류가 발생하지 않았음에도 코어 파일이 생성되지 않아 우선 해당 실습을 가능한 부분에 한해 부분적으로 진행하였다. (3) 코어 파일 분석 gdb rao -c core.1828876 명령어로 코어 파일을 열면, 프로그램 종류 원인과 함께 어떤 주소의 명령어를 실행하다가 발생한 문제인지를 함께 표시해줌으로써 알 수 있다. $ gdb rao -c core.1828876 ... Could not check ASLR: Couldn't get personality Core was generated by `./rao'. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x0000000000400729 in main (1) 스택 프레임 구조 파악 스택 버퍼에 오버플로우를 발생시켜서 반환주소를 덮으려면, 우선 해당 버퍼가 스택 프레임의 어디에 위치하는지 조사해야 한다. 이를 위해 main 의 어셈블리 코드 중 scanf 에 인자를 전달하는 부분을 살펴보자. 해당 부분을 의사 코드로 표현하면 다음과 같이 사용할 수 있다. 즉, 오버플로우를 발생시킬 버퍼는 rbp-0x30 에 위치한다. 스택 프레임의 구조를 떠올려 보면, rbp 에 스택 프레임 포인터(SFP)가 저장되고, rbp+0x8 에는 반환 주소가 저장된다. 이를 바탕으로 스택 프레임을 그려보면 다음 그림와 같다. ▶ 입력 (2) get_shell() 주소 파악 본 예제에서는 셸을 실행해주는 get_shell() 함수가 있으므로, 이 함수의 주소로 main 함수의 반환 주소를 덮어서 셸을 획득할 수 있다. 또한 get_shell()의 주소를 찾고자 gdb를 활용하여 잔행할 수 있었다. 따라서, 주소가 0x4006aa임을 확인하였다. (3) 페이로드 구성 ▶ 시스템해킹에서 페이로드는 공격을 위해 프로그램에 전달하는 데이터를 의미한다. 앞서, 확인한 정보들을 바탕으로 아래와 같은 페이로드를 구성할 수 있다. (4) 엔디언 적용 구성한 페이로드는 적절한 엔디언을 적용해서 프로그램에 전달해야 한다. ▶ 엔디언 : 메모리에서 데이터가 정렬되는 방식으로 주로 리틀 엔디언, 빅 엔디언이 사용됨 아래 코드와 함께 0x406aa 메모리에 어떻게 저장되는지 확인해볼 수 있다. (5) 익스플로잇 엔디언을 적용하여 페이로드를 작성하고, 아래 명령어를 rao에 전달하면 셸을 획득할 수 있다. 커맨드가 다소 복잡해 보이지만, 파이썬으로 출력한 페이로드를 rao의 입력으로 전달한다. 📌 익스플로잇 코드 $ (python -c "import sys;sys.stdout.buffer.write(b'A'*0x30 + b'B'*0x8 + b'\xaa\x06\x40\x00\x00\x00\x00\x00')";cat)| ./rao $ id id uid=1000(rao) gid=1000(rao) groups=1000(rao) 취약점 패치 ▶ r 10 엔디언을 적용하여 페이로드를 작성하고, 아래 명령어를 rao에 전달하면 셸을 획득할 수 있다. 커맨드가 다소 복잡해 보이지만, 파이썬으로 출력한 페이로드를 rao의 입력으로 전달한다. 📌 익스플로잇 코드 $ (python -c "import sys;sys.stdout.buffer.write(b'A'*0x30 + b'B'*0x8 + b'\xaa\x06\x40\x00\x00\x00\x00\x00')";cat)| ./rao $ id id uid=1000(rao) gid=1000(rao) groups=1000(rao) 취약점 패치 ▶ r 2024.05.01 [Stack Buffer Overflow] Calling Convention Memory Corruption: Stack Buffer Overflow codingtoddlerr.tistory.com 재잘재잘 테크노트 버퍼(Buffer)란? 1. 버퍼(Buffer) Buffer의 영단어 뜻은 완충제, 완화하다 라는 의미이다.뜻만 보고서 어떤 역할을 하는지 정확히 파악하기 어렵지만, 우선 무언가를 완화시켜주는 역할인 것 같다. 정보통신용어사전에서 정의한 버퍼의 의미는 다음과 같다.① 입출력 데이터 등의 정보를 전송할 때 일시적인 데이터 저장 장소로 사용되는 기억 장소. ② 한 장치에서 다른 장치로 데이터를 송신할 때 일어나는 시간의 차이나 데이터 흐름 속도의 차이를 보상하기 위해 사용하는 저장 장치. ③ 레지스터의 일종. 주소의 전송을 위해 주소 버퍼를 만들기도 한다. 또 중앙... 2. 버퍼의 동작원리 버퍼를 쉽게 이해할 수 있는 예제는 유튜브같은 동영상 스트리밍 사이트이다. 스트리밍 사이트에서 실시간으로 동영상을 보게 되면 보통 동영상이 진행되는 부분(빨간색)과 서버로부터 동영상을 내려받는 부분(밝은 회색) 그리고 앞으로 다운로드가 남는 부분을 볼 수 있다. 여기서 밝은 회색 부분을 버퍼라고 볼 수 있다. 그럼 버퍼가 생기는 이유는 뭘까?동영상 데이터가 내려 받아지는 속도에 비해 우리가 동영상을 1초씩 진행되며 보는 속도에는 차이가 있다. 만약 우리가 동영상을 보는 속도와 데이터를 내려받는 속도가 같다면... 3. 입출력에서 사용되는 버퍼 프로그래밍이나 운영체제에서 사용하는 버퍼는 거의 대부분 CPU와 보조기억장치 사이에서 사용되는 임시 저장 공간을 의미한다. CPU는 컴퓨터에서 속도가 가장 빠른 장치인데, 기술이 발전함에 따라 1초에 수십억 bit 그 이상의 데이터를 처리할 수 있다.그러나 보조기억 장치의 경우 데이터를 주고 받는데에 많은 시간이 필요하다. 물리적인 HDD(하드디스크)의 경우 데이터를 전송할 수 있는 속도는 빨라도 초당 100mb ~ 300mb 이다. 출처: https://dololak.tistory.com/84 간단히 얘기하자면 C Buffer의 영단어 뜻은 완충제, 완화하다 라는 의미이다.뜻만 보고서 어떤 역할을 하는지 정확히 파악하기 어렵지만, 우선 무언가를 완화시켜주는 역할인 것 같다. 정보통신용어사전에서 정의한 버퍼의 의미는 다음과 같다.① 입출력 데이터 등의 정보를 전송할 때 일시적인 데이터 저장 장소로 사용되는 기억 장소. ② 한 장치에서 다른 장치로 데이터를 송신할 때 일어나는 시간의 차이나 데이터 흐름 속도의 차이를 보상하기 위해 사용하는 저장 장치. ③ 레지스터의 일종. 주소의 전송을 위해 주소 버퍼를 만들기도 한다. 또 중앙... 2024.04.08 taltal-dev-note.tistory.com taltal's dev note 버퍼 # buffer # memcpy # buffer overflow C에서 memcpy가 buffer를 사용한다고 한다. memcpy는 아래와 같이 사용한다. memcpy(dest, src, count) 이는 dest 변수에, src 변수에 담긴 byte를 count 갯수 만큼 복사하는 것이다. 이 과정에서 buffer를 사용한다. buffer는 물리적으로는 메모리의 일부 영역이다 (block of memory) buffer를 기능적으로 얘기하자면... 2024.05.24 통합웹 더보기
서비스 안내 스토리의 글을 대상으로 검색결과를 제공합니다. 자세히보기 김병호 커리어 분야 크리에이터 프로젝트 여유(Buffer)일정의 올바른 사용방법 6 프로젝트 여유(버퍼,buffer)일정은 자동차의 범퍼나 에어백과 같이 원하지 않은 사건이나 상황이 발생했을 때 충격을 완화하는 것이 목적입니다. 그러나 현실에서 프로젝트 관리자가 버퍼를 확보하는 것은 사치인 경우가 많습니다. 프로젝트 차원에서 사용할 버퍼를 팀원이 사용하는 경우가 많기 때문입니다. 일반주행... 프로젝트 여유일정 일정 2023.05.04 브런치스토리 검색 더보기 gunp4ng-study.tistory.com GunP4ng 스택 버퍼 오버플로우 (Stack Buffer Overflow) 1. 스택 버퍼 오버플로우 1. 버퍼 (Buffer) 버퍼는 데이터가 목적지로 이동되기 전에 보관되는 임시 저장소의 의미로 쓰인다. 버퍼는 데이터의 처리 속도가 다른 두 장치가 있을 때, 이 둘 사이에 오가는 데이터를 임시로 저장해 완충 작용을 한다. 즉 수신측과 송신 측 사이에 버퍼라는 임시 저장소를 두고, 이를 통해 간접적으로 데이터를 전달하게 한다. 이렇게 하면 버퍼가 가득 찰 때까지는 유실되는 데이터 없이 통신할 수 있다. 빠른 속도로 이동하던 데이터가 안정적으로 목적지에 도달할 수 있도록 완충 작용을 하는 것이 버퍼의 역할이다. 현대에는... 2. Return Address Overwirte 1. 코드 확인 (취약점) 스택 버퍼 오버플로우가 발생하는 예제 코드를 확인해보자 // Name: rao.c // Compile: gcc -o rao rao.c -fno-stack-protector -no-pie #include <stdio.h> #include <unistd.h> void init() { setvbuf(stdin, 0, 2, 0); setvbuf(stdout, 0, 2, 0); } void get_shell() { char *cmd = "/bin/sh"; char *args[] = {cmd, N 3. Exploit 1. Exploit Code 리틀 엔디언을 적용하여 페이로드(Payload)를 작성하고 아래 커맨드로 rao 에 전달하면 셸을 획득할 수 있다. (python -c "import sys;sys.stdout.buffer.write(b'A'*0x30 + b'B'*0x8 + b'\xaa\x06\x40\x00\x00\x00\x00\x00')";cat)| nc host3.dreamhack.games 12133 위의 코드를 실행하면 $ (python -c "import sys;sys.stdout.buffer.write(b'A'*0x30 + b 6 1. 버퍼 (Buffer) 버퍼는 데이터가 목적지로 이동되기 전에 보관되는 임시 저장소의 의미로 쓰인다. 버퍼는 데이터의 처리 속도가 다른 두 장치가 있을 때, 이 둘 사이에 오가는 데이터를 임시로 저장해 완충 작용을 한다. 즉 수신측과 송신 측 사이에 버퍼라는 임시 저장소를 두고, 이를 통해 간접적으로 데이터를 전달하게 한다. 이렇게 하면 버퍼가 가득 찰 때까지는 유실되는 데이터 없이 통신할 수 있다. 빠른 속도로 이동하던 데이터가 안정적으로 목적지에 도달할 수 있도록 완충 작용을 하는 것이 버퍼의 역할이다. 현대에는... 스택 BOF pwntools 2024.04.28 티스토리 검색 더보기 story.kakao.com 세바시 세바시 - 카카오스토리 포함되어 있습니다. 역사문화연구소 AHDR은 협력의 집을 지어 다양한 문화 및 사회적 활동을 진행하고 Buffer Fringe Performing Arts Festival을 매년 개최하고 있습니다. 이러한 변화를 통해 분단 지역에 살던... 2023.08.04 카카오스토리 검색 더보기 커리어 크리에이터 보기
Buffer: All-you-need social media toolkit for small businesses buffer.com/ 웹수집 Use Buffer to manage your social media so that you have more time for your business. Join 160,000... Pablo by Buffer - Design engaging images for your social media... pablo.buffer.com 웹수집 Buffer makes it super easy to share any page you're reading. Keep your Buffer topped up and we... 바이오세상 www.biosesang.com/ 생명공학, buffer, 시약, DNA, 제한효소, 액체처리기기 판매. 사이트 더보기
서비스 안내 Melon Company가 운영하는 음악 서비스입니다. 다른 사이트 더보기 Buffer Andy Slate 앨범 Xmas Fatbur... 2018.12.22. Buffer Aaron Goldberg 앨범 I Don't Know 2017.08.23. Buffer Iterate 앨범 Seed 2023.01.06. Buffer Andy Slate 앨범 200 Melodic... 2018.12.29. Buffer Iterate 앨범 Buffer 2022.12.02. Buffer Ranjit Virk 앨범 Kagaz Di Naav 2012.12.12. Buffer Riou 앨범 Exhibition ... 2005.08.09. Buffer juncmodule 앨범 Syntax Error 2001.01.01. Buffer Landscape Izuma 앨범 kolorit 2010.10.01. Buffer (Original Mix) George Libe 앨범 Buffer EP 2018.04.27. Buffer Bike Thiefs 앨범 Bloated 2014.05.31. Buffer Burnt Mood 앨범 Buffer 2019.03.22. Buffer Martin Hall 앨범 Just A Feel... 2004.11.22. Buffer Raw Poets 앨범 Raw Love 7 2018.02.14. Buffer (Rich Venom Remix) George Libe 앨범 Buffer EP 2018.04.27. Buffer Andy Slate 앨범 200 Finest ... 2019.01.05. Buffer Andy Slate 앨범 Boxing Seas... 2019.01.17. Buffer Andy Slate 앨범 Ready for N... 2018.12.30. Buffer Andy Slate 앨범 Nye 2019 20... 2018.12.29. Buffer Andy Slate 앨범 The Biggest... 2018.12.19. 더보기