분류 전체보기
Padding Oracle Attack
Padding Oracle Attack
2017.11.27length가 나누어 떨어지더라도 padding이 올바르지 않으면 Error암/복호화에 사용되는 IV는 같다.TRIPLE DES는 고려하지 않아도 되는게, 이미 그 부분에 대한 연산이 끝난 이후의 Intermediary Value(중간 값)를 구하는 것이기 때문.
[Windows] 작업 스케줄러 / 시작프로그램
[Windows] 작업 스케줄러 / 시작프로그램
2017.11.25전역 시작 프로그램 경로```C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup``` 작업 스케줄러`` SYSTEM`` 권한으로 실행하도록 하거나, 어떤 조건을 만족했을 때 프로세스가 실행되거나 종료되도록 설정할 수 있는 유용한 기능.
LFI, Local File Inclusion
LFI, Local File Inclusion
2017.11.23LFI, Local File Inclusionhttp://php.net/manual/en/wrappers.php.php PHP에서는 ``php php://filter``를 사용해서 File IO하는 방법도 있는데, 이게 문자열로 넘어가기 때문에 필터링 우회에 사용할 수 있다.예를 들어 `` flag.txt``라는 문자열을 필터링해놓은 경우, 다음 처럼 넘겨서 우회할 수 있다.(물론 서버의 필터링에 따라 더 간단하게 우회할 수 있는 경우도 있다.)```php?fname=php://filter/convert.base64-encode/resource=flag``` 이와 비슷하지만 원격지 파일을 참조하게 되면 RFI다.
[CCE2017] Blue : 본선
[CCE2017] Blue : 본선
2017.11.22이 글은 보호되어 있기 때문에 이것을 보려면 암호가 필요합니다.
내부망, 인터넷 동시에 연결해서 사용하기
내부망, 인터넷 동시에 연결해서 사용하기
2017.11.20```croute add 172.106.0.0 mask 255.255.0.0 172.107.10.254```이더넷과 Wi-Fi IPv4 설정-고급에서 메트릭 수동으로 변경. 내부망에 연결된 쪽의 메트릭에 더 낮은 값을 주면 더 높은 우선순위가 적용되어 먼저 내부망을 타고, 그 다음 외부망으로 나가게 된다.
python decompile
python decompile
2017.11.19https://github.com/matiasb/unpy2exe https://github.com/rocky/python-uncompyle6
MPRESS unpacking
MPRESS unpacking
2017.11.19x32`` F9`` 누르고 EntryPoint로 이동하면 `` pushad``가 있다. `` F8`` 눌러서 실행한다.보통 언패킹 이전에 이런 식으로 레지스터를 push해둔다.언패킹이 끝나면서 다시 `` popad``할 때, ESP 값이 현재 ESP 값과 동일한 상태에서 `` popad``해야 레지스터가 제대로 복원되므로 ESP에 hardware bp를 건다. ```cbphws esp,rw``` bp에 걸리면 `` jmp`` instruction이 있을건데, 여기서 OEP로 jmp한 다음Scylla를 이용해 Unpacked binary를 Dump한다. x64x64에는 `` pushad`` instruction이 없기 때문에 `` F9`` 누르고 EntryPoint로 이동하면 다음 instructions가..
Primality test
Primality test
2017.11.19Deterministic 순차 탐색 for i in range(3, sqrtN, 2): 에라토스테네스의 체 혹은 소수판정 시 제곱근 까지만 확인하면 되는 이유 2를 제외한 소수는 홀수이므로 step 2 https://github.com/umbum/leet-hub/tree/main/count-primes 에라토스테네스의 체(sieve_of_eratosthenes)는 \\(n\\)까지의 모든 소수를 찾는 데에는 적합하지만 이를 이용해 \\(n\\)이 소수인지를 판별하고자 하는 경우 메모리 접근 횟수가 크게 늘어나기 때문에 훨씬 느리다. 일반적인 방법은 `` sqrtN``과 `` i``를 둘 다 레지스터에 넣고 `` add reg, 2``해가며 나누고 비교하면 되기 때문에 메모리 접근이 거의 필요 없는 반면,..
[TensorFlow] estimator
[TensorFlow] estimator
2017.11.15https://www.tensorflow.org/api_docs/python/tf/estimator/DNNClassifier https://github.com/umbum/ML/blob/master/TF/estimator.py 고수준 API. 인자 몇개만 지정해서 넘겨주면 알아서 신경망을 구성해준다.근데 고수준이라 역시... `` DNNClassifier`` 같은 경우 모든 hidden_units가 전결합 레이어다... 유연성이 없다는게 단점. 내부적으로 웬만한 최적화가 잘 되어 있는 것 같아 직접 구현해야 하는 경우가 아니면 대체로 이걸 사용하는게 여러가지로 이점이 있을 듯.tflogs는 알아서 `` model_dir``에 저장되며 필요한 변수는 다 `` summary``로 등록되어 있어서 보기도 편하다..
WebDAV / CVE-2017-7269
WebDAV / CVE-2017-7269
2017.11.15WebDAV1. WebDAV란 무엇인가?WebDav(Web-based Distributed Authoring and Versioning)는 쉽게 말해 웹서버를 파일 시스템처럼 접근할 수 있도록 지원하는 확장된 HTTP프로토콜이다.웹서버에 올라가 있는 파일을 http 프로토콜로 관리(목록 조회, 수정, 삭제, 이동 등)할 수 있다는 장점이 있다.물론 이같은 작업은 ftp 등으로도 가능하지만, 그냥 http로 처리하기 때문에 접근성이 좋다는 점, ssl이 적용 가능하다는 점, 동영상 스트리밍에 더 유리하다는 점 등등의 장점이 있다. 1) WebDAV 특징- 파일 락킹(file locking) 지원- XML을 사용하여 데이터 교환- 간단한 설정- 쉬운 접근 제어- 웹하드 구현 용이 2) WebDAV에서 확장된..
[TensorFlow] Datasets API
[TensorFlow] Datasets API
2017.11.14자세한 설명은 가이드 참조. Dataset API를 사용하면 input pipelines / Threading and Queue 과정을 손쉽게 처리할 수 있다. ( 1.4부터 `` contrib``에서 코어로 옮겨졌다. ) `` dataset``은 `` element``들로 이루어져 있으며 `` element``는 `` tf.Tensor``들로 이루어져 있다.`` element1`` - image1 - label1`` element2`` - image2 - label2... Basic mechanics```python>>> sess.run(tf.random_uniform([2, 4])) array([[ 0.77109301, 0.34201586, 0.0554806 , 0.96262276], [ 0.9934..
SSH 접속 끊어도 프로세스 돌아가도록 하기 : screen, disown, 백그라운드 작업
SSH 접속 끊어도 프로세스 돌아가도록 하기 : screen, disown, 백그라운드 작업
2017.11.13```bash screen -S [sessionname] // session 생성 및 진입 ``` 새로운 session에서 프로세스 실행하면 SSH 끊어도 생성한 session과 프로세스가 계속 실행된다. ```bash Ctrl-a, d || screen -d // session 실행은 유지하면서 원래 shell로 나가기 ``` ----------- SSH 접속 종료 ----------- . . . . . . . . . . . . . . . . . . . . . . . . . ----------- 다시 SSH 접속 ----------- ```bash screen -ls // session list 출력 screen -r [[pid.]tty[.host]] // 다시 session으로 되돌아가서 작업 결과 ..