SWLUG 163

[Network/λ„€νŠΈμ›Œν¬] STUDY :: λ©€ν‹°λ―Έλ””μ–΄ μ„œλΉ„μŠ€μ˜ λ™μž‘ 원리

http://www.kocw.net/home/search/kemView.do?kemId=1169634 μ»΄ν“¨ν„°λ„€νŠΈμ›Œν¬ 인터넷을 λ™μž‘μ‹œν‚€λŠ” μ»΄ν“¨ν„°λ„€νŠΈμ›Œν¬ ν”„λ‘œν† ν΄μ„ ν•™μŠ΅ν•œλ‹€. www.kocw.net μœ„μ˜ κ°•μ˜λ₯Ό λ“£κ³  μž‘μ„±ν•œ κΈ€μž…λ‹ˆλ‹€, [1] κ°•μ˜ λ‚΄μš© ν•„κΈ° 이번 κ°•μ˜μ—μ„œλŠ” λ©€ν‹°λ―Έλ””μ–΄ λ„€νŠΈμ›Œν¬μ˜ 핡심 λ™μž‘ 원리에 λŒ€ν•œ 이해가 μ€‘μš”ν•˜λ©°, μ΄λŠ” κ²°κ΅­ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ ˆμ΄μ–΄μ— λŒ€ν•œ μ΄ν•΄λ‘œ μ΄μ–΄μ§‘λ‹ˆλ‹€. λ©€ν‹°λ―Έλ””μ–΄λŠ” μ•„λ‚ λ‘œκ·Έ μ˜€λ””μ˜€ μ‹œκ·Έλ„μ„ λ„€νŠΈμ›Œν‚Ήμ„ 톡해 μ „λ‹¬ν•˜κΈ° μœ„ν•΄ 디지털 λ°μ΄ν„°λ‘œ λ³€ν™˜ν•΄μ•Ό ν•©λ‹ˆλ‹€. 이λ₯Ό μœ„ν•΄ μ•„λ‚ λ‘œκ·Έ νŒŒμΌμ„ μƒ˜ν”Œλ§ν•˜μ—¬ 주기적인 κ°„κ²©μœΌλ‘œ λŒ€ν‘―κ°’μ„ μ •ν•˜κ³  λ””μ§€ν„Έν™”ν•©λ‹ˆλ‹€. 였차λ₯Ό 쀄이기 μœ„ν•œ λ°©λ²•μœΌλ‘œλŠ” 간격을 μ’νžˆκ±°λ‚˜ λΉ„νŠΈκ°’μ„ λŠ˜λ¦¬λŠ” 것이 μžˆμŠ΅λ‹ˆλ‹€. μ΄λ ‡κ²Œ λ³€ν™˜λœ λ°μ΄ν„°μ˜ μ½”λ”© λ ˆμ΄νŠΈλŠ” 원본 μŒμ„±κ³Όμ˜ 유..

[Dreamhack/λ“œλ¦Όν•΅] csrf-2

https://dreamhack.io/wargame/challenges/269 [1] 문제 뢄석 # 문제 μ›Ή νŽ˜μ΄μ§€ 뢄석 (1) /Home 초기 ν™”λ©΄(Home ν™”λ©΄)이닀. (2) /vuln(csrf) page scriptλŠ” *둜 λŒ€μ²΄λ˜μ—ˆκ³  /scriptλŠ” 곡백 처리된 것 κ°™λ‹€. μ†ŒμŠ€ μ½”λ“œλ„ 이게 μ „λΆ€λ‹€. (3) /flag νŽ˜μ΄μ§€ /vuln κ²½λ‘œμ— param λ§€κ°œλ³€μˆ˜λ₯Ό 전달할 λ•Œ 넣을 값을 μ œμΆœν•˜λ©΄ λ˜λŠ” ν˜•μ‹μ΄λ‹€. CSRF-2 Home http://127.0.0.1:8000/vuln?param= /flag νŽ˜μ΄μ§€μ˜ μ†ŒμŠ€ μ½”λ“œμ΄λ‹€. 방금 λΆ„μ„ν•œ κ·ΈλŒ€λ‘œμ΄κ³ , 이외에 λ”±νžˆ νžŒνŠΈκ°€ λ˜λŠ” λ‚΄μš©μ€ μ—†μ—ˆλ‹€. (4) /login νŽ˜μ΄μ§€ λ‘œκ·ΈμΈμ„ ν•  수 μžˆλŠ” 화면이 λ‚˜νƒ€λ‚œλ‹€. CSRF-2 Home Login usernam..

[Dreamhack/λ“œλ¦Όν•΅] csrf-1

https://dreamhack.io/wargame/challenges/26 csrf-1 μ—¬λŸ¬ κΈ°λŠ₯κ³Ό μž…λ ₯받은 URL을 ν™•μΈν•˜λŠ” 봇이 κ΅¬ν˜„λœ μ„œλΉ„μŠ€μž…λ‹ˆλ‹€. CSRF 취약점을 μ΄μš©ν•΄ ν”Œλž˜κ·Έλ₯Ό νšλ“ν•˜μ„Έμš”. 문제 μˆ˜μ • λ‚΄μ—­ 2023.07.18 css, html 제곡 및 read_url() μ½”λ“œ 일뢀가 λ³€κ²½λ˜μ—ˆμŠ΅λ‹ˆλ‹€. Referen dreamhack.io [1] 문제 뢄석 # 문제 νŽ˜μ΄μ§€ 뢄석 (1) 초기 ν™”λ©΄ (Home) (1) /vuln(csrf) page script κ°€ *둜 μΉ˜ν™˜λ˜μ–΄μžˆλ‹€. /scriptλŠ” μ œκ±°λ˜μ—ˆλ‹€. μ†ŒμŠ€ μ½”λ“œμ—μ„œλŠ” μ•Œμ•„λ‚Ό 수 μžˆλŠ” 것이 μ—†μ—ˆλ‹€. (2) /memo URL을 보면 /memo νŽ˜μ΄μ§€μ—μ„œ memo νŒŒλΌλ―Έν„°λ‘œ helloλ₯Ό λ°›μ•„λ“€μ—¬μ„œ νŽ˜μ΄μ§€ 화면에 좜λ ₯ν•˜λŠ” 것을 μ•Œ 수 μžˆλ‹€. 즉 ..

[Dreamhack/λ“œλ¦Όν•΅] XSS Filtering Bypass

https://dreamhack.io/wargame/challenges/433 XSS Filtering Bypass Description Exercise: XSS Filtering Bypassμ—μ„œ μ‹€μŠ΅ν•˜λŠ” λ¬Έμ œμž…λ‹ˆλ‹€. 문제 μˆ˜μ • λ‚΄μ—­ 2023.08.04 Dockerfile 제곡 dreamhack.io 문제 제λͺ©μ„ λ³΄μ•„ν•˜λ‹ˆ, xss 필터링을 μš°νšŒν•΄μ„œ ν‘ΈλŠ” 문제인 것 κ°™λ‹€. 일단 문제 μ›ΉνŽ˜μ΄μ§€λ₯Ό λΆ„μ„ν•˜κ³ , κ·Έ λ‹€μŒμ— 받은 문제 νŒŒμΌλ„ 뢄석해보도둝 ν•˜κ² λ‹€. [1] 문제 뢄석 # 문제 νŽ˜μ΄μ§€ 뢄석 초기 화면이닀. (1) /vuln(xss) page /vuln(xss) page λ₯Ό 듀어가보면 λ‚˜μ˜€λŠ” ν™”λ©΄. νƒœκ·Έκ°€ μ‚¬μš©λ˜μ—ˆλ‹€. srcλŠ” 이미지 파일의 URL을 μ§€μ •ν•˜κ³ , λ”°λΌμ„œ μ›Ή νŽ˜μ΄μ§€μ—μ„œ ν•΄λ‹Ή https://dr..

[webhacking.kr] Challenge old-23

[1] 문제 탐색 문제 화면이닀. λ‚΄ λ―Έμ…˜μ€ λ¬Έμ œμ—μ„œ μ œκ³΅ν•˜λŠ” μ›ΉνŽ˜μ΄μ§€μ—μ„œ μ œκ³΅ν•˜λŠ” μž…λ ₯ 칸에, λ₯Ό μ‚½μž…ν•˜λŠ” 것이닀. κ·ΈλŸ¬λ‚˜ μ‰½κ²Œ λ˜μ§€ μ•ŠμœΌλ‹ˆκΉŒ 문제일 것이고, μ•„λ§ˆ μž…λ ₯받은 슀크립트 νƒœκ·Έλ₯Ό ν•„ν„°λ§ν•˜λŠ” λ“±μ˜ 방법을 μ‚¬μš©ν•˜μ§€ μ•Šμ„κΉŒ μ‹Άλ‹€. λ‹€λ₯Έ 취약점을 μ°Ύμ•„λ‚΄λŠ” 것이 문제의 핡심일 것 κ°™λ‹€. # 문제 νŽ˜μ΄μ§€ μ†ŒμŠ€μ½”λ“œ 뢄석 뢄석 (1) μš”μ†Œμ˜ method 속성은 μ‚¬μš©μžκ°€ μž…λ ₯ν•œ 데이터λ₯Ό μ„œλ²„μ— μ „μ†‘ν•˜λŠ” 방법을 μ§€μ •ν•˜λŠ”λ°, μ˜΅μ…˜ 쀑 ν•˜λ‚˜λ‘œ GET 방식이 μžˆλ‹€. GET 방식은 μž…λ ₯ν•œ 데이터λ₯Ό URL의 μΌλΆ€λ‘œ λΆ™μ—¬μ„œ μ„œλ²„μ— 보낸닀. 즉, μ‚¬μš©μžκ°€ μž…λ ₯ν•œ 데이터가 URL에 λ…ΈμΆœμ΄ λ˜λŠ” 것이닀. 뢄석 (2) action 속성은 μš”μ†Œμ—μ„œ 데이터λ₯Ό μ œμΆœν•  λ•Œ μ–΄λ–€ 경둜둜 데이터λ₯Ό 보낼지λ₯Ό μ§€μ •ν•œλ‹€. 이 κ²½λ‘œλŠ” μ„œλ²„ 츑에..

[C] λ°±μ€€ BAEKJOON 18258번: 큐 2

[1] 문제 문제 μ •μˆ˜λ₯Ό μ €μž₯ν•˜λŠ” 큐λ₯Ό κ΅¬ν˜„ν•œ λ‹€μŒ, μž…λ ₯으둜 μ£Όμ–΄μ§€λŠ” λͺ…령을 μ²˜λ¦¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. λͺ…령은 총 μ—¬μ„― 가지이닀. push X: μ •μˆ˜ Xλ₯Ό 큐에 λ„£λŠ” 연산이닀. pop: νμ—μ„œ κ°€μž₯ μ•žμ— μžˆλŠ” μ •μˆ˜λ₯Ό λΉΌκ³ , κ·Έ 수λ₯Ό 좜λ ₯ν•œλ‹€. λ§Œμ•½ 큐에 λ“€μ–΄μžˆλŠ” μ •μˆ˜κ°€ μ—†λŠ” κ²½μš°μ—λŠ” -1을 좜λ ₯ν•œλ‹€. size: 큐에 λ“€μ–΄μžˆλŠ” μ •μˆ˜μ˜ 개수λ₯Ό 좜λ ₯ν•œλ‹€. empty: 큐가 λΉ„μ–΄μžˆμœΌλ©΄ 1, μ•„λ‹ˆλ©΄ 0을 좜λ ₯ν•œλ‹€. front: 큐의 κ°€μž₯ μ•žμ— μžˆλŠ” μ •μˆ˜λ₯Ό 좜λ ₯ν•œλ‹€. λ§Œμ•½ 큐에 λ“€μ–΄μžˆλŠ” μ •μˆ˜κ°€ μ—†λŠ” κ²½μš°μ—λŠ” -1을 좜λ ₯ν•œλ‹€. back: 큐의 κ°€μž₯ 뒀에 μžˆλŠ” μ •μˆ˜λ₯Ό 좜λ ₯ν•œλ‹€. λ§Œμ•½ 큐에 λ“€μ–΄μžˆλŠ” μ •μˆ˜κ°€ μ—†λŠ” κ²½μš°μ—λŠ” -1을 좜λ ₯ν•œλ‹€. μž…λ ₯ 첫째 쀄에 μ£Όμ–΄μ§€λŠ” λͺ…λ Ήμ˜ 수 N (1 ≤ N ≤ 2,000,000)이..

[C] λ°±μ€€ BAEKJOON 10813번: 곡 λ°”κΎΈκΈ°

[1] 문제 문제 λ„ν˜„μ΄λŠ” λ°”κ΅¬λ‹ˆλ₯Ό 총 N개 가지고 있고, 각각의 λ°”κ΅¬λ‹ˆμ—λŠ” 1λ²ˆλΆ€ν„° Nλ²ˆκΉŒμ§€ λ²ˆν˜Έκ°€ 맀겨져 μžˆλ‹€. λ°”κ΅¬λ‹ˆμ—λŠ” 곡이 1κ°œμ”© λ“€μ–΄μžˆκ³ , μ²˜μŒμ—λŠ” λ°”κ΅¬λ‹ˆμ— μ ν˜€μžˆλŠ” λ²ˆν˜Έμ™€ 같은 λ²ˆν˜Έκ°€ 적힌 곡이 λ“€μ–΄μžˆλ‹€. λ„ν˜„μ΄λŠ” μ•žμœΌλ‘œ M번 곡을 λ°”κΎΈλ €κ³  ν•œλ‹€. λ„ν˜„μ΄λŠ” 곡을 λ°”κΏ€ λ°”κ΅¬λ‹ˆ 2개λ₯Ό μ„ νƒν•˜κ³ , 두 λ°”κ΅¬λ‹ˆμ— λ“€μ–΄μžˆλŠ” 곡을 μ„œλ‘œ κ΅ν™˜ν•œλ‹€. 곡을 μ–΄λ–»κ²Œ 바꿀지가 μ£Όμ–΄μ‘Œμ„ λ•Œ, M번 곡을 λ°”κΎΌ 이후에 각 λ°”κ΅¬λ‹ˆμ— μ–΄λ–€ 곡이 λ“€μ–΄μžˆλŠ”μ§€ κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. μž…λ ₯ 첫째 쀄에 N (1 ≤ N ≤ 100)κ³Ό M (1 ≤ M ≤ 100)이 주어진닀. λ‘˜μ§Έ 쀄뢀터 M개의 쀄에 κ±Έμ³μ„œ 곡을 κ΅ν™˜ν•  방법이 주어진닀. 각 방법은 두 μ •μˆ˜ i j둜 이루어져 있으며, i번 λ°”κ΅¬λ‹ˆμ™€ j번 λ°”κ΅¬λ‹ˆμ— λ“€μ–΄μžˆλŠ” 곡을 ..

[Dreamhack/λ“œλ¦Όν•΅] xss-2

https://dreamhack.io/wargame/challenges/268 xss-2 μ—¬λŸ¬ κΈ°λŠ₯κ³Ό μž…λ ₯받은 URL을 ν™•μΈν•˜λŠ” 봇이 κ΅¬ν˜„λœ μ„œλΉ„μŠ€μž…λ‹ˆλ‹€. XSS 취약점을 μ΄μš©ν•΄ ν”Œλž˜κ·Έλ₯Ό νšλ“ν•˜μ„Έμš”. ν”Œλž˜κ·ΈλŠ” flag.txt, FLAG λ³€μˆ˜μ— μžˆμŠ΅λ‹ˆλ‹€. ν”Œλž˜κ·Έ ν˜•μ‹μ€ DH{...} μž…λ‹ˆλ‹€. 문제 μˆ˜μ • λ‚΄μ—­ dreamhack.io [1] 문제 탐색 초기 화면이닀. /vuln(xss) page. 아무것도 보이지 μ•ŠλŠ”λ‹€. /memo νŽ˜μ΄μ§€ λ“€μ–΄κ°„ 횟수만큼 "hello"κ°€ 적히게 λœλ‹€. /flag νŽ˜μ΄μ§€ paramλ₯Ό λ§€κ°œλ³€μˆ˜λ‘œν•˜λŠ” μ–΄λ–€ 값을 μ œμΆœν•  수 μžˆλŠ” νŽ˜μ΄μ§€μ΄λ‹€. [2] 문제 풀이 xss-1와 ꡬ성은 κ°™μ§€λ§Œ 더 이상 /vulnνŽ˜μ΄μ§€μ—μ„œ ꡬ문 외에 μš°νšŒν•˜μ—¬ λ™μž‘ν•˜λŠ” μŠ€ν¬λ¦½νŠΈκ°€ μžˆλŠ”μ§€ 찾아보고, μ°Ύμ•„λ‚Έ μ½”λ“œλ₯Ό..