분류 전체보기

    Prob 13 (150pt)

    Prob 13 (150pt)

    문제가 이렇게 시작한다 파일부터 다운받아보자. 네트워크 패킷 같은데 WireShark 이용해서 열어보도록 하자. http 만 추출해서 검색해 보았는데 이렇게 생긴 페이지를 하나 찾았다. 이게 메인일 것 같다. treasure1 부터 찾아보자. PNG 정보가 있는데 뭔가 좀 이상한가 보다. 패킷을 잘 살펴보니 png 헤더가 들어가 있다. treasure 123 이 하나의 사진을 분할해 놓은건가 보다. 2에는 별다른 정보는없는데 3에서 마지막 부분에 IEND 가 보여서 알았다. 모두 저장해서 treasure 1 2 3 을 하나로 합쳐주자. 그냥 HxD로 해서 복사 붙여넣기 했다. 이런 이미지가 나온다. Key = NET\oRK1sFun 인것 같으니 Description 에 있는 대로 실행해주자. 먼저 md5..

    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라고한다. NOSQL 특수문자 모음..

    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"); highlight_f..

    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 문구로도 whitespace 를 말해..

    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 sys informati..

    LOS -rubiya : Yeti

    query : {$query}"; sqlsrv_query($db,$query); $query = "select pw from prob_yeti where id='admin'"; $result = sqlsrv_fetch_array(sqlsrv_query($db,$query)); if($result['pw'] === $_GET['pw']) solve("yeti"); highlight_file(__FILE__);?>mssql 환경에서 진행된다.id, pw 에 필터링 항목 확인해보면, master, sys, information, ; 이 있다. 쿼리에 입력 받아주고, id가 admin인 result 의 pw 값이 Get 방식으로 입력해준 pw 와 같다면 문제가 풀린다.에러를 낼 수 가 없다. tim..

    prob 6 (100pt)

    prob 6 (100pt)

    adieu.scx 파일을 다운받을 수 있다. scx 확장자에 대해서 조사해봤다. -> starcraft 맵 확장자라고 한다. 그래서 스타크래프트를 깔았는데, 맵 에디터가 없다…. 블리자드에 따로가서 맵 에디터를 받아보자. https://kr.forums.blizzard.com/ko/starcraft/t/%EC%8A%A4%ED%83%80%ED%81%AC%EB%9E%98%ED%94%84%ED%8A%B8-%EB%A7%B5-%EC%97%90%EB%94%94%ED%84%B0-%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%93%9C-%EC%95%88%EB%82%B4/828 맵 에디터를 잘 뒤져보니, trigger 부분에 힌트가 있다. congratulation ! key is SECRET, Find ..