httpx.md 1.9 KB

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}}