분류 전체보기 57

wolfman

query : {$query}"; $result = @mysqli_fetch_array(mysqli_query($db,$query)); if($result['id']) echo "Hello {$result[id]}"; if($result['id'] == 'admin') solve("wolfman"); highlight_file(__FILE__); ?> 코드를 보면, 공백을 필터링하는 것을 알 수 있다. 공백을 우회하는 방법은 (), /**/, %0a등 여러가지 방법이 있는데()가 필터링된 관계로, /**/을 사용하여 풀것이다. ?pw=1'or/**/id='admin 해결😎

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__); ?>no 값에 여러 숫자를 넣어봤더니 guest : 1 임이 확인됬다.no 값에 아무런 따옴표가 없으므로, 편하게 뒷 문장을 만들어갈 수 있다.*참고로 and로 묶인 조건이 거짓이 되어야 하니 1이 아닌 아무 숫자를 넣고 만들어가자 하지만 작은 따옴표를 필터링 하고있어, id='admin'과 같은 값은 보내지 못한다.그렇다면 더 간단한 방법. no를 ..

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__); ?> gremlin 문제처럼 주석을 이용하여 pw확인 부분을 무시할 수도 있겠지만낭만있게 괄호를 따라 닫아보자 pw 부분 괄호를 처리해주고, or id=admin으로 인증할 생각이다.?id=admin&pw=') or (id='admin 클리엉