SECURITY/Webhacking

Webhacking.kr :: old-43번

\b\t 2021. 2. 17. 17:37

μ—¬κΈ°μ„œ κ·Έλƒ₯ μ œμΆœμ„ 눌러보면

 

 

type not detected κ°€ λœ¬λ‹€.

 

κ°„λ‹¨ν•œ tmp.txt νŒŒμΌμ„ μ œμΆœν•˜λ©΄,

Type 이 μ˜³μ§€ μ•Šλ‹€κ³  ν•œλ‹€.

κ·Έλž˜μ„œ 이미지λ₯Ό ν•˜λ‚˜ μ˜¬λ Έλ”λ‹ˆ Done! 이라고 λœ¬λ‹€.

 

 

webshell 을 μ—…λ‘œλ“œ ν•˜λΌκ³  λ˜μ–΄μžˆμ§€λ§Œ, txt 기반의 νŒŒμΌλ“€μ€ ν•„ν„°λ§ν•˜λŠ” 것 κ°™λ‹€. (php λŠ” λ¬Όλ‘  μ•ˆλ¨)

 

ν”„λ‘μ‹œλ₯Ό μ¨μ„œ php λ₯Ό μ—…λ‘œλ“œν•˜λ˜, img 라고 μΈμ‹ν•˜λ„λ‘ λ§Œλ“€μž.

(Burp Suite μ‚¬μš©λ²• μ°Έμ‘° - 2021/02/17 - [SECURITY/Webhacking] - Burp Suite μ„€μΉ˜ 및 μ‚¬μš© - Windows 64 bit)

 

μ—…λ‘œλ“œν•  php 의 μ½”λ“œλŠ” λ‹€μŒκ³Ό κ°™λ‹€.

<?php
	system($_GET[cmd]);
?>

cmd λ₯Ό GET 으둜 κ°€μ Έμ™€μ„œ μ‹€ν–‰μ‹œν‚€λŠ” μ½”λ“œμ΄λ‹€.

μ—¬κΈ°μ„œ cmd 에 cat /flag λ₯Ό ν•˜λ©΄ μ›Ήμ‰˜μ—μ„œ cat /flag λ₯Ό 톡해 flag 값을 보여쀄 것이닀.

 

μ œμΆœμ„ λˆ„λ₯Έ λ’€, μ œμΆœμ— λŒ€ν•œ Request λ₯Ό ν”„λ‘μ‹œλ‘œ λ³€μ‘°ν•œλ‹€.

Content-Type 을 image/png 라고 ν•˜κ³ , μ›ν•˜λŠ” php μ½”λ“œλ₯Ό λ„£μ–΄μ€€λ‹€.

 

 

a.php μ΄μ§€λ§Œ 잘 μ—…λ‘œλ“œκ°€ λ˜μ—ˆκ³ , (Type 을 μ†μ˜€μœΌλ‹ˆ)

μ € ./upload/a.php λ₯Ό 눌러보면 μ—…λ‘œλ“œν•œ νŒŒμΌμ„ λ³Ό 수 μžˆλ‹€.

 

 

κ·Έλƒ₯ 눌러보면 아무것도 μ•ˆλœ¨μ§€λ§Œ, (cmd 에 μ•„λ¬΄λŸ° λ‚΄μš©μ΄ μ—†μ–΄μ„œ)

url 에 cmd=cat /flag 라고 ν•˜λ©΄, FLAG 값이 λ‚˜μ˜¨λ‹€. 

 

이걸 Auth 에 λ„£μ–΄μ£Όλ©΄ 끝!

 

 

 

 

+ λ²ˆμ™Έ

 

FLAG κ°€ base64 둜 μΈμ½”λ”©λœ 거라 κΆκΈˆν•΄μ„œ λ””μ½”λ”© ν•΄λ΄€λ”λ‹ˆ λ‹€μŒκ³Ό 같이 λ‚˜μ™”λ‹€.

Auth μ—λŠ” κ·Έλƒ₯ base64 둜 μΈμ½”λ”©λœ 것 κ·ΈλŒ€λ‘œ λ„£μ–΄μ£Όλ©΄ λ˜μ§€λ§Œ μž¬λ°ŒλŠ” μž₯치λ₯Ό ν•΄λ†¨λ‹€λŠ” 생각이 λ“€μ—ˆλ‹€.

 

 

 

Ref.

[1] webshell code1018.tistory.com/96

.