# security

80개의 포스트

SEB[Spring Security : Cookie, Session, Token, OAuth]

이전 내용에 이어서 Cookie, Session, Token, OAuth에 대한 정리를 시작한다. Cookie 쿠키의 존재로 HTTP는 Stateless(무상태성)이어도 정보가 유지된다. 쿠키란, 어떤 웹사이트에 들어갔을 때, 서버가 일방적으로 클라이언트에 전달하

7일 전
·
0개의 댓글
post-thumbnail

SEB[Spring Security]

이번 유닛에서는 Spring Security에 대한 학습을 진행했다. 부트캠프를 진행하면서 제일 이해하기도 힘들었고, 어려웠던 유닛이었다. 유닛에 대해 학습하면서 배운 개념들을 정리해보겠다.HTTP + Secure, HTTP 프로토콜 내용을 암호화시킨 것이라고 볼 수

7일 전
·
0개의 댓글
post-thumbnail

Security 인증&인가처리

1) 필터 필터는 체인처럼 엮어있기 때문에 필터 체인이라고도 불리는데, 모든 request는 이 필터 체인을 반드시 거쳐야 한다. spring security는 filter 기반으로 동작하기 때문에(AOP) spring MVC와 분리되어 관리 및 동작한다.2) Secu

2021년 8월 25일
·
0개의 댓글

goblin -> orc

今回は環境変数を使えないそしてRETの最後が\\xbfじゃないとプログラムが終了されるじゃあ、bufferにはシェルコードを入れて、bufferが始まるアドレスを探してそれをRETに上書きすればできるソースコードを再コンパイルしてダンプを作ろうesp-80ぐらいの地点を見てみよう0xbffffcb0

2021년 8월 12일
·
0개의 댓글

cobolt -> goblin

coboltとは入力方式だけ違う説明なしに攻撃環境変数を作るアドレスを探す今度もアドレスは0xbfffff6e攻撃コマンドクリア

2021년 8월 11일
·
0개의 댓글

gremlin -> cobolt

ヒントは以下のやつ今度はbufferが16バイトgdbで見てみようstrcpyを呼び出している<main+48>の上に引数がある<main+44>でbufferの位置がebp-16であることをわかった攻撃してみようebpまで16バイト+SFPの4バイト=20バイトを意味なしの文字に上書き

2021년 8월 11일
·
0개의 댓글

gate -> gremlin

次はヒント。strcpyは文字列の長さチェックをしないため、BOFを引き起こせる。gdbで逆アセンブル。<main+54>でstrcpyを呼び出している。引数はbuffer、argv1。スタックは引数を逆順に並べ替える。したがってebp-256がbufferの位置である。しかしスタックにはeb

2021년 8월 11일
·
0개의 댓글

[완결] 후기

Level 8 정도까지는 OS 사용에 대한 문제가 나와서 쉬웠지만 그 이후로 어셈블리어를 통한 버퍼 오버플로우 문제가 나와서 처음에는 이해가 힘들었다.그러나 스택이 어떻게 형성되는지만 이해하면 살짝씩만 바꿔 놓은 문제들은 쉽게 공격법을 파악할 수 있었다.Red Hat

2021년 8월 10일
·
0개의 댓글

FTZ Level 20

대망의 마지막 문제다.hint는 다음과 같다.fgets를 이용한 표준 입력을 받고 있다. 그러나 이번에는 길이 제한이 bleh보다 작기 때문에 버퍼 오버플로우가 일어나지 않는다.하지만 printf를 보니 포맷 스트링 버그가 발생하는 부분이 있다.포맷 스트링 버그에 대해

2021년 8월 10일
·
0개의 댓글

FTZ Level 19

hint는 정말 짧다.Level 18에서 엄청나게 긴 코드를 주더니 이번 문제에서는 달랑 5줄이다.gets 함수를 사용하므로 문자열 길이를 체크하지 않고, 버퍼 오버플로우가 발생할 수 있다.그러나 이전 문제와는 다르게 setreuid 함수조차 없다. 그러므로 setre

2021년 8월 10일
·
0개의 댓글

FTZ Level 18

hint의 코드가 상당히 길고 어려워서 아래에 따로 옮기고 주석을 붙였다.해석이 어렵지만, 초반의 변수 선언 부분을 보면 이전까지와는 다르게 check가 string보다 나중에 선언되고 있기 때문에 check를 일반적인 방법으로 변조할 수 없다. 그러나 switch문의

2021년 8월 10일
·
0개의 댓글

FTZ Level 17

hint는 다음과 같다.Level 16의 소스 코드와 비슷하지만, 이번에는 shell 함수가 없고 setreuid 함수가 main 함수 안에서 호출되고 있다. system 함수를 통한 쉘 실행이 없기 때문에 쉘코드를 사용해야 한다.printit 함수의 시작 주소가 ca

2021년 8월 10일
·
0개의 댓글

FTZ Level 16

hint는 다음과 같다.이번에는 함수가 3개다. main 함수를 보면 call이라는 void형 포인터에 printit 함수의 주소를 넣고, fgets 함수가 실행된 이후에 호출하는 것을 볼 수 있다.20바이트의 buf에 48바이트만큼의 입력을 허용하고 있기 때문에 버퍼

2021년 8월 10일
·
0개의 댓글

FTZ Level 15

hint는 다음과 같다.이번에는 check 변수가 포인터로 선언되었다.포인터가 가지는 값은 특정한 주소가 가리키는 값이기 때문에 0xdeadbeef를 직접 넣으면 0xdeadbeef가 가리키는 값을 찾아가게 된다. 이 문제에서는 포인터에 들어간 주소가 가리키는 값이 0

2021년 8월 10일
·
0개의 댓글

FTZ Level 14

hint는 다음과 같다.이번에는 실행 인자가 아니라 fgets로 입력을 받는다.Level 9와 비슷하게 길이 제한이 buf보다 25바이트나 크기 때문에 버퍼 오버플로우가 발생할 수 있다.그리고 Level 13과 비슷한 check라는 변수가 있는데, 변수의 값이 0xde

2021년 8월 10일
·
0개의 댓글

FTZ Level 13

hint는 다음과 같다.이번에는 버퍼 오버플로우를 방지하기 위한 장치가 있는 것을 볼 수 있다.i가 변조될 경우 버퍼 오버플로우로 인식해 프로그램을 강제로 종료한다.argc가 1보다 클 때 strcpy 함수가 실행되기 때문에 이번 문제는 실행 인자를 통해 입력을 받는다

2021년 8월 10일
·
0개의 댓글

FTZ Level 12

hint는 다음과 같다.문자열을 프로그램 실행 인자에서 가져오던 것이 gets 함수로 바뀐 것을 빼면 Level 11과 별다른 점이 없다.소스 코드를 다시 컴파일하고 gdb로 뜯어 보았다.<main+0>, <main+1>에서 스택의 기본 프레임을 만들고 &l

2021년 8월 10일
·
0개의 댓글

Spring security

Spring-Securit

2021년 8월 10일
·
0개의 댓글

FTZ Level 11

hint는 다음과 같은 소스 코드다.attackme의 소스 코드인 것 같다.attackme는 level12 권한으로 setuid가 걸려 있다.attackme에 대한 권한이 없으므로 힌트에 나온 소스 코드를 gcc로 새로 컴파일 후 gdb로 역어셈블한다.<main+

2021년 8월 8일
·
0개의 댓글

FTZ Level 10

hint는 다음과 같다.공유 메모리란, 다수의 프로세스에서 동시에 접근 가능한 메모리이다.C언어에는 이 공유 메모리에 접근 가능한 함수로 shmget이 있다.key_t는 공유 메모리를 구별하는 식별 번호이기 때문에 shmget을 이용할 수 있다.먼저 ipcs 명령어를

2021년 8월 8일
·
0개의 댓글