JSON 2

 

 

문제


 

 

 

 

문제해석


 

 

 

</script 를 입력하면 공백으로 바뀐다.

 

 

 

풀이


 

</script를 입력해야지만 공백으로 바뀌고 </s1cript와 같이 다른문자가 섞여있을 때는 그대로 출력된다.

그래서 </script만 공백으로 바뀌는 것을 이용하여 payload를 작성하면된다.

 

Input : </</scriptscript<script>alert(1)//

 

 

'Web hacking > alert(1) to win' 카테고리의 다른 글

alert(1) to win - JSON3  (0) 2019.11.26
alert(1) to win - Skandia  (0) 2019.11.11
alert(1) to win - callback2  (0) 2019.11.10
alert(1) to win - markdown  (0) 2019.11.10
alert(1) to win - 1  (0) 2019.11.10

Markdown

 

 

문제


 

 

 

문제해석


 

<와 "는 각각 &lt; &quot;로 치환 되며

 

 

 

[[a|b]]

 

 

a부분이 img 태그의 alt 부분, b 부분이 src 부분으로 각각 들어가게 되며

alt - Alternate(대체하다) 이미지가 잘못 불러졌을 때 대체되어 나타나는 것.

 

 

 

http://string

 

 

다음과 같이 치환된다.

 

 

 

 

풀이


 

"가 &quot;로 치환되어 사용하지 못하지만 http:// 와 [[a|b]]가 치환되는 형태 안에서 각각 "를 포함하는 것을 이용하여 "를 우회할 수 있다.

 

input : [[a|http://onerror=alert(1)//]]

 

 

다음과 같이 풀 수 있다.

 

 

<img alt="<a href="http://onerror=alert(1)//" src="a.gif">">http://onerror=alert(1)//]]</a> 에서

 

실제 페이지에서 다음과 같이 해석 된다.

 

 

 

 


//에 대한 공부

<img alt="<a href=" http: 에서 //가 html paser로 해석되는데 어떠한 값으로도 해석되지 않아 공백 문자와 같이 처리되고

onerror 다음의 //는 js 이벤트 핸들러로 해석되어 주석의 기능을 실행하며

"">http~~~ 의 // 는 text 그대로 해석 되어 출력된다.

 

참고 : https://www.w3.org/TR/2011/WD-html5-20110405/tokenization.html#tag-open-state

8.2.4.1 Data state

 

'Web hacking > alert(1) to win' 카테고리의 다른 글

alert(1) to win - JSON3  (0) 2019.11.26
alert(1) to win - Skandia  (0) 2019.11.11
alert(1) to win - callback2  (0) 2019.11.10
alert(1) to win - JSON2  (0) 2019.11.10
alert(1) to win - 1  (0) 2019.11.10

+ Recent posts