본문 바로가기
728x90

분류 전체보기20

fine-grained ASLR ASLR(Address Space Layout Randomization) 기법은 메모리 상에서 공격을 어렵게 하기 위해 스택이나 힙, 라이브러리 등의 주소를 랜덤으로 배치함으로써 실행할 때마다 libc 및 데이터 주소가 바뀌게 하는 memory mitigation 기법 중 하나입니다. 하지만 ASLR은 코드의 시작 지점만 randomization하기 때문에 프로그램의 취약점으로 인해 memory가 write, send, stdout 등을 통해 leak이 될 경우 해당 libc에서 함수의 offset을 계산하여 ROP Chaining등의 공격으로 이어져 Arbitary function이 실행될 수 있습니다. 이를 해결하기 위해 나온 개념이 바로 fine-grained ASLR 입니다. Fine-graine.. 2022. 1. 10.
Windows에서 angr 설치하기 원래 Windows 에서 angr 설치가 불가능한 것은 아니였지만... 엄청 귀찮았다 (libVEX) 완전히 잘 작동하는 것도 아니였고... 그런데 VS에서 엄청 편하게 설치할 수 있는 방법을 찾았다! [환경] Windows 10 Python 2.7 기준, 설치 후 환경변수 등록 Visual Studio 를 설치할 수 있는 여유 공간 (약 5~6기가 정도) Visual Studio는 상업적인 용도가 아닌 한, MS 공홈에서 무료로 받을 수 있다 https://www.visualstudio.com/ko/downloads/?utm_source=mscom&utm_campaign=msdocs 이미 설치되어 있다면, [도구] 탭의 [도구 및 기능 가져오기] 클릭 데스크톱용 VC++ 2015 도구 집합을 선택하고 .. 2022. 1. 10.
[OverTheWire RedTiger] level 10 username 에다 SQL Injection 하는 문제인 줄 알았는데.. 아니었다. 서버 측에서 데이터 타입을 검사하지 않는다. 그래서 password를 boolean으로 강제 형변환 하고 1(true)을 주면, unserialize할 때, password가 그냥 참이라서 풀려버린다. import urllib2 import base64 from urllib import urlencode headers = {"Cookie":"level10login=get_post_cookie_head__kittens_eating_all_my_bread"} def pwn(username): serial = 'a:2:{s:8:"username";s:%s:"%s";s:8:"password";b:1;}' % ( len(user.. 2022. 1. 10.
728x90