Skip to content
This repository was archived by the owner on Apr 25, 2020. It is now read-only.

sullivanproject/2019-Webhacking

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

13 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Webhacking ์ปค๋ฆฌ์ฟจ๋Ÿผ

Basic Information

Member

  • ๊ฐ•๋ฏผ๋ฒ”
  • ์œค์„์ฐฌ
  • ์ด์ฃผ์ฐฝ (ํŒ€์žฅ : 010-6478-0124 )
  • ํ•œ์ข…์›

Objectives

  • ๋ณด์•ˆ์— ๋Œ€ํ•ด์„œ ๊ด€์‹ฌ๊ณผ ํฅ๋ฏธ๋ฅผ ๊ฐ€์ง€๋„๋ก ํ•จ.
  • ์ž๊ธฐ ์ฃผ๋„์  ํ•™์Šต๊ณผ ๋ฌธ์ œํ•ด๊ฒฐ๋Šฅ๋ ฅ ํ•จ์–‘.
  • ๋ฌผ์–ด๋ณด๋Š” ๊ฒƒ์„ ๋ถ€๋„๋Ÿฌ์›Œํ•˜์ง€ ์•Š๊ฒŒ ํ•จ.
  • ์ฝ”๋”ฉ๊ณผ ํ•ดํ‚น์„ ๊ฐ™์ด ๋ฐฐ์›€์œผ๋กœ์จ ์ฝ”๋”ฉ ์‹ค๋ ฅ๋„ ๊ธฐ๋ฅด๋ฉฐ ํ•ดํ‚น๋„ ๊ฒฝํ—˜.
  • ํ•ด์ปค๋ฅผ ์ง€๋งํ•˜๋Š” ํ•™์ƒ๋“ค์—๊ฒŒ ๊ฟˆ์„ ํ–ฅํ•ด ํ•œ ๊ฑธ์Œ ๋‹ค๊ฐ€๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ๋„์›€.

Etc

ย  ย 
ํƒ€๊ฒŸ ์ค‘2 ~ ๊ณ 3
๋‚œ์ด๋„ โ˜…โ˜…โ˜…โ˜…โ˜…
์ฐจ์‹œ 12์ฐจ์‹œ
์†Œ์š”์‹œ๊ฐ„ 3์‹œ๊ฐ„
์žฅ์†Œ ์•ˆ์–‘
๊ต์œก๊ธฐ์ž์žฌ ๋…ธํŠธ๋ถ ๋˜๋Š” PC

Lesson plan

Overview

์ฐจ์‹œ ํ•œ์ค„์†Œ๊ฐœ
1 ์•„์ด์Šค ๋ธŒ๋ ˆ์ดํ‚น ์‹œ๊ฐ„
2 HTTP ํ†ต์‹  ์†Œ๊ฐœ
3 HTML ํƒœ๊ทธ ์ตํžˆ๊ธฐ
4 DB๋ž€?
5 Mysql ๊ตฌ๋ฌธ, ์›๋ฆฌ ์ตํžˆ๊ธฐ
6 ์„œ๋ฒ„๋ž€?
7 PHP ์ฟ ํ‚ค ๋กœ๊ทธ์ธ
8 JS๋ž€?
9 JS๋กœ ์›นํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ
10 XSS
11 SQL Injection
12 ์ž์ฒด CTF ์ง„ํ–‰

Detail

1์ฐจ์‹œ

  • ๊ฐ•์‚ฌ์†Œ๊ฐœ (์œค์„์ฐฌ , ํ•œ์ข…์› , ์ด์ฃผ์ฐฝ , ๊ฐ•๋ฏผ๋ฒ”)
  • ํ•ดํ‚น ๋ถ„์•ผ ์†Œ๊ฐœ(๋ฆฌ๋ฒ„์‹ฑ , ํฌ๋„ˆ๋ธ” , ํฌ๋ Œ์‹ , ์›นํ•ดํ‚น)๋ฐ ์‹œ์—ฐ
  • ํ•™์ƒ๋“ค ์ž๊ธฐ์†Œ๊ฐœ
  • ๊ฐ„๋‹จํ•œ ํ€ด์ฆˆ ๋ฐ ๊ฒŒ์ž„ ์ง„ํ–‰(์•„์ด์Šค ๋ธŒ๋ ˆ์ดํ‚น)
์กฐํŽธ์„ฑ
  • ๊ฐ•์‚ฌ ํ•œ ๋ช… ๋‹น 2~3 ๋ช…์˜ ํ•™์ƒ์„ ๋‹ด๋‹น
์ˆ˜์—… ๊ณ„ํš ์†Œ๊ฐœ
  • ํ•ดํ‚น ๊ด€๋ จ ์ด์Šˆ (๋น—์ธ ํ•ดํ‚น ์‚ฌ๊ฑด , intel AMT ๊ด€๋ จ ๋ณด์•ˆ ๋ฌธ์ œ ๋“ฑ)
  • ์•…์„ฑ์ฝ”๋“œ , ๋ฐ”์ด๋Ÿฌ์Šค , ๋žœ์„ฌ์›จ์–ด ๋“ฑ์— ๊ด€ํ•œ ๋‰ด์Šค ์„ค๋ช…
  • ์–ด๋‚˜๋‹ˆ๋จธ์Šค, ์กฐ์ง€ ํ˜ธ์ธ  ๋“ฑ ํ•ดํ‚น ๊ด€๋ จ ๋‹จ์ฒด ๋ฐ ์ธ๋ฌผ, ์ผํ™” ์†Œ๊ฐœ

2์ฐจ์‹œ

์›นํŽ˜์ด์ง€์˜ ๋™์ž‘ ์›๋ฆฌ
  • ํ”„๋ก ํŠธ ์—”๋“œ, ๋ฐฑ์—”๋“œ
  • ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ
HTML ์ด๋ž€?
  • ์‹ค์ œ ์‚ฌ์ดํŠธ(๋„ค์ด๋ฒ„ & ํŽ˜์ด์Šค๋ถ ๋“ฑ)๋ฅผ ์˜ˆ๋กœ ๋“ค์–ด ์„ค๋ช…
HTML ์˜ ๊ธฐ๋ณธ์ ์ธ ๋‚ด์šฉ
  • ์‹ค์ œ ์‚ฌ์ดํŠธ์— ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์ค„๋ฐ”๊ฟˆ ํƒœ๊ทธ, ์ด๋ฏธ์ง€ ์‚ฝ์ž… ํƒœ๊ทธ, ๋งํฌ ์‚ฝ์ž… ํƒœ๊ทธ ๋“ฑ์„ ์„ค๋ช…
HTML ๊ณผ ์นœํ•ด์ง€๊ธฐ
  • ๊ธฐ์กด ์‚ฌ์ดํŠธ(๋„ค์ด๋ฒ„ & ํŽ˜์ด์Šค๋ถ ๋“ฑ)์˜ HTML ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ ์ž์‹ ์˜ ๊ฒƒ์œผ๋กœ ๋งŒ๋“ค์–ด๋ณด๊ณ , ์‹ค์‹œ๊ฐ„ ๊ฒ€์ƒ‰์–ด ๋ฐ”๊ฟ”๋ณด๊ธฐ

3์ฐจ์‹œ

HTML ํƒœ๊ทธ ๋ช‡ ๊ฐ€์ง€ ์ตํžˆ๊ธฐ
  • 2์ฐจ์‹œ์— ๋ฐฐ์› ๋˜ ํƒœ๊ทธ ๋ฐ ์ˆ˜ํ‰์„  ํƒœ๊ทธ, ํ‘œ ์‚ฝ์ž… ํƒœ๊ทธ, ๋ฐฐ๊ฒฝ์‚ฌ์ง„ ์ฒจ๋ถ€ ํƒœ๊ทธ
CSS ๋ฐฐ์›Œ๋ณด๊ธฐ
  • ๋ฐฐ๊ฒฝ์ƒ‰ ์ง€์ •ํ•ด์ฃผ๊ธฐ, transition ํƒœ๊ทธ๋ฐ ๋™์  ์‚ฌ์ดํŠธ ์ œ์ž‘์— ํ•„์š”ํ•œ ํƒœ๊ทธ ๋ฐฐ์›Œ๋ณด๊ธฐ
HTML ๋กœ ๊ฐ„๋‹จํžˆ ์ž์‹ ์˜ ์‚ฌ์ดํŠธ ๋งŒ๋“ค๊ธฐ
  • ๋‹จ ์šฐ๋ฆฌ๊ฐ€ ์ œ์‹œํ•œ ์กฐ๊ฑด(ํ‘œ ์‚ฝ์ž…, ๋ฐฐ๊ฒฝํ™”๋ฉด ์‚ฝ์ž…, ๋ฉ”๋‰ด๋ฐ” ์ƒ์„ฑ, ์‚ฌ์ง„ ์‚ฝ์ž… ๋“ฑ)์— ๋ถ€ํ•ฉํ•˜๋Š” ์‚ฌ์ดํŠธ ๋งŒ๋“ค๊ธฐ

4์ฐจ์‹œ - DB๋ž€?

  • DB์— ๋Œ€ํ•œ ๊ธฐ๋ณธ์ ์ธ ๊ฐœ๋…๊ณผ ์‚ฌ์šฉ ์˜ˆ

    • ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ํ•˜๊ณ , ๋ฐ์ดํ„ฐ์˜ ์ง‘ํ•ฉ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ผ๋Š” ๊ฒƒ์„ ์•Œ๋ ค์คŒ
    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํŠน์ง•(์‹ค์‹œ๊ฐ„ ์ ‘๊ทผ, ์ค‘๋ณต X ๋“ฑ) ์ง€๋ฃจํ•˜๋‹ˆ๊นŒ ์งง๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ
    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์‚ฌ์šฉ ์˜ˆ์‹œ(์ „ํ™”๋ฒˆํ˜ธ๋ถ€, ๊ธฐ์—…), ์ธ์‹์€ ๋ชปํ•˜์ง€๋งŒ ์—„์ฒญ๋‚˜๊ฒŒ ๋งŽ์ด ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์Œ(ํ•„์š”์„ฑ)
    • DBMS์˜ ๊ฐœ๋… - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์‹œ์Šคํ…œ
  • MySQL ์†Œ๊ฐœ(์„ค์น˜๋Š” ๋˜์–ด ์žˆ์Œ)

    • ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•  DBMS๋ผ๋Š” ๊ฒƒ์„ ์•Œ๋ ค์ฃผ๊ณ , ๊ฐ„๋‹จํ•œ MySQL ์„ค๋ช…
    • Bitnami ์‹คํ–‰
  • MySQL DB, TABLE ๋งŒ๋“ค๊ธฐ

    • DB, TABLE ๊ฐœ๋…์„ ๊ทธ๋ฆผ(ํ–‰๊ณผ ์—ด๋กœ ์ด๋ฃจ์–ด์ง„ ํ‘œ)์œผ๋กœ ์„ค๋ช…ํ•˜๊ณ  ๊ฐ•์‚ฌ๊ฐ€ ์ƒˆ๋กœ์šด DB ํ•˜๋‚˜ ๊ทธ๋ ค๋ณด๊ธฐ(์ด๋Ÿฐ DB์—๋Š” ์–ด๋–ค ๋‚ด์šฉ์ด ๋“ค์–ด๊ฐ€์•ผ ๋ ๊นŒ์š”? ๋ฌผ์–ด๋ณด๋Š” ํ˜•์‹์œผ๋กœ ์ง„ํ–‰)
    • ๊ฐ•์‚ฌ๊ฐ€ ํ•œ๋Œ€๋กœ ๊ฐ์ž ๋งŒ๋“ค๊ณ  ์‹ถ์€ DB ์ƒ๊ฐํ•˜๊ณ , ๊ทธ DB์— ๋“ค์–ด๊ฐˆ ์†์„ฑ ๋– ์˜ฌ๋ฆฌ๊ธฐ(์ด ๋•Œ INT, CHAR, DATE ๋“ฑ ์†์„ฑ ์„ค๋ช…ํ•˜๊ธฐ)
    • ๊ฐ์ž ์„ค๊ณ„ํ•œ DB๋ฅผ ๊ทธ๋ฆผ์œผ๋กœ ๊ทธ๋ฆฌ๊ณ , ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งŒ๋“ค๊ณ  ๋ณด๊ธฐ(CREATE, SHOW, DESC)
      • ๋ช…๋ น์–ด๋Š” ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„์—†์Œ

5์ฐจ์‹œ - Mysql ๊ตฌ๋ฌธ, ์›๋ฆฌ ์ตํžˆ๊ธฐ

  • ์ด์ „ ์‹œ๊ฐ„์— ๋ฐฐ์šด DB, TABLE ๋งŒ๋“ค๊ธฐ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ณต์Šต

  • ์ด์ „ ์‹œ๊ฐ„์— ๋งŒ๋“  DB์— ๋ฐ์ดํ„ฐ ์‚ฝ์ž…ํ•˜๊ณ  ํ™•์ธํ•˜๊ธฐ(INSERT, SELECT)

    • ; ์ฐ๊ธฐ ์ „๊นŒ์ง€๋Š” ๋ช…๋ น์–ด ์•ˆ๋๋‚˜๋‹ˆ ๋„ˆ๋ฌด ๊ธธ์–ด์ง€๋ฉด ๋ณด๊ธฐ ํŽธํ•˜๊ฒŒ enter ๋ˆ„๋ฅด์„ธ์š”
    • ํ•œ ๋‘๋ฒˆ ๊ฐ™์ดํ•ด๋ณด๊ณ  ๊ฐ์ž ๋ฐ์ดํ„ฐ ์ญ‰์ญ‰ ๋„ฃ์–ด๋ณด๊ธฐ(๋งŽ์œผ๋ฉด ์ข‹์Œ, ๋’ค์—์„œ ๋†๋ฝํ•  ์ƒ๊ฐ)
  • ์ด๋ฒˆ์—๋Š” ๋ฐ์ดํ„ฐ ์‚ญ์ œํ•ด๋ณด๊ธฐ(DELETE)

    • ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒ! ์‚ญ์ œํ•˜๋‹ˆ๊นŒ ๋‹ค ์‚ญ์ œ๋จ
    • WHERE์˜ ํ•„์š”์„ฑ์„ ๋ชธ์†Œ ๋А๋‚Œ
  • WHERE ์„ค๋ช…

    • ํ•„์š”์„ฑ ์„ค๋ช…ํ•˜๊ธฐ(๋ฐ์ดํ„ฐ๋ฅผ ์ž˜๋ชป์‚ฝ์ž…ํ•œ ๊ฒฝ์šฐ, ๋ฐ์ดํ„ฐ๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์œผ๋ฉด ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ ๋ณด๊ธฐ ๋ณด๊ธฐ ํž˜๋“ค์Œ)
    • =, <, >, ์—ฐ์‚ฐ์ž ์„ค๋ช…
    • WHERE๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์กฐ๊ฑด์„ ๋งŒ๋“œ๋Š” ๋ฌธ์ œ๋ฅผ ๋ช‡๊ฐœ ๋‚ด์คŒ? ex.) ๊ฐ€๊ฒฉ์ด 1000์ด์ƒ์ธ ๋ฐ์ดํ„ฐ๋งŒ ๋ฝ‘์•„๋ณด์„ธ์š”
    • ์กฐ๊ฑด์ด '๋˜๋Š”', '๊ทธ๋ฆฌ๊ณ '๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๋ฌธ์ œ๊ฐ€ ๋‚˜์˜ด
    • ๊ทธ๋ฆฌ๊ณ  AND, OR, NOT ์„ค๋ช…ํ•˜๊ธฐ
    • AND, OR, NOT ์‚ฌ์šฉํ•ด๋ณด๊ธฐ

6์ฐจ์‹œ - ์„œ๋ฒ„๋ž€?

  • ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ, ๋ฐฑ์—”๋“œ ๊ฐœ๋… ๋ณต์Šตํ•˜๊ธฐ(2์ฐจ์‹œ์— ์žˆ์Œ)

  • PHP์™€ ํ•„์š”์„ฑ์— ๋Œ€ํ•œ ์„ค๋ช…

    • ์ €๋ฒˆ์— SELECT์™€ WHERE๋กœ ๋ฐ์ดํ„ฐ ๋ฝ‘์•„์˜จ๊ฒƒ์„ ์‰ฝ๊ฒŒ ์›นํŽ˜์ด์ง€์— ๋„์šธ ์ˆ˜ ์žˆ์Œ
    • ์›น๋ฌธ์„œ ํ•˜๋‚˜ํ•˜๋‚˜ ์ฐพ์•„๊ฐ€๋ฉด์„œ ๋‚ด์šฉ ์ˆ˜์ • ์•ˆํ•ด๋„ ๋จ
    • ๋ฐ˜๋ณต๋ฌธ, ์กฐ๊ฑด๋ฌธ์ด๋ผ๋Š” ๊ฒƒ์ด ์žˆ์Œ
  • echo๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์•„๋ฌด๊ฑฐ๋‚˜ ์ถœ๋ ฅํ•ด๋ณด๊ธฐ

    • ๋ฌธ์ž์—ด์€ ๋”ฐ์˜ดํ‘œ๋กœ ๊ฐ์‹ธ์•ผ๋จ
  • PHP์— ์‚ฌ์šฉ๋  ๋ณ€์ˆ˜์™€ ์—ฐ์‚ฐ์ž ์„ค๋ช…

    • ๋ณ€์ˆ˜๋Š” ์•ž์— &๊ฐ€ ๋ถ™์Œ + ๋ณ€์ˆ˜ ์ƒ์„ฑ ๊ทœ์น™(๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ ๋“ฑ)
    • ์—ฐ์‚ฐ์ž +, -, *, % ๋“ฑ ์„ค๋ช…ํ•˜๊ธฐ
  • ๋ณ€์ˆ˜๋ผ๋ฆฌ ์‚ฌ์น™์—ฐ์‚ฐ์„ ํ•ด์„œ ์ถœ๋ ฅํ•ด๋ณด๊ธฐ

7์ฐจ์‹œ

PHP ์ฟ ํ‚ค ๋กœ๊ทธ์ธ
  • ์ฟ ํ‚ค์˜ ๊ฐœ๋…์„ ์•Œ๋ ค์คŒ
  • ๋กœ๊ทธ์ธ ์›๋ฆฌ ์•Œ๋ ค์คŒ
  • ์ฟ ํ‚ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„
  • ๋กœ๊ทธ์ธ์„ ๊ตฌํ˜„ํ•˜๋ฉด์„œ ๋Œ€๋žต์ ์œผ๋กœ ์•Œ๊ณ  ์žˆ์„ ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ˜๋ณต๋ฌธ์— ๋Œ€ํ•œ ๊ฐœ๋… ํ™•์‹คํžˆ ํ•จ.
PHP Session Login
  • HTTP ์ƒ์—์„œ์˜ ์„ธ์…˜์˜ ๊ฐœ๋… ์•Œ๋ ค์คŒ.
  • ์„ธ์…˜ ๋กœ๊ทธ์ธ ๊ตฌํ˜„
  • ์„ธ์…˜ ํƒˆ์ทจ๋ฅผ ์ด์šฉํ•œ ๊ณ„์ • ๋ณ€๊ฒฝ ์‹œ์—ฐ์„ ์ด์šฉํ•ด ์„ธ์…˜์˜ ์ค‘์š”์„ฑ๊ณผ ์›๋ฆฌ๋ฅผ ๋‹ค์‹œ ๋ฐฐ์›€.
PHP MySQL Connection
  • ์‹œ๊ฐ„์ด ์—ฌ์œ ๋กญ๋‹ค๋ฉด ์ง„ํ–‰ํ•  ์˜ˆ์ •.
  • mysqli* ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ ์ˆ˜์—… (PDO, mysql ๊ฐ์ฒด๋Š” ๊ฐ์ฒด ์ง€ํ–ฅ์˜ ๊ฐœ๋…์ด ๋“ค์–ด๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— ํ•จ์ˆ˜๋กœ ๋Œ€์ฒด)
  • ์œ„์˜ ๊ณผ์ •์—์„œ ๋งŒ๋“  ๋กœ๊ทธ์ธ ์ฝ”๋“œ์— ์•ฝ๊ฐ„์˜ ์ฝ”๋“œ๋ฅผ ๋”ํ•˜์—ฌ ์™„์„ฑ

8์ฐจ์‹œ

Javascript์˜ ๊ฐœ๋… ๋ฐ ๋ฐฐ๊ฒฝ ์ง€์‹
  • Javascript์˜ ๊ฐœ๋… ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ด์œ 
    • Naver, Facebook ๋“ฑ ์œ ๋ช…ํ•œ ์‚ฌ์ดํŠธ์˜ Javascript์˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋ณด์—ฌ์ฃผ๋ฉฐ, Browser ์ƒ์—์„œ(Client Side์—์„œ) ์œ ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ์„ค๋ช…ํ•  ์˜ˆ์ •์ž„
  • Javascript์˜ ๊ธฐ๋ณธ ๋ฌธ๋ฒ•
  • Chrome ๋“ฑ์˜ Browser ์ƒ์— ๋‚ด์žฅ๋œ Javascript Console๋กœ ์ˆ˜์—… ์ง„ํ–‰ (IE๋Š” ๋ถˆํŽธํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜์—…์—์„œ ๋ฐฐ์ œํ•  ๊ณ„ํš์ž„)
ํ•„์ˆ˜์ ์œผ๋กœ ๊ฐ€๋ฅด์ณ์•ผํ•  ๋‚ด์šฉ
  • DOM (Document Object Model)์— ๋Œ€ํ•ด์„œ ์„ค๋ช….
    • document.cookie
    • document.domain
    • document.getElementById()
    • etc.
  • Location ๊ฐ์ฒด์— ๋Œ€ํ•ด ์„ค๋ช…
    • location.href (์ด๊ฒƒ์„ ํ†ตํ•ด Cookie ๋ฐ Session ๊ฐ’์„ ๋นผ์•—๊ธฐ ๋•Œ๋ฌธ์ž„.)
Javascript ํ•จ์ˆ˜ ๋‘˜๋Ÿฌ๋ณด๊ธฐ
  • ์›น ํŽ˜์ด์ง€์—์„œ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜ ์œ„์ฃผ๋กœ ๊ต์œก ์—์ •
  • alert, confirm, prompt ๋“ฑ

10์ฐจ์‹œ

XSS
  • XSS ๋ž€? (CSRF๋ž‘ ๋น„๊ตํ•ด์„œ ์„ค๋ช…)
  • XSS ์‹œ์—ฐ ( https://xss-game.appspot.com/, naver xss ์‹œ์—ฐ ์˜์ƒ )
  • XSS ์ทจ์•ฝ์  ์ฐพ๊ธฐ (๋ฏธ๋ฆฌ ๋งŒ๋“  ์˜ˆ์ œ ์‚ฌ์šฉ, ์˜ˆ์ œ 1-1)

11์ฐจ์‹œ

SQLi ๋ž€?
์ž์ฒด CTF ์•ˆ๋‚ด
  • ๊ทœ์น™, ์‹œ๊ฐ„ ์•ˆ๋‚ด
  • CTF ์„œ๋ฒ„ ์˜คํ”ˆ

12์ฐจ์‹œ

์ž์ฒด CTF ์ง„ํ–‰
  • ํŒ€์œผ๋กœ ๋‚˜๋ˆ„์–ด์„œ ์ง„ํ–‰ (๋ฉ˜ํ† ๋Š” ๋ฌธ์ œ์™€ ๊ด€๋ จ๋œ ๊ฐœ๋… ๋˜๋Š” ์›๋ฆฌ๋งŒ ์•Œ๋ ค์คŒ.)
  • ์ˆœ์œ„์— ๋”ฐ๋ผ ๋ณด์ƒ ์ง€๊ธ‰

์˜ˆ์ œ

1-1

<?php 
    $a = $_GET['a'];
    echo $a;
?>

=> <script> alert(1); </script>
<?php 
    $a = $_GET['a'];
    if(preg_match('/script/i', $a)) exit("No Hack ~_~");
    echo $a;
?>

=> <img src=x onerror="alert(1)">

1-2

<?php 
    include './db_config.php'

    if(preg_match('/prob|_|\.|\(\)/i', $_GET[id])) exit("No Hack ~_~");
    if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~");
    $query = "select id from prob where id='{$_GET[id]}' and pw='{$_GET[pw]}'";
    echo "<hr>query : <strong>{$query}</strong><hr><br>";
    $result = @mysql_fetch_array(mysql_query($query));
    if($result['id']) echo $flag;
    highlight_file(__FILE__);
?>

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •