본문 바로가기

Web

(2)
los goblin[3번] 문제다. 이번에는 id를 guest로 고정시켜뒀는데 문제풀이 조건이 id==admin이다. if($result['id'] == 'admin') solve("goblin"); 그렇다면 id='guest'를 무력화 시켜줘야한다. no에 1을 넣어주고 id를 admin으로 바꿔줬다. 근데 여기서 ' " `가 막혀있다. 그래서 char로 우회해주기로 했다. ?no=1 or id=char(97,100,109,105,110) 으으음... guest다. 왜 guest가 출력되는지 생각해보면 id=guest가 무력화되지 않았기 때문일것이다. 그 말은 즉 guest의 no가 1이라는 것이다. 그렇다면 guest의 no일 가능성이 거의 없는 숫자를 쿼리에 넣으면 id=guest가 무력화 될것이다. (사실 처음부터 2535..
los gremlin[1번] 바로 시작하겠습니다. 문제입니다. 제가 php를 잘 몰라서 그냥 뇌피셜로 코드를 해석했습니다. preg_match()를 구글링 해보니 문자열을 찾는 함수라고 합니다. 즉 preg_match()안에 있는 문자열을 사용하면 No Hack이라고 종료되는 것을 볼 수 있습니다. 그 다음 id와 pw를 입력받습니다. 문제를 어떻게 풀 수 있을지 생각해보니 if($result['id']) solve("gremlin"); 이 if문이 보이더군요. id의 결과값이 참이면 된다는 것입니다. id='{$_GET[id]}' and pw='{$_GET[pw]}'"; id의 값을 정해주는 줄을 보니 and 연산자 때문에 입력받는 id와 pw의 값이 모두 참이여야 됩니다. ?id=1&pw=1 일단 이렇게 id와 pw에 아무값이나..