본문 바로가기
728x90

Web9

LOS 10번 Skeleton, 14번 giant 문제 10번 Skeleton id='guest', pw='' 그리고 뒤에 and 1=0을 넣어서 값을 무조건 거짓이 되게 하고 있다. 주석을 넣어서 뒤를 완전히 무력화하면 되지 않을까? 그리고 비밀번호는 못 맞춰도 id가 admin이면 문제가 풀린다고 한다. 그럼 어떻게 하면 되냐.. 일단 pw는 빈칸으로 만들고, 뒤에 id='admin'을 입력한 뒤에 뒤는 무력화해주기 ?pw=%27or%20id=%27admin'%23 여기서 #은 그대로 쓰지 말고 꼭 %23으로 바꿔줘야 된다. 주의해야할건 'admin하고 꼭 먼저 작은따옴표로 막아주고 #을 해줘야 함. 14번 giant 이게 뭔지 잘 모르겠어서 shit이라는 변수에 아무 값이나 입력해봤다. shit은 from과 prob_giant 단어 사이에 들어가는 변수.. 2021. 9. 19.
LOS 9번 vampire 문제 뱀파이어 가즈아! 이번에도 id만 받고 있다. 잘보면 str_replace 함수를 쓰고 있음. $_GET[id] = str_replace("admin","",$_GET[id]); 사실 이 문제는 진짜 흔한? 기법이라 쉬운데, str_replace( 변경대상 문자, 변경하려는 문자, replace가 바꾸고자 하는 문자열)을 의미한다. 그래서 내가 $_GET[id]에 id=admin이라는 값을 넣었으니 이 값이 변경대상 문자랑 일치하니까 그걸 그냥 변경하려는 문자, 즉 여기서는 공백으로 바꿔버리는거다. 그럼 어떻게 하면 되느냐? admin이라는 똑같은 글자는 못쓰더라도 비슷하게는 쓸 수 있다. admin을 쓰면 그걸 그대로 삭제 시켜버리니까 adadminmin 이렇게 써주면 중간에 admin은 삭제되고 앞에.. 2021. 9. 18.
LOS 8번 Troll 문제 이번엔 id가 비워져있다. admin으로 로그인을 해야하는데 그걸 막아놓음;; hex도 안됨 아나 뭐야 이렇게 해도 됨; 대소문자 구별 안한다는 소리다. 2021. 9. 17.
LOS 6번 darkelf 문제 id=guest, pw는 비어있다. 그냥 평소대로 GET 방식으로 입력해주면 그대로 출력은 된다. if(preg_match('/or|and/i', $_GET[pw])) exit("HeHe"); 하지만 or랑 and 사용을 제한하고 있음. 그럼 or를 우회하면 되겠네! or를 우회하는 문자열은 '||'가 있다. URL Encoder를 이용해 '||'를 입력하면 %7C라는 것을 확인할 수 있다. ?pw=%27%7C%7Cid=%27admin 왘 풀었다!! 2021. 9. 17.
728x90