분류 전체보기 65

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 클리엉

shellcode (0x2f 없애기)

간혹가다 디렉터리명/파일명에 쉘코드를 넣어놓고 argv[0]나 스택의 끝부분을 활용해야하는 상황이 있습니다. 우리가 만들어논 25byte 쉘코드로는 실행이 되지 않습니다. 왜 그럴까요? 0x2f때문인데요, 0x2f은 /(슬래쉬)로 디렉터리를 구분하는데 쓰이는 문자죠 물론 기존 쉘코드에 맞추어서 분리시키는 방법도 있겠네요,,, 생각만해도 귀찮,,, ... 0x2f ... 0x2f ... 이번 포스팅에서는 0x2f 없이 작동되는 쉘코드를 만들어볼까 합니다. 문자열 "/bin//sh"를 넘겨주는 코드에서 0x2f가 포함되네요. 그럼 0x2f부분을 0x2e+1로 바꾸는 식으로 코딩을 해 봅시다. eax 레지스터를 통해 연산 수행 후 스택에 push 해줍니다. 코드는 잘 실행 됩니다. 정말 0x2f가 없어졌나 확..