일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- AINCAA
- frequency-domain spectrum analysis
- dtft
- sampling theory
- 유스케이스
- 유니티
- dirty cow
- DP
- MAC
- stride
- 게임개발
- Unity #Indie Game
- ret2libc
- RBAC
- linear difference equation
- 메카님
- MLFQ
- 배경 그림
- 게임 개발
- Rr
- TSet
- STCF
- Security
- CTF
- pdlc
- 운영체제
- Race condition
- 언리얼엔진
- Double free
- DSP
- Today
- Total
목록CTF (4)
다양한 기록
1. UAF Use After Free는 동적 할당과 관련하여 나타난다. 말 그대로, malloc() 같은 함수로 할당해줬던 메모리를 free()로 반환한 다음에 그 메모리에 접근하는 경우 발생한다. CWE-416에 속하는데, 메모리를 해제한 이후에 참조하여 프로그램이 크래시되거나, 예상치 못한 값을 이용하게 되거나, 어떠한 코드의 실행을 야기시킬 수 있다. 실제로 코드를 작성해서 테스트해보면 이미 free된 메모리에 접근이 가능하다. 예를 들어, 이분 검색 트리에서 루트가 가리키는 값을 삭제하고자 했을 때, free만 하면 루트가 가리키는 포인터는 그대로라 문제가 발생할 수 있다. root = NULL; 과 같이 포인터가 가리키지 않도록 처리해야 의도된 결과를 얻을 수 있다. free한 메모리의 처리..
파라미터 위변조?파라미터는 어떠한 특정 값을 저장하여 서버로 전달하는 역할을 한다. 간단히 말해 일반적으로 프로그래밍 할 때 말하는 변수라고 할 수 있다. 그런데 파라미터 위변조에서는 서버로 전달되는 값 변수(파라미터)를 변조하여 서버측에서 이상한 값을 전달받아 악의적으로 동작시키는 공격이다. 완전히 같은 예시는 아니지만, C언어의 구조로 예시를 들면 함수를 콜하면 프로세스의 스택에 리턴 어드레스가 쌓일 것이다. 이것을 버퍼 오버플로우 공격으로 리턴 어드레스를 변조시켜 악의적으로 프로그램의 방향을 비틀 수 있을 것이다. 파라미터 위변조의 경우는 이와 비슷하게 행동에 영향을 미칠 수 있는 특정한 파라미터를 변조해서 공격자의 의도대로 프로그램이 작동되도록 만든다. 그러면 어떤 식으로 악용이 되는지 알아볼 수..
XSS?XSS(Cross-Site Script)란 공격자가 모종의 방법으로 대상이 보는 웹 페이지에 악성 스크립트를 심어놓는 것을 뜻한다. 예를 들어, XSS 대처가 되어 있는 않은 인터넷 게시판에 라는 내용으로 글을 쓰면 HTML 웹 페이지 내에 저 태그가 그대로 들어가서 그 글을 보는 사람에게 "XSS" 메시지를 띄울 것이다. 공격자가 심어놓은 코드가 다른 사람이 보는 웹 페이지에서 실행된 것이다. XSS에는 세 종류가 있다. Stored XSS, Reflected XSS, DOM-Based XSS 세 가지이다. Stored XSS는 게시판에 악성 코드가 심어진 글을 쓰는 예시처럼, 서버에 악성 코드가 Stored 되는 방식이다. 서버에서 저장되어 있는 웹 페이지를 다른 이용자가 요청하면 악성코드..
기본적으로 SQL 인젝션이 무엇인지에 대해 이해가 필요하다. 입력 폼을 받는 곳, 특히 로그인 폼에서 ID 혹은 패스워드를 입력하는 곳에 쿼리를 조작할 수 있게 입력을 하여 데이터베이스에 접근하는 방법이다. ID 입력 부분에 인젝션을 할 경우 [ " or userid = "admin" # ]으로 작성해서 관리자 아이디를 찾고, 비밀번호 입력은 무시하는 것이 가능하다. 비밀번호 입력 부분에 인젝션을 할 경우 [ " or "1" = "1 ]과 같은 방식으로 항상 참으로 만들어서 비밀번호가 틀려도 접근할 수 있게 만드는 것이 가능하다. 물론 양쪽으로 접근하는 것도 가능하다. ID에서 [ admin"/* ] 패스워드에서 [*/ and "1" = "1] 과 같이 중간에 " and password = 부분을 주..