[Python] λ³€μˆ˜

νŒŒμ΄μ¬μ—μ„œ λ³€μˆ˜λŠ” λ‹¨μˆœν•œ μ•ŒνŒŒλ²³ 이름과 =만으둜 μ„ μ–Έν•  수 μžˆλ‹€.

μ•„λž˜μ˜ μ½”λ“œλŠ” numμ΄λΌλŠ” λ³€μˆ˜μ— 10μ΄λΌλŠ” μˆ«μžκ°’μ„ μ €μž₯ν•œ 것이닀. image

image

또, 이건 'λ³€μˆ˜'이기 λ•Œλ¬Έμ—, λ§ˆμŒλŒ€λ‘œ λ‚΄λΆ€μ˜ 값을 λ³€κ²½ν•  수 μžˆλ‹€.
μ•„λž˜ μ½”λ“œλŠ” κΈ°μ‘΄ num에 10μ΄λΌλŠ” 수λ₯Ό λ”ν•΄μ„œ λ³€κ²½μ‹œν‚¨λ‹€. image

image


λ³€μˆ˜ μ‚­μ œ
νŒŒμ΄μ¬μ€ λ…νŠΉν•˜κ²Œλ„, μ„ μ–Έν–ˆλ˜ λ³€μˆ˜λ₯Ό μ§€μ›Œλ²„λ¦΄ 수 μžˆλ‹€.
delμ΄λΌλŠ” ν•¨μˆ˜μ— λ³€μˆ˜λͺ…을 λ„˜κ²¨μ£Όλ©΄ λœλ‹€. image

image μ‚­μ œλΌμ„œ μ½νžˆμ§€ μ•ŠλŠ” 것을 λ³Ό 수 μžˆλ‹€.


μƒμˆ˜λŠ” μ—†λ‹€.


νƒ€μž… 문제
νŒŒμ΄μ¬μ€ 동적 νƒ€μž… μ–Έμ–΄λ‹€.
이건 νƒ€μž…μ„ λ”°λ‘œ κ²€μ‚¬ν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” 뜻이고, ν•˜λ‚˜μ˜ λ³€μˆ˜μ— μ—¬λŸ¬κ°€μ§€ νƒ€μž…κ°’μ„ λŒ€μž…ν•  μˆ˜λ„ μžˆλ‹€λŠ” 말이 λœλ‹€.

κ°€λ Ή numμ΄λΌλŠ” λ³€μˆ˜λŠ” μ΄λ¦„μ—μ„œ 보이듯이 숫자λ₯Ό μ €μž₯ν•˜λŠ” λ³€μˆ˜λ‹€.
그런데 λ¬Έμžμ—΄μ„ μ €μž₯ν•œλ‹€λ©΄ μ–΄λ–»κ²Œ 될까? μˆ«μžμ™€ λ¬Έμžμ—΄μ€ κΆ€λ₯Ό λ‹¬λ¦¬ν•˜λŠ” ν˜•μ‹μ΄λ‹€.
κ·ΈλŸΌμ—λ„ λΆˆκ΅¬ν•˜κ³  μ•„λž˜μ™€ 같은 μ½”λ“œλŠ” μ •μƒμ μœΌλ‘œ λ™μž‘ν•œλ‹€. image

image 이것이 동적언어가 κ°€μ§„ 취약점이닀.
잘λͺ»λœ νƒ€μž…κ°’μ΄ 듀어가도 μ²΄ν¬ν•˜κΈ°κ°€ μ–΄λ ΅λ‹€.

그런데 λ‹€ν–‰νžˆ 3.6λ²„μ „λΆ€ν„°λŠ” λ―ΈλΉ„ν•˜μ§€λ§Œ νƒ€μž…μ²΄ν¬ κΈ°λŠ₯이 생기긴 ν–ˆλ‹€. 이에 λŒ€ν•΄μ„œλŠ” μ°¨ν›„ 닀루도둝 ν•˜κ² λ‹€.