[XSS Challenge] Stage #5
2021. 4. 11. 17:48
Study/Web Hacking
Stage #5 입장! Search창에 공격코드를 입력해보면 d까지밖에 입력하지 못한다. 그 이유를 소스코드에서 확인할 수 있었다. input의 maxlength가 15로 설정되어 있었다. 뒤에 0 하나를 더 붙여서 공격코드를 넉넉하게 입력할 수 있게 해줬다. 그리고 Search에서 입력한 값이 value의 값으로 들어가는 것을 확인할 수 있다. 지난 Stage에서 했던 것과 동일하게 태그를 닫고 새로 script태그를 작성하면 될 것 같다. ">
[LOS] goblin
2021. 4. 11. 17:19
Study/Web Hacking
goblin에 접속! 이번 문제는 no를 입력받아서 query에 포함시키고 있다. 이후 id가 admin일 때 goblin이 solve되고 있다. goblin을 해결하려면 id가 admin이어야 하는데 query는 이미 id='guest'가 들어있기 때문에 이부분을 무효화 시켜야 한다. id='guest'를 무효화시키려면 id='guest' and no={$_GET[no]} 이 식 전체를 거짓으로 만들면 된다. 해당 식을 거짓으로 만들기 위해 guest의 no가 갖지 않을 만한 값을 입력해봤다. Hello {$result[id]} 부분이 출력되지 않은 걸로 보아 guest의 no는 9999999999999가 아니다. 이렇게 id='guest'를 무효화시킨 후에는 id='guest' and no=99999..
[natas] Level 6 -> Level 7
2021. 4. 11. 16:40
Study/Web Hacking
: level 6 → level 7 http://natas7.natas.labs.overthewire.org natas7에 접속하면 Home과 About링크가 보인다. 각각 누르면 index.php?page=home과 index.php?page=about로 이동한다. 이 이상 확인할 것이 없어 소스코드를 살펴봤다. 주석에 hint가 숨겨져 있었다. natas8의 password는 /etc/natas_webpass/natas8에 들어있다고 한다. URL을 통해 이동하려고 했는데 오류 페이지가 나왔다. 해당 경로를 주소 바로 뒤에 붙이는 대신에 URL파라미터로 넘겨봤다. 그 결과 natas8의 password를 확인할 수 있었다. natas8 password: DBfUBfqQG69KvJvJ1iAbMoIpwS..
[natas] Level 5 -> Level 6
2021. 4. 11. 16:25
Study/Web Hacking
: level 5 → level 6 http://natas6.natas.labs.overthewire.org natas6에 접속하면 input과 View sourcecode링크를 볼 수 있다. View sourcecode를 클릭해서 아래와 같은 소스코드를 살펴봤다. 소스코드 중간을 보면 includes 디렉토리에 있는 secret.inc 파일을 include하고 있고, input 태그에서 입력받은 것을 $secret과 비교해서 일치하면 natas7 password를 출력한다는 것을 알 수 있다. includes/secret.inc 경로로 이동했더니 $secret의 값을 알 수 있었다. $secret값을 input에 입력하고 제출하면 위처럼 natas7 password를 알아낼 수 있다. natas7 pa..
[XSS Challenge] Stage #4
2021. 4. 2. 02:27
Study/Web Hacking
Stege #4 입장! 이번엔 Search에 script를 작성하고, burp suite로 바로 패킷을 확인해봤다. Stage #3에는 없었던 p3이 추가된 것을 볼 수 있었다. 일단 p3을 건드리기 전에 먼저 p2의 필터링 여부를 확인해주기 위해 값을 script로 바꿨다. 확인 결과 p2도 필터링되고 있는 것을 알 수 있었다. Stage #4는 p3을 이용해서 해결해야 할 것 같다. p3에 있는 hackme가 어디에서 쓰이고 있는지 찾기 위해 소스코드를 살펴봤다. 확인 결과 form아래 type이 hidden인 input 태그의 value 값인 걸 알아냈다. 이전 stage에서 input 태그의 value에 script를 삽입해서 팝업창을 띄운적이 있다. 그 방법과 동일하게 해결하면 될 것 같다. p..
[XSS Challenge] Stage #3
2021. 4. 2. 01:55
Study/Web Hacking
Stage #3 입장! Stage #3에서는 alert(document.domain);을 실행시켜야 한다. Search a place에 를 그대로 입력해보았다. 코드가 실행되진 않고, 바로 아래에 그대로 출력되기만 했다. 이번엔 소스코드를 살펴봤다. 에서 ''가 필터링 되고 있다. Search a place에 입력되는 태그는 필터링 되기 때문에 다른 방법을 찾아봐야 한다. Stage #3은 Stage #2와 달리 Choose a country 부분이 추가되었다. 해당 부분의 입력을 이용해서 script를 실행할 다른 방법을 모색해야 한다. burp suite를 실행해서 서버로 전달되는 패킷을 확인해보자. 패킷을 보면 p1과 p2라는 변수에 각각 Search a place와 Choose a country ..
[LOS] cobolt
2021. 4. 2. 00:37
Study/Web Hacking
cobolt에 접속! cobolt는 id가 'admin'인 data를 select해야 해결할 수 있다. query를 잘 보면 where에서 id를 직접 검증하여 prob_cobolt 테이블에서 id column을 select하고 있다. 즉, id가 'admin'인 column을 직접 select 할 수 있다. 비번없이 아이디만으로 select하려면 pw부분을 주석으로 날려야 한다. where문에 id='admin'만 남겨놓기 위해서 페이로드는 다음과 같이 작성할 수 있다. id=admin'# → id=admin%27%23 작성한 페이로드를 입력하고 실행시켜서 다음과 같이 cobolt를 clear했다.
[natas] Level 4 -> Level 5
2021. 4. 2. 00:05
Study/Web Hacking
: level 4 → level 5 http://natas5.natas.labs.overthewire.org natas5에 처음 접속하면 로그인하지 않았다는 문구를 볼 수 있다. 로그인을 수행하는 부분을 제대로 통과하지 못 한 것 같다. Burp suite를 실행시켜서 패킷을 확인해봤다. 확인해보니 Cookie부분에 loggedin이 0으로 되어 있었다. 이 부분이 0이어서 로그인되지 않는 것 같아 1로 수정한 뒤 패킷을 놓아주고 natas5로 돌아가봤다. 그 결과 natas6으로 가는 password가 화면에 출력되어 있었다. natas6 password: aGoY4q2Dc6MgDq4oL4YtoKtyAg9PeHa1
[natas] Level 3 -> Level 4
2021. 4. 1. 23:39
Study/Web Hacking
: level 3 → level 4 http://natas4.natas.labs.overthewire.org natas4에 로그인하면 http://natas5.natas.labs.overthewire.org에서 접속해야 접근이 가능하다는 문구를 볼 수 있다. 하지만 현재 페이지는 http://natas4.natas.labs.overthewire.org이므로 접근이 불가능하다. 이때 Burp Suite으로 Referer을 조작하면 http://natas5.natas.labs.overthewire.org에서 접속한 것처럼 할 수 있다. /* 여기서 Referer란 요청한 페이지 전의 페이지를 뜻한다. 예) naver.com에서 blog.naver.com으로 이동하기 위해 blog.naver.com을 클릭했을..