Archive for Dev. (junyup2)

์ง€์‹์„ ์ฑ„์›Œ๊ฐ€๋Š” ใ€Ž๊ฐœ๋ฐœ์ž/ํ™”์ดํŠธํ•ด์ปคใ€๋ฅผ ๋ชฉํ‘œ๋กœ ์ •๋ฆฌํ•˜๋Š” ๋ธ”๋กœ๊ทธ

sql 7

[๊ธฐ๋ก์ผ์ง€] ๐Ÿ“š 06์ฃผ์ฐจ (๐Ÿ’‰SQL Injection - Data Extraction)

SQL Injection Data Extraction SQL Injection์„ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ์ถ”์ถœ(Data Extraction) ๋ฐ์ดํ„ฐ ์ถ”์ถœ(Data Extraction) ๋ฐ์ดํ„ฐ ์ถ”์ถœ์„ ์œ„ํ•œ ์‚ฌ์ „ํ™•์ธ SQL ์ธ์ ์…˜์ด ์ผ์–ด๋‚˜๋Š” ๊ณณ 1. DB ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ณณ์ธ๊ฐ€? 2. ๊ทธ ๋ฐ์ดํ„ฐ๊ฐ€ ํ™”๋ฉด์— ๋‚˜์˜ค๋Š”๊ฐ€? ์•ˆ๋‚˜์˜ค๋Š”๊ฐ€? (DB์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์›น ํŽ˜์ด์ง€์—(ํ™”๋ฉด์—) ๋‚˜์˜ค๋Š” ๊ฒฝ์šฐ์™€ ๋‚˜์˜ค์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค.) > ์›นํŽ˜์ด์ง€์— ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฒฝ์šฐ ex) ๊ฒŒ์‹œํŒ > ๋‚˜์˜ค์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ex) ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ, ์•„์ด๋”” ์ค‘๋ณต ์ฒดํฌ (๋‚ด์šฉ์ด ๋‚˜์˜ค๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ณ  ์žˆ๋‹ค or ์—†๋‹ค, ์˜ณ๋‹ค or ํ‹€๋ฆฌ๋‹ค๋งŒ ์•Œ๋ ค์คŒ) SQL Injection์€ DB ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ณณ์—์„œ๋Š” ์ž ์žฌ์ ์œผ๋กœ ์‹คํ–‰ ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ์›ํ•˜๋Š” ๋ฐ..

[๊ธฐ๋ก์ผ์ง€] ๐Ÿ“š 05์ฃผ์ฐจ (๐Ÿ”“Authentication Bypass)

์ธ์ฆ (Authentication) Bypass with SQL Injection SQL Injection SQL Injection์ด๋ž€? ๋ง ๊ทธ๋Œ€๋กœ SQL ์งˆ์˜๋ฌธ์„ ์‚ฝ์ž…ํ•˜์—ฌ ์„œ๋ฒ„ ์ธก์—์„œ ์ค€๋น„๋œ SQL ์งˆ์˜๋ฌธ์„ ๋ณ€์กฐํ•˜๋Š” ๊ณต๊ฒฉ์„ ์˜๋ฏธํ•œ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•˜๋Š” ์ž…๋ ฅ๊ฐ’์— ๋Œ€ํ•ด ๊ฒ€์ฆ์„ ์ œ๋Œ€๋กœ ํ•˜์ง€ ์•Š๋Š” ์ทจ์•ฝ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉด SQL๋ฌธ์„ ๋ผ์›Œ ๋„ฃ์„์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๊ณต๊ฒฉ์ž๊ฐ€ ์ž…๋ ฅ์ฐฝ์— ์•…์˜์ ์œผ๋กœ SQL ๋ฌธ์„ ๋ผ์›Œ๋„ฃ์–ด ๊ณต๊ฒฉํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ SQL Injection์ด๋‹ค. SQL๋ฌธ์„ ์ž…๋ ฅ์ฐฝ์— ์ ์œผ๋ฉด ๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ๊ธฐ์— ์ด๊ฒƒ์„ ๊ณต๊ฒฉ์ด๋ผ๊ณ  ํ• ๊นŒ? ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ณผ์ •์—์„œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณด๊ด€๋œ DB๊ฐ€ ์กด์žฌํ•˜๊ณ , ์š”์ฒญ์— ๋”ฐ๋ผ ํ•ด๋‹น DB๋ฅผ CRUD(์ €์žฅ,์กฐํšŒ,์ˆ˜์ •,์‚ญ์ œ)ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ SQL Query๊ฐ€ ์ค€๋น„๋˜์–ด์žˆ๋‹ค. ์ข€ ๋” ์ž์„ธํžˆ..

[๊ณผ์ œ] 03์ฃผ์ฐจ(1) ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ณด์™„

๋ชจ์˜ ํ•ดํ‚น ์Šคํ„ฐ๋”” - ๊ณผ์ œ 03์ฃผ์ฐจ(1) ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ณด์™„ ๋ชจ์˜ ํ•ดํ‚น ์Šคํ„ฐ๋”” - 2์ฃผ์ฐจ ๊ณผ์ œ (๋งˆ์ดํŽ˜์ด์ง€ - ๋‚˜์˜ ์ •๋ณด) ๋ชจ์˜ ํ•ดํ‚น ์Šคํ„ฐ๋”” - ๊ณผ์ œ 02์ฃผ์ฐจ(3) (๋งˆ์ดํŽ˜์ด์ง€ - ๋‚˜์˜ ์ •๋ณด) ๋ชจ์˜ ํ•ดํ‚น ์Šคํ„ฐ๋”” - 2์ฃผ์ฐจ ๊ณผ์ œ(3) (๋งˆ์ดํŽ˜์ด์ง€ - ๋‚˜์˜ ์ •๋ณด) ๋ชจ์˜ ํ•ดํ‚น ์Šคํ„ฐ๋”” - ๊ณผ์ œ 02์ฃผ์ฐจ(2) (ํšŒ์›๊ฐ€์ž…/๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๊ตฌํ˜„)์˜ Develop ๊ณผ์ œ ๋ชจ์˜ ํ•ดํ‚น ์Šคํ„ฐ๋”” - ๊ณผ์ œ 02์ฃผ์ฐจ(2) (ํšŒ์›๊ฐ€์ž…/๋กœ๊ทธ์ธ ํŽ˜ codegear-archive.tistory.com ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๊ตฌํ˜„์˜ Develop ๊ณผ์ œ ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ ํšŒ์›์ •๋ณด ์ˆ˜์ • ํšŒ์›ํƒˆํ‡ด ๋ณ€๊ฒฝ์  (๋ฆฌ๋””๋ ‰์…˜ ๋ณ€๊ฒฝ) home.php mypage.php ์ถ”๊ฐ€๋œ ์ฝ”๋“œ ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ edit_pw.php change.php ํšŒ์›์ •๋ณด ์ˆ˜์ • edit.php up..

[์‹ค์Šต] ๐Ÿ’ป 02์ฃผ์ฐจ

๋ชจ์˜ ํ•ดํ‚น ์Šคํ„ฐ๋”” 2์ฃผ์ฐจ ์‹ค์Šต WAS - DB ์—ฐ๊ฒฐ php - mysql ์—ฐ๋™ db_connection.php (MySQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋ณธํฌํŠธ(port)๋ฒˆํ˜ธ๋Š” 3306) ๋™์ผ ์„œ๋ฒ„/ ๋™์ผ ์ปดํ“จํ„ฐ์— web/was/db๊ฐ€ ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— localhost localhost = 127.0.0.1 mysqli_connect('localhost', '*****', '***********', 'db'); ์œ„์™€ ๊ฐ™์ด๋งŒ ์“ฐ๋ฉด ํ‹ฐ์ผ“์„ ๋Š์–ด๋‹ค๊ฐ€ ๋•…๋ฐ”๋‹ฅ์— ๋ฒ„๋ฆฌ๋Š” ํ–‰์œ„ ๋”ฐ๋ผ์„œ ์œ„์˜ ์ฝ”๋“œ ๋ธ”๋Ÿญ์ฒ˜๋Ÿผ $db_conn ๊ณผ ๊ฐ™์ด ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•˜์—ฌ ๋„ฃ์–ด์ค˜์•ผ ํ•จ $db_conn = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME); $db_conn ๋ผ๋Š” ๋ณ€์ˆ˜์— ์ €์žฅ ์—ฐ..

[๊ณผ์ œ] 02์ฃผ์ฐจ(3) (๋งˆ์ดํŽ˜์ด์ง€ - ๋‚˜์˜ ์ •๋ณด)

๋ชจ์˜ ํ•ดํ‚น ์Šคํ„ฐ๋”” - 2์ฃผ์ฐจ ๊ณผ์ œ(3) (๋งˆ์ดํŽ˜์ด์ง€ - ๋‚˜์˜ ์ •๋ณด) ๋ชจ์˜ ํ•ดํ‚น ์Šคํ„ฐ๋”” - ๊ณผ์ œ 02์ฃผ์ฐจ(2) (ํšŒ์›๊ฐ€์ž…/๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๊ตฌํ˜„)์˜ Develop ๊ณผ์ œ ๋ชจ์˜ ํ•ดํ‚น ์Šคํ„ฐ๋”” - ๊ณผ์ œ 02์ฃผ์ฐจ(2) (ํšŒ์›๊ฐ€์ž…/๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๊ตฌํ˜„) ๋ชจ์˜ ํ•ดํ‚น ์Šคํ„ฐ๋”” - 2์ฃผ์ฐจ ๊ณผ์ œ(2) (ํšŒ์›๊ฐ€์ž…/๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๊ตฌํ˜„) ๋ชจ์˜ ํ•ดํ‚น ์Šคํ„ฐ๋”” - 1์ฃผ์ฐจ ๊ณผ์ œ(๊ฐ„์ด ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์ œ์ž‘) ๋ชจ์˜ ํ•ดํ‚น ์Šคํ„ฐ๋”” - 1์ฃผ์ฐจ ๊ณผ์ œ(๊ฐ„์ด ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์ œ์ž‘) ๋ชจ์˜ ํ•ดํ‚น ์Šค codegear-archive.tistory.com ์ถ”๊ฐ€ ๊ตฌํ˜„ ๋งˆ์ดํŽ˜์ด์ง€ - ๋‚˜์˜ ์ •๋ณด ์ถ”๊ฐ€๋œ ์ฝ”๋“œ mypage.php ์ด์ „ํŽ˜์ด์ง€(home.php) ๋งˆ์ดํŽ˜์ด์ง€ ํšŒ์›ํƒˆํ‡ด mypage.php Mypage ๋’ค๋กœ๊ฐ€๊ธฐ session ๋ณ€์ˆ˜์˜ ์ •๋ณด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ, SELECT ๋ฅผ ์ด์šฉ..

[๊ณผ์ œ] 02์ฃผ์ฐจ(2) (ํšŒ์›๊ฐ€์ž…/๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๊ตฌํ˜„)

๋ชจ์˜ ํ•ดํ‚น ์Šคํ„ฐ๋”” - 2์ฃผ์ฐจ ๊ณผ์ œ(2) (ํšŒ์›๊ฐ€์ž…/๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๊ตฌํ˜„) ๋ชจ์˜ ํ•ดํ‚น ์Šคํ„ฐ๋”” - 1์ฃผ์ฐจ ๊ณผ์ œ(๊ฐ„์ด ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์ œ์ž‘) ๋ชจ์˜ ํ•ดํ‚น ์Šคํ„ฐ๋”” - 1์ฃผ์ฐจ ๊ณผ์ œ(๊ฐ„์ด ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์ œ์ž‘) ๋ชจ์˜ ํ•ดํ‚น ์Šคํ„ฐ๋”” - 1์ฃผ์ฐจ ๊ณผ์ œ (๊ฐ„์ด ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์ œ์ž‘) ์ œ์ž‘ ์กฐ๊ฑด DB ์—ฐ๊ฒฐ X ID / PW == admin / admin1234 ์ž…๋ ฅ์‹œ ๋กœ๊ทธ์ธ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๊พธ๋ฏธ๊ธฐ (CSS / Bootstrap ์ด์šฉ) ์ถ”ํ›„ ์›ํ•˜๋Š”๋Œ€๋กœ ์ ์šฉ ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•˜ codegear-archive.tistory.com 1์ฃผ์ฐจ (๊ฐ„์ด ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€) ๊ณผ์ œ์˜ Develop ๊ณผ์ œ ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (๊ธฐ๋Šฅ ๊ตฌํ˜„) ํšŒ์› ๊ฐ€์ž… ์ •๋ณด (DB ์ €์žฅ) ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ (DB ์—ฐ๋™) ๋™์ž‘ ๊ณผ์ • ์ฒซ ํ™”๋ฉด์ธ htt[://192.168.xxx.xxx:101..

[๊ธฐ๋ก์ผ์ง€] ๐Ÿ“š 02์ฃผ์ฐจ (DB/SQL)

DB/SQL ์— ๋Œ€ํ•œ ์ดํ•ด DB (DataBase) ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์—‘์…€ ํ”„๋กœ๊ทธ๋žจ๊ณผ ๊ฑฐ์˜ ๋™์ผ DB์˜ ๊ตฌ์กฐ Database DB์— Database๊ฐ€ ์กด์žฌ ์—‘์…€ ํŒŒ์ผ๊ณผ ๋น„์Šทํ•œ ํฐ ์กฐ๊ฐ๋“ค Table Excel์˜ Sheet์™€ ๋™์ผ (์—‘์…€์‹œํŠธ) ๊ด€๋ฆฌํ•˜๊ณ  ์‹ถ์€ ๋น„์Šทํ•œ ์ข…๋ฅ˜ ๋ผ๋ฆฌ์˜ ๋ฌถ์Œ Column ์—ด, ์„ธ๋กœ ๋ฐ์ดํ„ฐ ๋ฐ์ดํ„ฐ ์ข…๋ฅ˜, ์นดํ…Œ๊ณ ๋ฆฌ Row ํ–‰, ๊ฐ€๋กœ ๋ฐ์ดํ„ฐ ๋ฐ์ดํ„ฐ ํ•œ ์„ธํŠธ(set) DBMS(๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ) MySQL์šฉ DBMS ๊ด€๋ฆฌ ๋„๊ตฌ : phpMyAdmin ์—ฐ๊ฒฐ ์„ธ๋ถ€ ์ •๋ณด : ๊ด€๋ฆฌ ๋„๊ตฌ์—์„œ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„ ๋˜๋Š” IP์ฃผ์†Œ, ํฌํŠธ ๋ฒˆํ˜ธ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฆ„, ์‚ฌ์šฉ์ž ์ด๋ฆ„ ๋ฐ ์•”ํ˜ธ๋ฅผ ํฌํ•จํ•œ ์—ฐ๊ฒฐ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ์ฐพ์Œ DB ์ ‘์† docker์— ์ด๋ฏธ ์„ค์น˜๋œ ์ƒํƒœ๋กœ ์ด์šฉ apache ..