전체 글

System Hacking Advanced

시스템 해킹 유저를 위한 PwnDocker

시스템 해킹 유저를 위한 PwnDocker안녕하세요. 오랜만에 게시글로 돌아온 "keyme"입니다. 요즘 pwnable에 빠져서 열심히 학습하고 있는데요. pwnable을 공부하면서 느낀점은 ubuntu 환경을 구축해서 동적디버깅하는 것이 필수라는 것입니다. 따라서 ubuntu 버전 별로 환경을 구축하는 방법을 고민했고 Docker로 구축하는 것이 가장 간편하다는 것을 깨달았습니다. 이번 글은 pwnable을 공부하시는 분들을 위해 ubuntu 버전 별로 Dockerfile을 공유하고자 작성했습니다. 다른 분들의 글도 참고했으나, 과거에 쓰신 것들이라 에러가 발생하는 경우도 있었고 개인적으로 추가하고 싶은 툴들도 있어서 추가/수정해서 신규 버전으로 업데이트 했습니다. 추가로 docker 명령어로 buil..

System Hacking Advanced

Logical Bugs - Enviroment attack

○ Environment attack기본적으로 리눅스 명령은 파일에 의해서 동작한다. 리눅스에서 제공하는 명령어는 /bin, /usr/bin 등의 디렉터리에 위치한다. 명령어를 입력하면 환경 변수에 명시된 디렉터리에서 명령어를 탐색하고, 실행하기 때문에 명령어의 경로를 입력하지 않아도 된다. 보통 사용하는 ls, id, find, touch, cat, sh 등의 시스템 명령어들은 bin 디렉토리 내부에 정의된 파일들이 실행되는 구조다. PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"export 명령으로 환경변수들을 출력하면 여러가지 환경변수가 나오는데, 그 중에서 path 환경변수를 볼 수 있다. path 환경변수..

Web Hacking Advanced

OAuth 2.0

OAuth는 인터넷 사용자들이 ID, PW를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준이다. 즉, 현재 서비스의 ID와 PW를 입력하지 않고 인증할 수 있는 프로토콜이다. 예를 들어 Google에 로그인한 후 Google 자격 증명을 이용해서 현재 서비스에 액세스했다면 OAuth를 사용한 것이다. oAuth는 보통 SSO(Single Sign On) 시스템에서 사용한다. SSO는 1번의 로그인으로 여러 서비스를 이용할 수 있는 시스템을 뜻한다. 즉, SSO 시스템을 구축하기 위해서는 oAuth 프로토콜을 이용한 인증시스템이 필요하다. oAuth를 이용하는 시스템은 단순히 간단한 ..