|
@@ -0,0 +1,37 @@
|
|
|
|
+# httpx
|
|
|
|
+
|
|
|
|
+> ์ฌ๋ฌ ํ๋ก๋ธ๋ฅผ ํ ๋ฒ์ ์คํํ๊ธฐ ์ํด Go๋ก ์์ฑ๋ ๋น ๋ฅด๊ณ ๋ค๋ชฉ์ HTTP ๋๊ตฌ ํคํธ.
|
|
|
|
+> ์ฐธ๊ณ : ๋์ผํ ๋ช
๋ น ์ด๋ฆ์ ๊ฐ์ง ๊ด๋ จ ์๋ Python's HTTPX์ ํผ๋ํ์ง ๋ง๊ฒ.
|
|
|
|
+> ๋ ๋ง์ ์ ๋ณด: <https://github.com/projectdiscovery/httpx>.
|
|
|
|
+
|
|
|
|
+- ํ๋ก๋ธ ์ํ๋ฅผ ํ์ํ๋ [u]RL, ํธ์คํธ, IP ์ฃผ์ ๋๋ ์๋ธ๋ท (CIDR ํ๊ธฐ๋ฒ)์ ๋ํด ํ๋ก๋ธ๋ฅผ ์คํ:
|
|
|
|
+
|
|
|
|
+`httpx -probe -u {{url|host|ipaddress|subnet_with_cidr}}`
|
|
|
|
+
|
|
|
|
+- `subfinder`์ ์
๋ ฅ์ผ๋ก ์ํ ์ฝ๋([s]tatus [c]ode)๋ฅผ ํ์ํ๋ ์ฌ๋ฌ ํธ์คํธ์ ๋ํด ํ๋ก๋ธ๋ฅผ ์คํ:
|
|
|
|
+
|
|
|
|
+`subfinder -d {{example.com}} | httpx -sc`
|
|
|
|
+
|
|
|
|
+- ๊ฐ์ง๋([d]etected) ๊ธฐ์ ([t]echnology) ๋ฐ ์๋ต์๊ฐ([r]esponse [t]ime)์ ๋ณด์ฌ์ฃผ๋ ํ์ผ์์ ํธ์คํธ ๋ชฉ๋ก([l]ist)์ ๋ํด ์ ํ๋ ์๋๋ก ์คํ:
|
|
|
|
+
|
|
|
|
+`httpx -rl {{150}} -l {{๊ฒฝ๋ก/๋์/๊ฐํ์ผ๋ก_๊ตฌ๋ถ๋_ํธ์คํธ_๋ชฉ๋ก}} -td -rt`
|
|
|
|
+
|
|
|
|
+- ์นํ์ด์ง ์ ๋ชฉ, ์ฌ์ฉ ์ค์ธ CDN/WAF ๋ฐ ํ์ด์ง ์ฝํ
์ธ ํด์๋ฅผ ํ์ํ๋ [u]RL์ ๋ํด ํ๋ก๋ธ๋ฅผ ์คํ:
|
|
|
|
+
|
|
|
|
+`httpx -u {{์ฃผ์}} -title -cdn -hash {{sha256}}`
|
|
|
|
+
|
|
|
|
+- ์ฌ์ฉ์ ์ ์๋ ํฌํธ([p]orts)์ ํน์ ์ด ํ ์๊ฐ ์ด๊ณผ๊ฐ ์๋ ํธ์คํธ ๋ชฉ๋ก์ ๋ํด ํ๋ก๋ธ๋ฅผ ์คํ:
|
|
|
|
+
|
|
|
|
+`httpx -probe -u {{ํธ์คํธ1,ํธ์คํธ2,...}} -p http:{{80,8000-8080}},https:{{443,8443}} -timeout {{10}}`
|
|
|
|
+
|
|
|
|
+- ํน์ ์๋ต ์ฝ๋([c]odes)๋ฅผ ํํฐ๋งํ์ฌ([f]iltering), ํธ์คํธ ๋ชฉ๋ก์ ๋ํด ํ๋ก๋ธ๋ฅผ ์คํ:
|
|
|
|
+
|
|
|
|
+`httpx -u {{ํธ์คํธ1,ํธ์คํธ2,...}} -fc {{400,401,404}}`
|
|
|
|
+
|
|
|
|
+- ํน์ ์๋ต ์ฝ๋([c]odes)์ ์ผ์นํ๋([m]atching) ํธ์คํธ ๋ชฉ๋ก์ ๋ํด ํ๋ก๋ธ๋ฅผ ์คํ:
|
|
|
|
+
|
|
|
|
+`httpx -u {{ํธ์คํธ1,ํธ์คํธ2,...}} -mc {{200,301,304}}`
|
|
|
|
+
|
|
|
|
+- ํน์ ๊ฒฝ๋ก์ ์คํฌ๋ฆฐ์ท([s]creenshots)์ ์ ์ฅํ๊ณ ([s]aving) ์คํฌ๋ฆฐ์ท ํ์์์([s]creenshot [t]imeouts)์ ์ฌ์ฉํ์ฌ URL์ ๋ํด ํ๋ก๋ธ๋ฅผ ์คํ (๋ฆฌ์์ค๋ `./output`์ ์ ์ฅ๋จ):
|
|
|
|
+
|
|
|
|
+`httpx -u {{https://www.github.com}} -path {{/tldr-pages/tldr,/projectdiscovery/httpx}} -ss -st {{10}}`
|