SWLUG/μ›Ή ν•΄ν‚Ή

[webhacking.kr] old-42번

waterproof 2023. 9. 18. 20:41

두 개의 파일이 μžˆλ‹€.

 

 

[download]λ₯Ό ν΄λ¦­ν•˜λ©΄ test.txt νŒŒμΌμ€ λ‹€μš΄λ‘œλ“œκ°€ λœλ‹€.

 

 

 

κ·ΈλŸ¬λ‚˜ flag.docxλŠ” "Access Denied" λΌλŠ” 문ꡬ의 λ©”μ‹œμ§€ 창이 λœ¬λ‹€.

 

 

 

λ‹€μš΄λ‘œλ“œν•œ test.txt 파일의 λ‚΄μš©μ΄λ‹€. (별 μ˜λ―Έμ—†λŠ” λ‚΄μš©μΈ 것 κ°™λ‹€.)

 

 

 

마우슀 μš°ν΄λ¦­μ„ ν•˜μ—¬ μ›ΉνŽ˜μ΄μ§€μ˜ μ†ŒμŠ€μ½”λ“œλ₯Ό ν™•μΈν•΄λ³΄μ•˜λ‹€. (F12λ₯Ό λˆŒλŸ¬λ„ μ†ŒμŠ€μ½”λ“œλ₯Ό 확인할 수 μžˆλ‹€.)

 

 

 

μ†ŒμŠ€μ½”λ“œλ₯Ό 보면 test.txt μ˜†μ— ?down=dGVzdC50eHQ= κ°€ μžˆλŠ” 것을 λ³Ό 수 μžˆλ‹€.

 

 

 

flag.docxλŠ” "Access Denied" 창이 λ‚˜μ˜€κ²Œ ν•œλ‹€.

 

 

?down=dGVzdC50eHQ= μ—μ„œ

 

'?' 뒀에 μ˜€λŠ” 뢀뢄을 "쿼리 νŒŒλΌλ―Έν„°" 라고 ν•œλ‹€.

이 뢀뢄은 μ›Ή νŽ˜μ΄μ§€μ— 정보λ₯Ό μ „λ‹¬ν•˜λŠ” 역할을 ν•œλ‹€.

 

 

예λ₯Ό λ“€μ–΄, 

 

https://www.example.com/page?parameter=value

 

μœ„μ˜ URLμ—μ„œ parameterλŠ” λ³€μˆ˜μ˜ 이름이고, valueλŠ” κ·Έ λ³€μˆ˜μ— λŒ€ν•œ 값이닀.

즉, μ„œλ²„μ—κ²Œ "이 νŽ˜μ΄μ§€λ₯Ό μ—΄ λ•Œ, parameterλΌλŠ” λ³€μˆ˜μ— valueλΌλŠ” 값을 μ „λ‹¬ν•΄μ£Όμ„Έμš”"라고 μš”μ²­ν•˜λŠ” 것이닀.

 

 

μ΄λ•Œ, valueκ°€ Base64둜 μΈμ½”λ”©λ˜μ–΄ μžˆλ‹€λ©΄, μ΄λŠ” 데이터λ₯Ό μ•ˆμ „ν•˜κ²Œ μ „λ‹¬ν•˜κΈ° μœ„ν•œ 방법 쀑 ν•˜λ‚˜μ΄λ‹€.

 

 

Base64λŠ” 이진 데이터λ₯Ό ν…μŠ€νŠΈ ν˜•μ‹μœΌλ‘œ λ³€ν™˜ν•˜λŠ” 인코딩 방식 쀑 ν•˜λ‚˜μ΄λ‹€.

μ΄λŠ” 주둜 이진 데이터λ₯Ό ν…μŠ€νŠΈ ν˜•νƒœλ‘œ μ „μ†‘ν•˜κ±°λ‚˜ μ €μž₯ν•  λ•Œ μ‚¬μš©λœλ‹€.


μ—¬κΈ°μ„œ "이진 λ°μ΄ν„°"λŠ” μ»΄ν“¨ν„°μ—μ„œ μ‚¬μš©λ˜λŠ” λͺ¨λ“  μ’…λ₯˜μ˜ 데이터λ₯Ό μ˜λ―Έν•œλ‹€.

예λ₯Ό λ“€μ–΄, 이미지, μ˜€λ””μ˜€, λΉ„λ””μ˜€, 파일 등이 이진 λ°μ΄ν„°μ˜ μ˜ˆμ‹œμ΄λ‹€. 이런 데이터듀은 0κ³Ό 1둜 이루어진 이진 ν˜•νƒœλ‘œ μ €μž₯λ˜μ–΄ μžˆλ‹€.

 


Base64 인코딩은 이진 데이터λ₯Ό 64개의 λ‹€μ–‘ν•œ ASCII 문자둜 κ΅¬μ„±λœ λ¬Έμžμ—΄λ‘œ λ³€ν™˜ν•œλ‹€.

이 λ¬Έμžμ—΄μ€ ν…μŠ€νŠΈ ν˜•νƒœλ‘œ ν‘œν˜„λ˜λ―€λ‘œ, ν…μŠ€νŠΈλ‘œ μ „μ†‘ν•˜κ±°λ‚˜ μ €μž₯ν•˜κΈ°μ— μš©μ΄ν•˜λ‹€.

 


예λ₯Ό λ“€μ–΄, "Hello, World!"λΌλŠ” λ¬Έμžμ—΄μ„ Base64둜 μΈμ½”λ”©ν•˜λ©΄ λ‹€μŒκ³Ό 같이 λ³€ν•œλ‹€.

(인코딩 · λ””μ½”λ”© μ‚¬μ΄νŠΈ: https://www.convertstring.com/ko/EncodeDecode/Base64Decode)

 

 

 

 

 

λ°˜λŒ€λ‘œ Base64둜 μΈμ½”λ”©λœ λ¬Έμžμ—΄μ„ λ””μ½”λ”©ν•˜λ©΄ λ‹€μ‹œ μ›λ³Έμ˜ 이진 λ°μ΄ν„°λ‘œ λ³΅μ›λœλ‹€.

 

 

 

이λ₯Ό 톡해 데이터λ₯Ό μ•ˆμ „ν•˜κ²Œ μ „μ†‘ν•˜κ±°λ‚˜ μ €μž₯ν•  수 μžˆλ‹€.

 

 

 

 

 

λ‹€μ‹œ λŒμ•„μ™€μ„œ, ?down=dGVzdC50eHQ= 뢀뢄을 ν•΄μ„ν•΄λ³΄μž.

 

λ¨Όμ €, '?' κΈ°ν˜ΈλŠ” 쿼리 νŒŒλΌλ―Έν„°μ˜ μ‹œμž‘μ„ λ‚˜νƒ€λ‚Έλ‹€.

'down='μ—μ„œ down은 쿼리 νŒŒλΌλ―Έν„°μ˜ 이름이닀. 이 κ²½μš°μ—λŠ” downμ΄λΌλŠ” λ³€μˆ˜μ— 값을 μ „λ‹¬ν•˜κ³  μžˆλ‹€.

'dGVzdC50eHQ=' 뢀뢄은 down λ³€μˆ˜μ— μ „λ‹¬λ˜λŠ” 값이닀. 이 값은 Base64둜 μΈμ½”λ”©λœ λ¬Έμžμ—΄μ΄λ‹€.


'dGVzdC50eHQ='λ₯Ό Base64둜 λ””μ½”λ”©ν•˜λ©΄ test.txtλΌλŠ” λ¬Έμžμ—΄μ΄ λ‚˜μ˜¨λ‹€.

 

 

 

λ”°λΌμ„œ, '?down=dGVzdC50eHQ=' 뢀뢄은 "λ‹€μš΄λ‘œλ“œ μš”μ²­μ„ ν•  λ•Œ, 파일 이름은 'test.txt'μž…λ‹ˆλ‹€"라고 μ„œλ²„μ—κ²Œ μ „λ‹¬ν•˜λŠ” 역할을 ν•œλ‹€.

 

 

 

 

κ·œμΉ™μ„ μ•Œμ•„λƒˆμœΌλ‹ˆ, flag.docxλ₯Ό Base64 μΈμ½”λ”©ν•˜μ—¬ down νŒŒλΌλ―Έν„°μ— λ‹΄μ•„ λ‹€μš΄λ‘œλ“œλ₯Ό μ‹œλ„ν•΄λ³΄μž.

 

μš°μ„ , flag.docxλ₯Ό Base64 μΈμ½”λ”©ν•˜μ˜€λ‹€.

 

 

 

Base64둜 인코딩 된 ν…μŠ€νŠΈ 'ZmxhZy5kb2N4' λ₯Ό down νŒŒλΌλ―Έν„°μ— λ‹΄μ•„ μ£Όμ†Œμ— μž…λ ₯ν•˜μ˜€λ‹€.

 

 

 

κ·Έλž¬λ”λ‹ˆ flag.docxλ₯Ό λ‹€μš΄λ°›μ„ 수 μžˆμ—ˆλ‹€!!

 

 

 

flag.docx 파일의 λ‚΄μš©μ΄λ‹€.

 

 

 

μœ„μ˜ λ‚΄μš©μ„ Auth νŽ˜μ΄μ§€μ— μž…λ ₯ν•˜λ©΄ λœλ‹€.

 

 

 

 

더보기

 

λ‹€λ“€ μ‰½κ²Œ ν‘ΈλŠ” 것 같은데.... 처음 μ•ˆ λ‚΄μš©λ“€ νˆ¬μ„±μ΄... ν™”μ΄νŒ…...!!!!!!!!!!!!!!!!!!!!

'SWLUG > μ›Ή ν•΄ν‚Ή' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[webhacking.kr] old-12번  (0) 2023.09.27
[Root Me] Javascript - Webpack  (0) 2023.09.26
[Root Me] Javascript - Authentication 2  (0) 2023.09.23
[Root Me] HTTP - COOKIES  (0) 2023.09.23
[webhacking.kr] old-19번  (0) 2023.09.19