WriteUp/LOS_rubiya

    LOS -rubiya : Golem

    query : {$query}"; $result = @mysqli_fetch_array(mysqli_query($db,$query)); if($result['id']) echo "Hello {$result[id]}"; $_GET[pw] = addslashes($_GET[pw]); $query = "select pw from prob_golem where id='admin' and pw='{$_GET[pw]}'"; $result = @mysqli_fetch_array(mysqli_query($db,$query)); if(($result['pw']) && ($result['pw'] == $_GET['pw'])) solve("golem"); highlight_fil..

    LOS -rubiya : Mummy

    query : {$query}"; $result = sqlsrv_fetch_array(sqlsrv_query($db,$query)); if($result[0]) echo "Hello anonymous"; $query = "select pw from prob_mummy where id='admin'"; $result = sqlsrv_fetch_array(sqlsrv_query($db,$query)); if($result['pw'] === $_GET['pw']) solve("mummy"); highlight_file(__FILE__);?>쿼리를 직접 작성해줘야 한다. ord(query 의 문자) 면 exit 한다. 32 아래는 주로 공백밖에 없다. error 문구로도 whit..

    LOS -rubiya : Incubus

    "function(){return obj.id=='{$_GET['id']}'&&obj.pw=='{$_GET['pw']}';}"); echo "query : ".json_encode($query).""; $result = mongodb_fetch_array($db->prob_incubus->find($query)); if($result['id']) echo "Hello {$result['id']}"; $query = array("id" => "admin"); $result = mongodb_fetch_array($db->prob_incubus->find($query)); if($result['pw'] === $_GET['pw']) solve("incubus"); highlig..

    LOS -rubiya : Siren

    LOS -rubiya : Siren

    저번보다는 mongodb에 익숙해진 것 같다. id pw를 받아주고, json_encode 해준다. 가져온 result 에서 id 값을 가져오고, Hello User를 출력해준다. 이때 id 값이 admin일때의 pw 값을 입력해주면 문제가 풀린다. pw의 길이를 찾아줘야 하고, 문자열 대조가 가능하다면 굳이 길이를 찾을 필요는 없다. pw의 길이별 문자를 찾아줘야 한다. 계속 검색해보다가 $regex라는 것을 찾았다. { : {$regex : /pattern/, $options : ''}} pattern ^ : 시작하는 문자. $ :끝나는 문자 . :개행을 제외한 모든 문자. option i m x s 한번 써먹어보자. ?id=admin&pw[$regex]=^a 이건 a로 시작하는지 보겠다는 뜻이다. ..

    LOS -rubiya : Cerberus

    LOS -rubiya : Cerberus

    $_GET['id'], "pw" => $_GET['pw'] ); echo "query : ".json_encode($query).""; $result = mongodb_fetch_array($db->prob_cerberus->find($query)); if($result['id']) echo "Hello {$result['id']}"; if($result['id'] === "admin") solve("cerberus"); highlight_file(__FILE__);?>문제 DB가 또 바뀌었다. mongodb를 사용한다. NOSQL 이라고한다 -> Non-Relational Operational Database 라고 하는데, SQL로 이루어지지 않은 DB라고한다. ..

    LOS -rubiya : Darkknight

    query : {$query}"; $result = @mysqli_fetch_array(mysqli_query($db,$query)); if($result['id']) echo "Hello {$result[id]}"; $_GET[pw] = addslashes($_GET[pw]); $query = "select pw from prob_darkknight where id='admin' and pw='{$_GET[pw]}'"; $result = @mysqli_fetch_array(mysqli_query($db,$query)); if(($result['pw']) && ($result['pw'] == $_GET['pw'])) solve("darkknight"); hi..

    LOS -rubiya : Kraken

    LOS -rubiya : Kraken

    query : {$query}";   $result = sqlsrv_fetch_array(sqlsrv_query($db,$query));   if($result['id']) echo "{$result['id']}";   if($krakenFlag === $_GET['pw']) solve("kraken");// Flag is in `flag_{$hash}` table, not in `member` table. Let's look over whole of the database.   highlight_file(__FILE__);?>master 랑 information ; 이 필터링 당하는 항목이다. krakenFlag 값을 알아내면 문제가 풀리는데, Flag 값이 다른 테이블 상에 존재하..

    LOS -rubiya : Mummy

    query : {$query}"; $result = sqlsrv_fetch_array(sqlsrv_query($db,$query)); if($result[0]) echo "Hello anonymous"; $query = "select pw from prob_mummy where id='admin'"; $result = sqlsrv_fetch_array(sqlsrv_query($db,$query)); if($result['pw'] === $_GET['pw']) solve("mummy"); highlight_file(__FILE__);?>쿼리를 직접 작성해줘야 한다. ord(query 의 문자) 면 exit 한다. 32 아래는 주로 공백밖에 없다. error 문구로도 wh..

    LOS -rubiya : Nessie

    query : {$query}"; sqlsrv_query($db,$query); if(sqlsrv_errors()) exit(mssql_error(sqlsrv_errors())); $query = "select pw from prob_nessie where id='admin'"; $result = sqlsrv_fetch_array(sqlsrv_query($db,$query)); if($result['pw'] === $_GET['pw']) solve("nessie"); highlight_file(__FILE__);?>처음보는게 많다. 일단 코드부터 보자.master / sys / information / prob / waitfor / _  필터링 되고 있다. sqlsrv..

    LOS -rubiya : revenant

    query : {$query}"; sqlsrv_query($db,$query); if(sqlsrv_errors()) exit(mssql_error(sqlsrv_errors())); $query = "select * from prob_revenant where id='admin'"; $result = sqlsrv_fetch_array(sqlsrv_query($db,$query)); if($result['4'] === $_GET['pw']) solve("revenant"); // you have to pwn 5th column highlight_file(__FILE__);?>이전 문제랑 동일하게 mssql 을 이용해서 문제를 푼다.필터링 항목부터 체크해보면, master s..