SWLUG/μ›Ή ν•΄ν‚Ή

[webhacking.kr] Challange 44

waterproof 2023. 11. 20. 23:06

http://webhacking.kr:10005/

 

Challenge 44

 

webhacking.kr:10005


[1] 문제

 

 

 

 

 

문제 νŽ˜μ΄μ§€μ™€ μ†ŒμŠ€ μ½”λ“œμ΄λ‹€.

 

1) "name:" μ˜†μ— ν…μŠ€νŠΈλ₯Ό 적고 μ œμΆœν•  수 μžˆλŠ” 폼이 μžˆλ‹€.  μ΅œλŒ€ 5개의 λ¬ΈμžκΉŒμ§€ 적을 수 μžˆλ‹€.

 

2) μ•„λž˜μ˜ "view-source"λ₯Ό λˆ„λ₯΄λ©΄, 

 

 

이런 μ†ŒμŠ€ μ½”λ“œκ°€ 적힌 화면이 λ‚˜μ˜¨λ‹€.

 

<?php
  if($_POST['id']){
    $id = $_POST['id'];
    $id = substr($id,0,5);
    system("echo 'hello! {$id}'"); // You just need to execute ls
  }
?>

 

이 λΆ€λΆ„μ—μ„œ 주석을 λ³΄λ‹ˆ, " // You just need to execute ls"라고 μ ν˜€ μžˆλ‹€. 

 

system~ 을 μ‹€ν–‰μ‹œν‚€λŠ” 것이 문제 ν’€μ΄μ˜ 핡심인 것 κ°™λ‹€.

 

 

<center>
<form method=post action=index.php name=htmlfrm>
name : <input name=id type=text maxlength=5><input type=submit value='submit'>
</form>
<a href=./?view_source=1>view-source</a>
</center>

 

μ•„λž˜ λΆ€λΆ„μ—λŠ” 문제 νŽ˜μ΄μ§€μ˜ μ†ŒμŠ€ μ½”λ“œκ°€ μ ν˜€μžˆλ‹€.

 

μ•„λž˜ λΆ€λΆ„(문제 νŽ˜μ΄μ§€ μž‘λ™ 방식)을 κ°„λž΅ν•˜κ²Œ 해석해보면,

λ‚΄κ°€ μž…λ ₯ν•œ 값이 id둜 받아진 λ’€ μ „μ†‘λ˜κ³ , index.phpκ°€ μ‹€ν–‰λœλ‹€.

 

 


[2] 곡격

 

 

"hi"라고 μ μ–΄μ„œ μ œμΆœν•˜λ©΄ "hello! hi"λΌλŠ” 문ꡬ가 좜λ ₯이 λœλ‹€.

 

 

<?php
  if($_POST['id']){
    $id = $_POST['id'];
    $id = substr($id,0,5);
    system("echo 'hello! {$id}'"); // You just need to execute ls
  }
?>

 

λ‹€μ‹œ 이 뢀뢄을 μ°Έκ³ ν•˜λ©΄,

λ‚΄κ°€ μž…λ ₯ν•œ 값이 system("echo 'hello! {$id}'");μ—μ„œ {$id}μ•ˆμ— λ“€μ–΄κ°„λ‹€.

 

μ‚¬μš©μžκ°€ 폼을 μ œμΆœν•˜λ©΄, 제좜된 ID 값을 λ°›μ•„μ™€μ„œ substr ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ 처음 5κΈ€μžλ§Œ λ‚¨κΈ΄λ‹€λŠ” νŠΉμ§•μ΄ μžˆλ‹€.

 

system ν•¨μˆ˜μ™€ echo λͺ…λ Ήμ–΄λ₯Ό μ΄μš©ν•  수 μžˆλ‹€λŠ” 사싀을 μƒκ°ν•˜λ©°,

μž…λ ₯값을 톡해 flag값을 μ•Œμ•„λ‚΄λ„λ‘ ν•  것이닀.

 

 

 

 

 

';ls' λ₯Ό μž…λ ₯ν•˜μ—¬ system("echo 'hello! ';ls''"); 이 μ „λ‹¬λ˜λ„λ‘ ν•˜μ˜€λ‹€.

 

κ·Έλž¬λ”λ‹ˆ 두 번째 νŽ˜μ΄μ§€μ—μ„œ ν˜„μž¬ 디렉토리 μ•ˆμ— μžˆλŠ” 파일이 좜λ ₯λ˜μ—ˆλ‹€.

'flag_~' λΌλŠ” κΈ€μžκ°€ 좜λ ₯λ˜μ—ˆλŠ”λ° μ–΄λ–»κ²Œ ν™œμš©ν•΄μ•Ό 문제 풀이가 λλ‚˜λŠ” 것인지 잘 λͺ¨λ₯΄κ² μ–΄μ„œ 고민을 ν•΄λ΄€λŠ”λ°...

 

μ£Όμ†Œμ°½μ„ 보면, ν˜„μž¬ μ›Ή νŽ˜μ΄μ§€μ˜ μœ„μΉ˜κ°€ /index.php 인 것을 확인할 수 μžˆλ‹€.

κ·Έλž˜μ„œ /flag_29cbb98dafb4e471117fec409148e9386753569e 둜 μ΄λ™ν•˜λ©΄ λ˜μ§€ μ•Šμ„κΉŒ μ‹Άμ–΄ μž…λ ₯ν•΄λ³Έ κ²°κ³Ό...

 

 

 

flag 값이 μ ν˜€μžˆλŠ” νŽ˜μ΄μ§€λ‘œ 이동할 수 μžˆμ—ˆλ‹€.

 

이 값을 Auth에 μ œμΆœν•˜λ©΄ λœλ‹€.

 

더보기

ν”Œλž˜κ·Έ 값에 μžˆλŠ” 유튜브 μ£Όμ†Œκ°€ κΆκΈˆν•΄μ„œ 유튜브 검색창에 μ³λ΄€λŠ”λ° 이런 κ²°κ³Όκ°€ λ‚˜μ™”λ‹€.

뭐징?

 

 

 

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

[Webhacking.kr] old-52  (0) 2024.09.25
[Dreamhack/λ“œλ¦Όν•΅] Web  (2) 2024.04.29
[Dreamhack/λ“œλ¦Όν•΅] command-injection-1  (2) 2023.11.20
[Dreamhack/λ“œλ¦Όν•΅] Command Injection Advanced  (1) 2023.11.19
[Dreamhack/λ“œλ¦Όν•΅] baby-linux  (0) 2023.11.16