WriteUp

    LOS - rubiya : Goblin

    LOS - rubiya : Goblin

    query : {$query}"; $result = @mysqli_fetch_array(mysqli_query($db,$query)); if($result['id']) echo "Hello {$result[id]}"; if($result['id'] == 'admin') solve("goblin"); highlight_file(__FILE__); ?>id 값이 admin이면 풀리는 문제.' (quote) 가 필터링 되는 문제. -> 문자열로 주지말고 hex 값으로 주면 된다.no 라는 변수를 이용해서 guest라는 id 값을 admin으로 바꿔줘야한다no 값에 0을 넣어주고 다시 id에 값을 주자.?no=0or%20id=0x61646D696E

    LOS -rubiya : Cobolt

    LOS -rubiya : Cobolt

    query : {$query}"; $result = @mysqli_fetch_array(mysqli_query($db,$query)); if($result['id'] == 'admin') solve("cobolt"); elseif($result['id']) echo "Hello {$result['id']}You are not admin :("; highlight_file(__FILE__); ?>이전 문제와 비슷한 필터링이다. if($result['id'] == 'admin') solve("cobolt"); 여기서 result 의 id 값이 admin 이면 문제가 풀린다.pw 부분에 걸려있는 것은 md5 해쉬로, 암호화다. 굳이 저기까지 손댈 필요 없다는 의미로 받아들이면 될..

    LOS - rubiya : Gremlin

    query : {$query}"; $result = @mysqli_fetch_array(mysqli_query($db,$query)); if($result['id']) solve("gremlin"); highlight_file(__FILE__);?>필터링 항목 : id, pw 에 "prob" "_" "." "()" 사용 불가능. -> No Hack ~_~result query 에 id 값이 존재하면 된다.?id='or 1=1 %23-> id= 공백 or "참" 이기 때문에, query 가 의미하는 것은 "Select id from prob_gremlin" 과 같은 의미이다. -> %23는 #으로, 한줄 주석을 의미한다.  $_GET['id'] 이후의 query 를 주석으로 만들..

    Challenge 15 (old) _50pt

    Challenge 15 (old) _50pt

    문제에 접속하면 "access denied" 라는 alert 창이 뜨면서 팅긴다. Chrome 기준으로 설명하자면 javascript 를 허용-> 차단 으로 바꿔주게 된다면, 아무것도 뜨지않는 빈 화면을 마주할 수 있다. 개발자 도구로 들어가서 어떤 정보가 있는지 확인해 보도록 하자.(F12) document.write( "[Get Flag] "); 라고 쓰여져 있는 부분을 보면. HTML 의 a 태그임을 알 수 있다. 1) document.write는 javascript로 C언어의 printf 같은 역할을 해준다고 하면 이해하기 쉬울 것 같다. 2) : 하이퍼 링크를 걸어주는 태그 사용양식 __링크이름__ -> 부가적인 부분이 있지만 지금 짚고 넘어가야 하는 것은 이정도면 충분하다. 그럼 이제 문제 이..