๋ฏธ๊ตญ, ์ด์ค๋ผ์, ํธ์ฃผ ์ฌ๋ฌ ๋ํ์ ์ฐ๊ตฌ์ง์ด ์น ๋ธ๋ผ์ฐ์ ์์ ์คํ๋์ด ํ๋ก์ธ์ ์บ์์ ์ฝํ ์ธ ์ ๋ํ ์ ๋ณด๋ฅผ ์ถ์ถํ๋ ์ธ ๊ฐ์ง ๊ณต๊ฒฉ์ ๊ฐ๋ฐํ์ต๋๋ค. ํ ๊ฐ์ง ๋ฐฉ๋ฒ์ JavaScript๊ฐ ์๋ ๋ธ๋ผ์ฐ์ ์์ ์๋ํ๊ณ , ๋ค๋ฅธ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ Tor ๋ธ๋ผ์ฐ์ ๋ฐ DeterFox์์ ์ฌ์ฉ๋๋ ๋ฐฉ๋ฒ์ ํฌํจํ์ฌ ๋ถ์ฑ๋ ๊ณต๊ฒฉ์ ๋ํ ๊ธฐ์กด ๋ณดํธ ๋ฐฉ๋ฒ์ ์ฐํํฉ๋๋ค. ๊ณต๊ฒฉ์ ์์ฐํ๊ธฐ ์ํ ์ฝ๋์ ๊ณต๊ฒฉ์ ํ์ํ ์๋ฒ ๊ตฌ์ฑ ์์๊ฐ GitHub์ ๊ฒ์๋์ด ์์ต๋๋ค.
์บ์์ ๋ด์ฉ์ ๋ถ์ํ๊ธฐ ์ํด ๋ชจ๋ ๊ณต๊ฒฉ์ ํ์ค ๊ฐ ์ธํธ๋ก ์บ์๋ฅผ ์ฑ์ฐ๊ณ ๋ค์ ์ฑ์ธ ๋ ์ก์ธ์ค ์๊ฐ์ ์ธก์ ํ์ฌ ๋ณ๊ฒฝ ์ฌํญ์ ํ์งํ๋ Prime+Probe ๋ฐฉ๋ฒ์ ์ฌ์ฉํฉ๋๋ค. ์ ํํ ์๊ฐ ์ธก์ ์ ๋ฐฉํดํ๋ ๋ธ๋ผ์ฐ์ ์ ์กด์ฌํ๋ ๋ณด์ ๋ฉ์ปค๋์ฆ์ ์ฐํํ๊ธฐ ์ํด ๋ ๊ฐ์ง ์ต์ ์ผ๋ก ๊ณต๊ฒฉ์๊ฐ ์ ์ดํ๋ โโDNS ๋๋ WebSocket ์๋ฒ์ ํธ์ํ์ฌ ์์ ๋ ์์ฒญ ์๊ฐ์ ๋ํ ๋ก๊ทธ๋ฅผ ์ ์งํฉ๋๋ค. ์ผ ์ค์์์์, ๊ณ ์ ๋ DNS ์๋ต ์๊ฐ์ด ์๊ฐ ๊ธฐ์ค์ผ๋ก ์ฌ์ฉ๋๋ค.
๊ธฐ๊ณ ํ์ต ๊ธฐ๋ฐ ๋ถ๋ฅ ์์คํ ์ ์ฌ์ฉํ์ฌ ์ธ๋ถ DNS ๋๋ WebSocket ์๋ฒ๋ฅผ ์ฌ์ฉํ์ฌ ์ํํ ์ธก์ ์ ๊ฐ์ฅ ์ต์ ์ ์๋๋ฆฌ์ค(ํ๊ท 98~80%)์์ ์ต๋ 90%์ ์ ํ๋๋ก ๊ฐ์ ์์ธกํ๊ธฐ์ ์ถฉ๋ถํ์ต๋๋ค. ๊ณต๊ฒฉ ๋ฐฉ๋ฒ์ ๋ค์ํ ํ๋์จ์ด ํ๋ซํผ(Intel, AMD Ryzen, Apple M1, Samsung Exynos)์์ ํ ์คํธ๋์์ผ๋ฉฐ ๋ณดํธ์ ์ธ ๊ฒ์ผ๋ก ์ ์ฆ๋์์ต๋๋ค.
DNS Racing ๊ณต๊ฒฉ์ ์ฒซ ๋ฒ์งธ ๋ณ์ข ์ JavaScript ๋ฐฐ์ด์ ์ฌ์ฉํ๋ Prime+Probe ๋ฐฉ๋ฒ์ ๊ณ ์ ์ ์ธ ๊ตฌํ์ ์ฌ์ฉํฉ๋๋ค. ์ฐจ์ด์ ์ ์ธ๋ถ DNS ๊ธฐ๋ฐ ํ์ด๋จธ์ ์กด์ฌํ์ง ์๋ ๋๋ฉ์ธ์์ ์ด๋ฏธ์ง๋ฅผ ๋ก๋ํ๋ ค๊ณ ์๋ํ ๋ ํธ๋ฆฌ๊ฑฐ๋๋ onerror ํธ๋ค๋ฌ์ ์ฌ์ฉ์ผ๋ก ์์ฝ๋ฉ๋๋ค. ์ธ๋ถ ํ์ด๋จธ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ธ๋ผ์ฐ์ ์์ JavaScript ํ์ด๋จธ์ ๋ํ ์ก์ธ์ค๋ฅผ ์ ํํ๊ฑฐ๋ ์์ ํ ๋นํ์ฑํํ๋ Prime+Probe ๊ณต๊ฒฉ์ด ๊ฐ๋ฅํฉ๋๋ค.
๋์ผํ ์ด๋๋ท ๋คํธ์ํฌ์ ์์นํ DNS ์๋ฒ์ ๊ฒฝ์ฐ ํ์ด๋จธ์ ์ ํ๋๋ ์ฝ 2ms๋ก ์ถ์ ๋๋ฉฐ ์ด๋ ๋ถ์ฑ๋ ๊ณต๊ฒฉ์ ์ํํ๊ธฐ์ ์ถฉ๋ถํฉ๋๋ค(๋น๊ต๋ฅผ ์ํด Tor ๋ธ๋ผ์ฐ์ ์ ํ์ค JavaScript ํ์ด๋จธ์ ์ ํ๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค). 100ms๋ก ๊ฐ์). ๊ณต๊ฒฉ์ ๊ฒฝ์ฐ DNS ์๋ฒ์ ๋ํ ์ ์ด๊ฐ ํ์ํ์ง ์์ต๋๋ค. ์์ ์คํ ์๊ฐ์ด ์ ํ๋์ด DNS์ ์๋ต ์๊ฐ์ด ๊ฒ์ฌ์ ์กฐ๊ธฐ ์๋ฃ ์ ํธ ์ญํ ์ ํ๋๋ก ํ๊ธฐ ๋๋ฌธ์ ๋๋ค(onerror ํธ๋ค๋ฌ๊ฐ ํธ๋ฆฌ๊ฑฐ๋์๋์ง ์ฌ๋ถ์ ๋ฐ๋ผ ๋ค๋ฆ). ์ด์ ๋๋ ์ดํ์ ์บ์๋ฅผ ์ฌ์ฉํ ๊ฒ์ฌ ์์ ์๋์ ๋ํ ๊ฒฐ๋ก ์ด ๋์ถ๋ฉ๋๋ค).
๋ ๋ฒ์งธ ๊ณต๊ฒฉ ๋ฐฉ๋ฒ์ธ 'String and Sock'์ ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ฐฐ์ด์ ๋ฎ์ ์์ค ์ฌ์ฉ์ ์ ํํ๋ ๋ณด์ ๊ธฐ์ ์ ์ฐํํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. ๋ฐฐ์ด ๋์ String ๋ฐ Sock์ ๋ณ์๊ฐ ์ ์ฒด LLC ์บ์(๋ง์ง๋ง ์์ค ์บ์)๋ฅผ ํฌ๊ดํ๋๋ก ํฌ๊ธฐ๊ฐ ์ ํ๋๋ ๋งค์ฐ ํฐ ๋ฌธ์์ด์ ๋ํ ์์ ์ ์ฌ์ฉํฉ๋๋ค. ๋ค์์ผ๋ก indexOf() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์์ด์์ ์ฒ์์๋ ์์ค ๋ฌธ์์ด์ ์๋ ์์ ํ์ ๋ฌธ์์ด์ ๊ฒ์ํฉ๋๋ค. ๊ฒ์ ์์ ์ผ๋ก ์ธํด ์ ์ฒด ๋ฌธ์์ด์ด ๋ฐ๋ณต๋ฉ๋๋ค. ๋ผ์ธ ํฌ๊ธฐ๋ LLC ์บ์์ ํฌ๊ธฐ์ ํด๋นํ๋ฏ๋ก ์ค์บ์ ์ฌ์ฉํ๋ฉด ๋ฐฐ์ด์ ์กฐ์ํ์ง ์๊ณ ๋ ์บ์ ํ์ธ ์์ ์ ์ํํ ์ ์์ต๋๋ค. ์ง์ฐ์ ์ธก์ ํ๊ธฐ ์ํด DNS ๋์ ๊ณต๊ฒฉ์๊ฐ ์ ์ดํ๋ โโWebSocket ์๋ฒ์ ํธ์ถ์ด ์ด๋ฃจ์ด์ง๋๋ค. ๊ฒ์ ์์ ์ด ์๋ฃ๋๊ธฐ ์ ํ์ ์ฟผ๋ฆฌ๊ฐ ๋ผ์ธ์ผ๋ก ์ ์ก๋๋ฉฐ, ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์๋ฒ๋ ์บ์๋ฅผ ๋ถ์ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ง์ฐ์ ๊ณ์ฐํฉ๋๋ค. ๋ด์ฉ๋ฌผ.
"CSS PP0" ๊ณต๊ฒฉ์ ์ธ ๋ฒ์งธ ๋ณ์ข ์ HTML๊ณผ CSS๋ฅผ ํตํด ๊ตฌํ๋๋ฉฐ JavaScript๊ฐ ๋นํ์ฑํ๋ ๋ธ๋ผ์ฐ์ ์์ ์๋ํ ์ ์์ต๋๋ค. ์ด ๋ฐฉ๋ฒ์ "String and Sock"๊ณผ ์ ์ฌํ์ง๋ง JavaScript์ ์ฐ๊ฒฐ๋์ง ์์ต๋๋ค. ๊ณต๊ฒฉ ์ค์ ๋ง์คํฌ๋ก ๊ฒ์ํ๋ CSS ์ ํ๊ธฐ ์ธํธ๊ฐ ์์ฑ๋ฉ๋๋ค. ์บ์๋ฅผ ์ฑ์ฐ๋ ์ด๊ธฐ์ ํฐ ๋ฌธ์์ด์ ๋งค์ฐ ํฐ ํด๋์ค ์ด๋ฆ์ ๊ฐ์ง div ํ๊ทธ๋ฅผ ์์ฑํ์ฌ ์ค์ ๋ฉ๋๋ค. ๋ด๋ถ์๋ ๊ณ ์ ํ ์๋ณ์๋ฅผ ๊ฐ์ง ๋ค๋ฅธ div ์ธํธ๊ฐ ์์ต๋๋ค. ์ด๋ฌํ ์ค์ฒฉ๋ div ๊ฐ๊ฐ์๋ ํ์ ๋ฌธ์์ด์ ๊ฒ์ํ๋ ์ ํ๊ธฐ๊ฐ ํฌํจ๋ ๊ณ ์ ํ ์คํ์ผ์ด ์์ต๋๋ค. ํ์ด์ง๋ฅผ ๋ ๋๋งํ ๋ ๋ธ๋ผ์ฐ์ ๋ ๋จผ์ ๋ด๋ถ div๋ฅผ ์ฒ๋ฆฌํ๋ ค๊ณ ์๋ํ๋ฉฐ ๊ทธ ๊ฒฐ๊ณผ ํฐ ํ์ ๋ํ ๊ฒ์ ์์ ์ด ์ํ๋ฉ๋๋ค. ์๋์ ์ผ๋ก ๋๋ฝ๋ ๋ง์คํฌ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒ์์ด ์ํ๋๊ณ ์ ์ฒด ๋ผ์ธ์ ๋ํด ๋ฐ๋ณต์ด ์ด๋ฃจ์ด์ง๋ฉฐ, ๊ทธ ํ "not" ์กฐ๊ฑด์ด ํธ๋ฆฌ๊ฑฐ๋๊ณ ์์์ ๋๋ฉ์ธ์ ์ฐธ์กฐํ๋ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๋ฅผ ๋ก๋ํ๋ ค๊ณ ์๋ํฉ๋๋ค. #pp:not([class*=โxjtoxgโ]) #s0 {background-image: url(ยซhttps://qdlvibmr.helldomain.oy.ne.roยป);} #pp:not([class*=โgzstxfโ]) #s1 {background-image: url(ยซhttps://licfsdju.helldomain.oy.ne.roยป);} โฆ ์์ค ์์ค ...
ํ์ ๋๋ฉ์ธ์ ์์ฒญ ์์ ์ง์ฐ์ ์ธก์ ํ ์ ์๋ ๊ณต๊ฒฉ์์ DNS ์๋ฒ์ ์ํด ์ ๊ณต๋ฉ๋๋ค. DNS ์๋ฒ๋ ๋ชจ๋ ์์ฒญ์ โโ๋ํด NXDOMAIN์ ๋ฐํํ๊ณ ์ ํํ ์์ฒญ ์๊ฐ์ ๋ํ ๋ก๊ทธ๋ฅผ ์ ์งํฉ๋๋ค. ์ผ๋ จ์ div๋ฅผ ์ฒ๋ฆฌํ ๊ฒฐ๊ณผ ๊ณต๊ฒฉ์์ DNS ์๋ฒ๋ ์ผ๋ จ์ ์์ฒญ์ ์์ ํ๋ฉฐ, ๊ทธ ์ฌ์ด์ ์ง์ฐ์ ์บ์ ๋ด์ฉ์ ํ์ธํ ๊ฒฐ๊ณผ์ ๊ด๋ จ์ด ์์ต๋๋ค.
์ถ์ฒ : opennet.ru