![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJEQUa%2Fbtq5XG26zbC%2FMqYM7v2PQJWUuBH1RBLIwK%2Fimg.png)
http://natas14.natas.labs.overthewire.org/ natas14/Lg96M10TdfaPyVBkJdjymbllQ5L6qdl1 로 로그인 소스코드를 살펴보자. mysql query를 이용해 username과 password를 입력받고 값을 비교해 로그인하게 되어있다. sql injection을 이용하는 문제인 것 같다. 따라서 아래와 같이 or을 이용해 둘 중 하나가 참이면 전체가 참이 되도록 했다. 성공적으로 로그인되었다고 뜬다! Password: AwWj0w5cvxrZiONgZ9J5stNVkmxdk39J
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOa6pe%2Fbtq5j68W8La%2FRYfLLT0nJXiSVPD1jApeI0%2Fimg.png)
* Stage 11은 서버 오류로 건너뛰었음 https://xss-quiz.int21h.jp/stage_no012.php?sid=c04d9753a8bdd10ee1826700b0ef9fce643d21d7 Hint: "s/[\x00-\x20\\"\']//g;" 1">
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEv4wV%2Fbtq5i26z2Ll%2FbhW7Bbm5Ox0G9pgkK0K1k1%2Fimg.png)
id가 admin이면 풀리는 문제다. and와 or이 필터링된다. pw=1' or id='admin 을 입력하니.. 역시 필터링이 되며 'HeHe'가 출력된다. 이를 우회하기 위해 or 대신 ||를 사용했다. ?pw=1' || id='admin 위와 같이 입력해주었다. Clear!
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcoNXrD%2Fbtq5gFKNGoc%2Fe1kxe7j6gjRDHNKcCyqAW0%2Fimg.png)
http://natas13.natas.labs.overthewire.org/ natas13/jmLTY0qiPZBbaKc9341cqPQZBJv7MQbY 로 로그인 보안 상의 이유로 이미지 파일만 허용한다고 한다. 소스코드를 살펴보자. else if (! exif_imagetype($_FILES['uploadedfile']['tmp_name'])) { echo "File is not an image"; 이 부분을 통해 이미지 파일만 받아들이고 있다. 파일 시그니처를 통해 이를 피할 수 있다. 전 단계의 코드에서 맨 앞에 gif의 시그니처를 넣고 natas14로 수정했다. GIF89a 이를 저장 후 전 단계와 마찬가지로 페이지에 업로드하고 Burp Suite를 이용해 패킷을 가로채보자. 이렇게 패킷을 확인할 ..