curl ssl certificate problem
·
Tips & theory
4연타... 열받네... curl은 그래도 낫다. -k만 추가해주면 되니까. curl -kfsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh 이런 식이다.
gem ssl verification error
·
Tips & theory
3연타 에러... ㅋㅋㅋㅋㅋ gem은 아래와 같이 해결 가능하다. 오류가 뜨긴 하는데 설치 됨. wyv3rn:~$ sudo gem install one_gadget --source http://rubygems.org ERROR: SSL verification error at depth 1: self-signed certificate in certificate chain (19) ERROR: Root certificate is not trusted (/C=KR/ST=Seoul/L=Guro/O=MonitorApp Corporation/OU=MonitorApp AISWG/CN=MonitorApp Root Certificate Authority (AISWG)) ERROR: SSL verification erro..
git certificate fail
·
Tips & theory
방화벽 문제 등으로 인해 git clone이 되지 않는 경우가 있다. (회사에서 하려니 별짓을 다 한다...) 아래 명령어로 해결. wyv3rn:~$ git config --global http.sslVerify false
pip certificate error
·
Tips & theory
방화벽 문제 등으로 인해 pip 서버에 정상적으로 접속하지 못해 설치가 되지 않는 경우가 있다. wyv3rn:~$ sudo pip3 install pwntools WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1007)'))': /simple/pwntools/ 이 경우 아래와 같이..
format string bug - 스택의 값을 출력 값으로 쓸 수 없을까?
·
Tips & theory
서론 최근에 format string bug 문제를 풀던 와중에, 스택의 값 자체를 쓸 수 있는 방법이 없을까 고민하다 정말 그 방법이 있다는 것을 알게되어 정리한다. 본론 간단히 예를 들어보자. 아래와 같이 코딩 후 컴파일하였다. #include #include #include int main(){ char buf[100]; read(0,buf,100); printf(buf); } 더불어 format string bug가 발생한 직후에 break point를 걸고 스택의 값들을 보면 아래와 같다. [ Legend: Modified register | Code | Heap | Stack | String ] ───────────────────────────────────────────────────────..
pwntools 64bit fmtstr_payload
·
Tips & theory
서론 최근까지도 format string bug 문제가 나오면 직접 페이로드를 작성했었다. 왜나하면 기본적인 pwntools fmtstr_payload가 64 bit 용으로는 제대로 작성되지 않는 경우가 많았기 때문이다. 더불오 인터넷에 올라와있는 많은 코드들도 오류가 발생하는 경우가 대부분이었다. 고정된 주소라면 상관 없지만, leak 된 주소를 기반으로 하는 페이로드 작성이 시간이 지날수록 귀찮아짐에 따라 fmtstr_payload를 적극적으로 사용하기 위해 검색을 조금 했고, 드디어 찾아냈다. 방법 해결 방법이 너무 쉬웠다 -_- 단순히 contet.bits만 확실히 선언해주면 된다. 예를 들면 아래와 같다. from pwn import * context.bits = 64 system = 0x7f1..
vscode 탐색기에서 불필요한 파일 숨기기
·
Tips & theory
서론 노트북을 하나 지르고, 셋팅을 다시 하는 와중에 vscode와 wsl을 연동한 다음 탐색기에서 wsl의 모든 숨긴 파일을 가져오기에 이를 숨길 수 있는 방법을 찾아냈다. 본론 아래와 같이 처음 연동하면 계정 폴더 내의 숨김 파일을 모두 보여준다. 이를 숨기기 위해서는 아래와 같이 숨길 파일을 지정해주면 된다. 파일 -> 기본설정 -> 설정 상단 "설정 검색" 에서 file:exclude 를 써주고 나오는 창에서 "패턴 추가" 버튼을 누르고 **/.* 추가 확인 버튼을 누르자마자 사라진다.
Legendre Symbol - 르장드르 기호
·
Tips & theory
서론 지금까지 이런 해킹은 없었다. 이것은 크립토인가 수학인가. 이론 앞서 공부한 제곱 잉여 x^2 = a mod p 에서 p가 충분히 작다면 쉽게 a를 구할 수 있었지만, p가 커지면 어떻게 제곱 잉여인지 아닌지 쉽게 확인할 수 있을까. 르장드르 기호는 어떤 수가 제곱 잉여인지 아닌지 나타내는 함수이다. 기호는 아래와 같은데, 분수처럼 생겼지만 분수랑은 관계 없다. 르장드르 기호의 정의는 아래와같다. 포스팅에서는 편의 상 (a / p) 라고 하겠다. 즉, (a / p)가 1이면 제곱 잉여, -1이면 비 제곱 잉여, 0이면 잉여 없음으로 표현한다. 이들은 제곱 잉여의 성질에 대응하는데, 제곱 잉여 * 제곱 잉여 = 제곱 잉여 제곱 잉여 * 비제곱 잉여 = 비제곱 잉여 비제곱 잉여 * 비제곱 잉여 = 제곱..
Quadratic Residues - 제곱 잉여
·
Tips & theory
서론 과연 크립토의 수학은 어디까지 가는가... ㅋㅋㅋ 이론 요약하자면 x^2 ≡ a mod n 을 만족하는 정수 x가 있으면 a는 n의 제곱 잉여, 없으면 제곱 비잉여 라고 한다. 예를 들어 n =7 이라고 가정하면 1^2 ≡ 1 ≡ 1 mod 7 2^2 ≡ 4 ≡ 4 mod 7 3^2 ≡ 9 ≡ 2 mod 7 4^2 ≡ 16 ≡ 2 mod 7 5^2 ≡ 25 ≡ 4 mod 7 6^2 ≡ 36 ≡ 1 mod 7 ... (이후에는 반복됨) 이기 때문에 1,2,4가 7의 제곱 잉여가 된다. 한편, 3,5,6은 비 제곱 잉여가 된다. 한번 더 해보자. 만일 n이 13이라면 1^2 ≡ 1 ≡ 1 mod 13 2^2 ≡ 4 ≡ 4 mod 13 3^2 ≡ 9 ≡ 9 mod 13 4^2 ≡ 16 ≡ 3 mod 13..
PWN wargame 모음 (및 느낀점)
·
Tips & theory
https://wyv3rn.tistory.com/notice/418 PWN wargame 모음 (및 느낀점) 직접 풀어본 사이트들만 모았다. 그렇기에 천천히 추가될 예정. * H4CKINGGA.ME https://h4ckingga.me/ H4CKING GAME h4ckingga.me 국내 유명 hacker groop인 H4C의 war game site. 문제가 그리 많지도 않고, 난이도가 그리 wyv3rn.tistory.com 로 이동했다.