반응형
SMALL

write-up 49

webhacking.kr old 1번

일단 1번문제는 코드를 보라고 하길래 코드를 봤다. 들어가서 봤더니 지금 level이 쿠키 안에 담겨져 있는데 이게 숫자가 아니거나 4보다 크거나 같으면 1로 설정하고 3보다 크면 풀린다고 되어있다. 그래서 원래 사이트의 쿠키를 살펴보니 user_lv이란 애가 1로 되어있는 것을 확인했다. 얘를 3.5로 바꾸니 풀렸다. solve → 쿠키 값을 3.5로 변경

XSS challenges stage #9

What you have to do Inject the following JavaScript command: alert(document.domain); Solve 먼저 평소와 같이 script 구문을 입력해보았더니 아래와 같은 코드를 확인할 수 있었다. 아래 charset으로 euc-jp가 있는 것을 알게되었다. 뭔소린지 모르겠어서 힌트를 봤는데 utf-7을 이용한 xss란다... 검색해서 쳐보니 지금 브라우저들은 utf-7을 지원하지 않아 못풀 것 같았다. 홧김에 html 코드를 수정해봤는데 풀렸다.(onclick 이용) input 태그 안에 onclick=”alert(document.domain);”을 넣고 새로고침한 후 입력창을 몇 번 클릭하니 풀렸다.(이렇게 풀어도 되나..?ㅎㅎ)

XSS challenges stage #8

What you have to do: Inject the following JavaScript command: alert(document.domain); Solve 아무값이나 입력해보니 아래와 같이 url로 만들어주는 것 같다. 코드를 확인해보니 href로 내가 만든 url을 띄워준다. 따라서 url로 javascript를 실행시켜주는 javascript scheme을 사용하면 된다.(xss-game 6에서 사용) javascript:alert(document.domain)을 입력하고 이 url을 눌러준다. 2021.07.19 - [write-up/XSS-game write-up] - XSS game level 6 - Follow the 🐇​ ->xss-game 6번 라업

XSS challenges stage #7

What you have to do: Inject the following JavaScript command: alert(document.domain); Solve 6번 문제와 형식이 같아보여 똑같이 입력해보았는데 이번에는 “를 필터링하는 것 처럼 구분하는 것을 확인할 수 있었다. burp suite로 확인해보니 아래와 같이 “를 "로 필터링하고 있었다. 따라서 이번에는 “를 사용하지 않고 문제를 풀어야하는데 “를 우회할 수 있는 방법을 찾아보니 /를 사용하면 된다는 것을 알게 되었다. / onclick=alert(document.domain) 을 입력하고 클릭을 몇번 해준다. (/가 “대신 들어가고 onclick 뒤에 나머지는 알아서 “”사이에 들어간다.)

XSS challenges stage #6

What you have to do: Inject the following JavaScript command: alert(document.domain); Solve html 코드를 확인해 보니 2번 문제와 동일하여 똑같이 입력해보았다. 그러고 나서 html 코드를 보니 아래와 같이 가 %lt, %gt로 필터링 되는 것을 확인할 수 있었다. 따라서 태그를 사용하지 않고 문제를 풀어야하는데 xss game에서 해본 onclick 등 이벤트 헨들러를 사용하면 풀 수 있을 것 같아 입력해보았다. “onclick=”alert(document.domain);” “을 입력하고 아무거나 클릭하니 성공했다.

XSS challenges stage #5

What you have to do: Inject the following JavaScript command: alert(document.domain); Solve 1번 문제와 똑같이 생겨서 script 구문을 넣어보려 하는데 중간에 길이제한때문에 잘리는 것을 확인할 수 있었다. 그래서 html 코드를 살펴보니 input 코드에 maxlength라고 길이 제한이 15로 걸려있는 것을 알아냈다. 따라서 저 길이 제한을 넉넉하게 300으로 설정한 후 2번 문제처럼 input 태그를 닫고 script 구문을 넣어 보았다. ">

XSS challenges stage #4

What you have to do: Inject the following JavaScript command: alert(document.domain); Solve 3번 문제랑 똑같이 생겼다. 그래서 burp suite로 전송 값을 확인해봤다. 확인해보니 p2=japan 까지가 아니라 p3=hackme라는 값이 추가되어 있었다. 그러고 코드를 확인해보니 hackme라는 값이 input태그에 hidden으로 숨겨져 있었는데 그 input 태그를 닫고 hackme 대신 script 구문을 주입하면 실행될 것 같아서 입력해보았다. p3에 “>를 입력했더니 성공했다. ( 3번문제와 2번 문제를 섞어놓은 느낌?)

XSS challenges stage #3

What you have to do: Inject the following JavaScript command: alert(document.domain); Solve 이번에는 앞에 방법들로 안 돼서 burp suite를 이용해보았다. request를 보면 p1이 입력한 값이고 p2가 옆에 설정한 나라인 것을 확인할 수 있다. burp suite로 저 값들을 바꿀 수 있나 확인해봤더니 바꿀 수 있었다. 한번 바꾸고 결과값을 봐보니 아래 사진과 같이 p1은 “” 안에 p2는 그냥 태그 안에 입력되는 것을 확인 할 수 있었다. 따라서 나라 대신 script 구문을 주입했더니 성공했다. 를 입력한다.

XSS challenges stage #2

What you have to do: Inject the following JavaScript command: alert(document.domain); Solve 1번 문제처럼 입력해보니 실패했다. 힌트를 보니 태그를 닫으라고 해서 html 코드를 들어가서 봤다. 검사한 html 코드 중 입력을 하는 부분의 코드를 확인해보니 input 태그 안에 내가 입력한 값이 들어가는 것을 확인할 수 있었다. 따라서 저 input 태그를 닫고 script 구문을 집어넣으면 실행 될 것 같아 입력해보았다. ">

반응형
LIST