일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Suninatas
- base64
- beebox
- XSS
- 인시큐어뱅크
- SQL Injection
- frida
- NTFS
- Docker
- 파이썬
- Reflected XSS
- vulnhub
- elasticsearch
- ESXi
- lord of sql injection
- Strings
- kibana
- diva
- MFT
- CTF-d
- 안드로이드
- InsecureBank
- Volatility
- Openstack
- igoat
- logstash
- otter
- 2018
- ctf
- foremost
- Today
- Total
목록ssl pinning (2)
Information Security

SSL Pinning.apk를 jadx파일을 열어 AndroidMainfest.xml에서 package 이름을 확인했다. PinnedSSLDemoActivity 클래스 내의 onSubmit() 메서드가 호출되었을 때, SSL Pinning 사용 체크박스에 체크가 되어 있다면 sslContext 라는 변수에 getPinnedSSLContext() 메소드의 반환 값이 저장된다. 체크가 되어 있지 않다면 기본값인 NULL이 저장된다. 이 sslContext 의 값에 따라 SSL Pinning이 적용된 암호화 통신을 할지 안 할지 결정하는 것을 알 수 있다. sslContext의 값을 결정하는 getPinnedSSLContext() 메서드의 로직을 확인해 볼 필요가 있다. 해당 메소드의 반환 값은 SSLCont..

SSL Pinning 클라이언트 측에서 사용하는 기법으로, SSL 통신에서 취약하다고 알려져 있는 중간자 공격을 방지할 수 있다. 클라이언트 측에 신뢰할 수 있는 인증서들을 저장하고, 이는 이후 실제 통신 과정에서 서버가 제공하는 인증서와 비교하는 데 사용된다. 만약 이 과정에서 미리 저장된 인증서와 서버가 제시한 인증서가 일치하지 않는다면, 연결은 중단될 것이고, 유저의 정보가 서버로 전송되지 않을 것이다. 이런 방식으로 클라이언트 측에 설치되는 다른 인증서로는 통신이 되지 않고 서버에서 제공하는 인증서로만 통신할 수 있게 하는 것이다. Burp Suite와 같은 프록시 도구를 사용해서 서버와 통신하는 패킷을 중간에 가로챌 수 있지만, 이 SSL Pinning이 적용된 클라이언트에서 보내는 패킷은 중간..