[XSS challenge] Stage #10 저번처럼 hidden속성에 onclick을 활용해 풀었더니 바로 풀렸는데, 원래 의도와는 다른 것 같아 힌트를 보았다. 힌트 : s/domain//g; 처음에 기본 공격구문으로 공격했을때 "> 위와 같이 domain이 생략되는 것을 알 수 있었다. 다음과 같은 방법으로 우회할 수가 있다. "> 더보기 다른 방법을 첨부한다. 자바스크립트로 우회하는 방법 "> https://mins4416.tistory.com/116 Web Hacking/XSS challenge 2021.05.19
[xss challenge] Stage #9 Hint : UTF-7 XSS UTF-7 XSS 취약점 utf-7방식으로 인코딩하고 코드를 넣어보자. hidden속성으로 숨겨져있는 부분에 euc-jp가 있는데 utf-7로 바꾸는 것 같다. url 인코딩 사이트 https://www.urlencoder.org/ 해당 공격구문을 UTF-7로 인코딩해서 삽입했는데 크롬에서는 UTF-7을 활용한 XSS공격이 되지 않는다고 한다. "> Web Hacking/XSS challenge 2021.05.19
[Lord of SQL Injection] wolfman id를 admin으로 만들면 풀리는 문제같다. 공백문자를 필터링하고 있다. 아래 블로그에서 공백 우회방법을 참고했다. https://binaryu.tistory.com/31 1. Tab : %09 no=1%09or%09id='admin' 2. Line Feed (\n): %0a no=1%0aor%0aid='admin' 3. Carrage Return(\r) : %0d no=1%0dor%0did='admin' 4. 주석 : /**/ no=1/**/or/**/id='admin' 5. 괄호 : () no=(1)or(id='admin') 6. 더하기 : + no=1+or+id='admin' 그 외 다양한 우회 방법 참고 https://g-idler.tistory.com/61 간단해 보이는 +를 써봤는데 필터링되.. Web Hacking/LoS 2021.05.18
[XSS challenge] Stage #8 공격코드를 쓰면 하이퍼링크가 생긴다. 힌트를 보니 javascript scheme를 사용하라고 한다. 참고로 필터링이 걸려있다. href값이 들어간 경우 javascript를 사용하면 자바스크립트가 실행된다고 한다. 저번에도 써보긴 했지만 이번에는 href가 들어갔을때 실행된다는 점을 새로 알게되었다. Web Hacking/XSS challenge 2021.05.09
[XSS challenge] stage #7 저번과 비슷하다길래 같은 공격코드를 써봤는데 풀리지 않았다. 쿼터를 빼줬는데 바로 풀렸다. "> onclick=alert(document.domain); 우연히 푼거라 왜 그런지 알아봤는데 쿼터 필터링이 걸려있나보다. 소스코드로 보니까 필터링이 걸려있는 게 보였다. 이 외에도 앞에 /랑 ;를 써주면 풀리는 걸 확인할 수 있었다. Web Hacking/XSS challenge 2021.05.09
[Lord of SQL Injection] orc addslashes 이스케이프 시켜야하는 문자 앞에 백슬래시를 붙여주는 작업을 하는 함수다. ', ", \, NUL 을 처리한다. zzaps.tistory.com/45 쿼터를 필터링하고 있음을 알 수 있다. if(($result['pw']) && ($result['pw'] == $_GET['pw'])) solve("orc"); 이 부분을 보면 입력값과 DB의 pw가 일치해야 풀리는 것을 확인할 수 있다. 이 문제는 Blind SQL Injection 을 사용해야 한다. Blind SQL Injection은 쿼리 결과에 따른 서버의 참과 거짓 반응을 통해 공격을 수행하는 방식이다. length(pw)=pw길이 length함수를 사용하면 패스워드 길이를 알 수 있다. 1부터 값을 늘려가며 찾아보자. pw='.. Web Hacking/LoS 2021.05.09
[XSS challenge] stage #6 공격코드를 쓰면 input창에 그대로 나타난다. 힌트를 보니 event handler attributes라 써있길래 event 속성을 쓰는건가 싶어 onclick 속성을 써보기로 했다. 공격에 실패해 이번에는 input창에 써보기로 했다. "> search를 누르고 input창을 클릭하자 공격에 성공했다. ">를 써주지 않으면 공격에 실패한다. 소스코드에서도 ">을 빼먹어서 실패했나 싶어서 같은 공격코드로 공격했는데 실패했다. Web Hacking/XSS challenge 2021.04.10
[XSS challenge] Stage #5 input창에 공격코드를 입력해보면 길이제한이 있는 것을 알 수 있다. 소스코드에서 maxlength="15"로 길이제한을 걸어둔 것을 볼 수 있다. 일단 maxlength 길이를 100정도로 늘리고 스크립트 공격을 해보았다. 바로 공격이 성공하진 않는다. value 태그를 닫고 공격코드를 쓰자 성공했다. "> Web Hacking/XSS challenge 2021.04.10
[Lord of SQL Injection] goblin id를 admin으로 만들면 풀릴 것 같은데 id가 guest로 쓰여있다. id=admin 식으로 입력하자 역시 id값은 변하지 않았다. no에 아무거나 입력하고 뒤에 주석으로 id=admin을 날려보았더니 Hello guest를 띄웠다. no=1 %23id=admin 여러가지로 시도해보다가 "를 입력하면 다음과 같이 뜬다는 것을 알아냈다. if(preg_match('/\'|\"|\`/i', $_GET[no])) exit("No Quotes ~_~"); 이 부분을 보니까 쿼터를 필터링한다. url 인코딩으로 입력해보기로 했다. "를 %22로 입력해보아도 No Quotes가 뜬 걸로 보아 url 인코딩은 통하지 않는 것 같다. 필터링을 우회할 수 있는 방법을 알아보다가 엄청난 사이트를 발견했다. 심지어 블.. Web Hacking/LoS 2021.04.10
[Lord of SQL Injection] cobolt 쿼리 select id from prob_cobolt where id='' and pw=md('') 저번과 다르게 md5로 pw값이 해시화된다. 테스트삼아 괄호를 맞춰 1=1을 해봤는데 다음과 같은 결과가 나왔다. id=1&pw=1') or('1'='1 코드를 보니 if문으로 id가 admin일 경우 풀리게 되어있고 아닐경우에 이런 문구를 출력한다. if문에는 id값이 admin인지 아닌지만 확인하고 있다. 그러면 admin뒤의 값을 주석처리하면 풀리지 않을까? #을 그대로 치니 입력이 되지 않았기 때문에 문자인코딩으로 %23을 넣어주었다. '으로 id값을 닫아주어야 clear할 수 있다. id=admin'%23 cobolt clear~ Web Hacking/LoS 2021.04.04