[natas] Level 13 -> Level 14
2021. 5. 30. 02:30
Study/Web Hacking
: level 13 → level 14 http://natas14.natas.labs.overthewire.org natas14에서는 Username과 Password를 받고 있다. 소스코드를 확인해보자. natas14 Username: Password: View sourcecode 전체적으로 매우 익숙한 쿼리가 보인다. 이 문제는 SQL injection으로 해결할 수 있을 것 같다. 코드를 전체적으로 보면 $query를 DB에 전달했을 때 가져오는 값이 하나라도 존재하면 로그인되는 것을 알 수 있다. $query에서 where절을 참으로 만드면 natas14를 해결할 수 있을 것이다. 위 쿼리문을 참으로 만드는 것은 SQL injection에서 제일 기본적인 문제로 " or 1=1#을 많이 쓴다. U..
[XSS Challenge] Stage #12
2021. 5. 23. 18:04
Study/Web Hacking
Stage #12에 입장! input에 아무 payload나 작성하고 소스코드를 확인해봤다. 소스코드를 확인해보니 , "등 특수문자를 필터링하고 있는 것을 알아냈다. 힌트를 보니 역시 대부분의 특수분자를 필터링하고 있었다. 특수문자 필터링을 우회할 방법을 찾아보다가 Character Escape Sequences라는 것을 발견했다.  은 공백을 나타내고, "는 더블쿼터(")를 나타낸다고 한다. 해당 Escape Sequence를 사용하여 필터링을 우회했다. 새로 작성한 payload는 다음과 같다. " onclick="alert(document.domain); 아래와 같이 payload를 입력해주고 input 태그를 클릭해주면 팝업창이 뜰 줄 알았는데 나타나지 않았다. 소스코..
[LOS] darkelf
2021. 5. 23. 17:55
Study/Web Hacking
darkelf에 입장! 이번 문제도 query를 통해 가져온 id가 admin이어야 한다. 다만, 이번에는 or와 and를 필터링하고 있어 다른 방법이 필요해 보인다. 원래 query에 삽입할 payload는 ' or id='admin이지만 or가 필터링 되므로 or 대신에 || 문자를 사용하기로 했다. 새롭게 구성한 payload는 다음과 같다. ' || id='admin → %27%20||%20id=%27admin 해당 payload를 url에 전달해주면 darkelf를 해결할 수 있다.
[natas] Level 12 -> Level 13
2021. 5. 23. 16:13
Study/Web Hacking
: level 12 → level 13 http://natas13.natas.labs.overthewire.org natas13 메인 페이지다. 이번에도 파일 선택 기능이 있다. 소스코드를 확인해보자. natas13 For security reasons, we now only accept image files!
[natas] Level 11 -> Level 12
2021. 5. 23. 15:39
Study/Web Hacking
: level 11 → level 12 http://natas12.natas.labs.overthewire.org natas13 메인 화면이다. 이번에는 파일 선택 기능이 추가됐다. 소스코드를 확인해보자. natas12
[XSS Challenge] Stage #10
2021. 5. 15. 19:33
Study/Web Hacking
Stage #10에 입장! 이전에 사용했던 방식을 그대로 써보았다. 그 후 개발자도구로 확인해보니 domain부분이 필터링되어 있었다. domain이 필터링되어도 domain인이 남을 수 있도록 payload를 다음과 같이 작성할 수 있다. " onclick="alert(document.dodomainmain); 가운데 domain이 필터링되어 사라지더라도 남은 문자열이 합쳐지면서 domain이 만들어진다. 작성한 payload를 입력하면 다음과 같이 Stage #10을 해결할 수 있다.
[XSS Challenge] Stage #9
2021. 5. 15. 18:55
Study/Web Hacking
Stage #9에 입장! 일단 이전 stage들에서 썼던 방식들을 적용해봤다. 그 후 개발자도구를 열어 소스코드를 확인해보니 onclick 이벤트가 잘 삽입되어 있었다. 그러나 input 태그를 클릭해도 이 onclick 이벤트는 실행되지 않았다. 프록시로 Request 패킷을 확인해보니 input['text']에서 받은 값외에 charset이 전달되는 것을 확인할 수 있었다. charset이 euc-jp로 인코딩되고 있는 것 같다. 이쯤에서 Stage #9의 힌트를 확인해보면 UTF-7을 볼 수 있는데, 아무래도 인코딩 방식을 바꿔서 XSS를 해결해야 할 거 같아보인다. " onclick="alert(document.domain);을 UTF-7 방식으로 인코딩하고 charset을 UTF-7로 바꿔서 패..
[LOS] wolfman
2021. 5. 15. 18:45
Study/Web Hacking
wolfman에 접속! 이번 문제에서는 공백문자를 필터링하고 있다. wolfman을 해결하기 위해선 ' or id='admin을 injection하면 되는데 공백문자가 필터링되기 때문에 공백문자를 대체할 수 있는 문자를 찾아 사용해야 한다. 화이트스페이스를 우회하는 방법에는 다음과 같은 방법들이 존재한다. 1. Tab : %09 2. Line Feed(\n) : %0a 3. Carrage Return(\r) : %0d 4. 주석 : /**/ 5. 괄호 : () 6. 더하기 : + 7. 1~6번의 방법이 통하지 않을 경우 : %0b, %0c, %a0 위 7가지 방법 중 하나를 선택해 공백문자를 대체하면 된다. 필자는 Tab을 사용해서 해결했다.
[natas] Level 10 -> Level 11
2021. 5. 14. 23:09
Study/Web Hacking
: level 10 → level 11 http://natas11.natas.labs.overthewire.org 이번에도 역시 소스코드 먼저 확인했다. 소스코드는 다음과 같다. natas11