MITM Proxy - mtjddnr/lab GitHub Wiki
##์๊ฐ## ๊ฐ๋ฐํ๋ค๋ณด๋ฉด ์ฑ์ด๋ ๊ธฐ๊ธฐ์ ํต์ ์ ๊ฐ์ฒญ(?)ํด์ผํ ๋๋ ์์ต๋๋ค. ๋น๊ณต๊ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฑ ๋ด๋ถ๊ฐ ์ด๋ป๊ฒ ๋์๊ฐ๋์ง ๋ชจ๋ฅด๋๋ฐ ๋๋ฒ๊น ํด์ผํ๋ ์ํฉ์ด ์์์๋ ์์ต๋๋ค.
์ด๋ด๋ ์ฌ์ฉํ๋ ํด์ด ์์ด์ ์๊ฐํฉ๋๋ค.
http://mitmproxy.org/index.html
์ ์ iOS์ Path๋ผ๋ ์ฑ์ด ๊ฐ์ธ ์ฃผ์๋ก์ ์ ์ถํ๋ ์ฌ๊ฑด๋ ์ฌ์ฉ๋์๋ ํด์
๋๋ค. (๋๋ถ์ ์ด๋๋ถํฐ ์ ํ์ด ๊ฐ์ธ ์ ๋ณด ์ ๊ทผ ๋ฐฉ์์ ๊ฐํ ์์ผฐ์ฃ )
mitmproxy๋ผ๋ ํ๋ก๊ทธ๋จ์ผ๋ก ํผ์์ ํ๋ก์ ์๋ฒ๋ฅผ ๋๋ ค๋๊ณ ์์ดํฐ์ด๋ ๋ค๋ฅธ ๊ธฐ๊ธฐ์์ ๋คํธ์ํฌ ์ค์ ์์ ํ๋ก์๋ฅผ ์ค์ ํด์ฃผ๋ฉด ๋ชจ๋ ํต์ ์ด ์ ํ๋ก๊ทธ๋จ์ ๊ฑฐ์ณ์ ๊ฐ๊ฒ ๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ํ๋ก๊ทธ๋จ์ ํ๋ฉด์ ๋ชจ๋ ํต์ ๋ด์ฉ์ด ๋ณด์ด๊ฒ ๋์ฃ
์ฌ์ดํธ์ ๋ค์ด๊ฐ๋ฉด ๊ฐ๋จํ ์ค์น ๋ฐฉ๋ฒ์ด ๋์ต๋๋ค. *๋งฅ์ฉ์ ๋ฐ๋ก ์์ต๋๋ค. (ํฐ๋ฏธ๋์์ ์คํ๋ฉ๋๋ค)
ํ๋ก๊ทธ๋จ์ ์คํํ ๊ธฐ๊ธฐ์์ ํ๋ก์ ์ค์ ์ ํด์ค๋๋ค.
์ฃผ์๋ก๋ ์ด ํ๋ก๊ทธ๋จ์ ์คํํ ํผ์์ ์์ดํผ์ด๊ณ ํฌํธ๋ 8080๊ธฐ๋ณธ์ ๋๋ค.
##ํด ์ฌ์ฉ๋ฒ##
ํต์ ์ด ์ด๋ฃจ์ด ์ง๋ฉด ํ๋ฉด์ ํต์ ๊ธฐ๋ก์ด ๋น๋๋ค
๋ฐฉํฅํค๋ก ์ํ๋ ํญ๋ชฉ์ ์ ํํ๋ค์ ์ํฐ๋ฅผ ์น๋ฉด ์์ธ ์ ๋ณด๋ฅผ ๋ณผ์ ์์ต๋๋ค.
- ์์๋ ๋ฐฉํฅํค: ๋ชฉ๋ก ์ ํ
- ํญ ํค: ์๋ฒ์ ์์ฒญ๋ฐ์ดํฐ(request)์ ๋ฐํ๋ฐ์ดํฐ(response)๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
- q ํค: ์๋ ๋ชฉ๋ก์ผ๋ก ๋์๊ฐ๋๋ค. (ํน์ ์ข ๋ฃ)
##HTTPS## ๋ณด์ ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ ์๋์ด ์๋ฉ๋๋ค. ๊ทธ๋์ ๋ฐ๋ก ์ธ์ฆ์๋ฅผ ๊ธฐ๊ธฐ์ ์ค์นํด์ผํฉ๋๋ค.
ํ๋ฒ ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด ~/.mitmproxy
์์น์ ํด๋๊ฐ ์์ฑ๋ฉ๋๋ค.
์ด ํ์ผ๋ค ์ค์์ mitmproxy-ca-cert.pem
ํ์ผ์ ๊ธฐ๊ธฐ๋ก ๋ฃ์ด์ ์ค์น๋ฅผ ํฉ๋๋ค. (๋ณดํต ๋ฉ์ผ์ฑ์ ์ฌ์ฉํฉ๋๋ค)
*์์ธํ๊ฑด http://mitmproxy.org/doc/ssl.html ์์ ์ฐธ๊ณ
์ธ์ฆ์๋ฅผ ์ค์นํ๋ฉด httpsํต์ ๊น์ง ๋ค ํ์ธ ๊ฐ๋ฅํฉ๋๋ค.
###๋ง์น๋ฉฐ### ์ฌ๊ธฐ๊น์ง ๊ฐ๋จํ ๊ธฐ๋ณธ๋ง ์๊ฐํ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋งฅ ์ฌ์ฉ์๋ฅผ ์ํด AppleScript๊ธฐ๋ฐ์ผ๋ก ์๋ ํฐ๋ฏธ๋๋ก ์คํ๋๋๊ฒ์ ์ฑ์ผ๋ก ๋จ๋๋ก ๋ง๋ค์์ต๋๋ค. https://github.com/mtjddnr/lab/archive/mitmproxy.zip
- ๊ธฐ๋ณธ http(80)๊ณผ https(443)์ ๊ฑฐ์น์ง์๊ณ ์ง์ ์์ผํต์ ์ผ๋ก ๊ตฌํ๋ ์ฑ์ ๋จ์ง ์์ต๋๋ค.