http://stackoverflow.com/questions/2669690/why-does-google-prepend-while1-to-their-json-responses
Q: 구글 캘린더나 구글 독스에서 수신한 JSON 데이터에 while(1); 이나 &&START&& 같은 코드가 들어있습니다. 이건 어떤 이유 때문에 그런 건가요?
(질문자: Andrew Koester)
A: 이것은 JSON hijacking을 막기 위한 것입니다.
http://haacked.com/archive/2009/06/25/json-hijacking.aspx/
예를 들면, 공격자가 구글메일로 어떤 스크립트가 포함된 메일을 보냅니다. 공격자는 AJAX 호출을 곧바로 할 수는 없지만, <script> 태그를 이용하여 특정 URL을 넣을 수 있습니다. 해당 URL은 당신의 쿠키를 이용하여 접속되며, overriding the global array constructor or accessor methods를 이용하여 속성 값이 정해질 때 마다 해당 스크립트를 실행할 수 있고, 당신의 이메일 목록을 읽을 수 있게 됩니다.
while(1); 이나 &&START&& 이 들어가 있으면, 그 공격자 스크립트가 실행될 때 무한루프에 빠지거나 문법에러를 일으키게 됩니다.
(답변자: rjh)
1958 1107 | Why does Google prepend For example, here's a response while turning a calendar on and off in Google Calendar:
I would assume this is to prevent people from doing an I've seen this used in a couple of other places, too, but a lot more so with Google (Mail, Calendar, Contacts, etc.) Strangely enough, Google Docs starts with What's going on here? |
2269 | It prevents JSON hijacking. Contrived example: say Google has a URL like The This does not address the issue of cross-site request forgery. |
'StackOverflow ' 카테고리의 다른 글
[HTML] 웹 브라우저에 입력할 수 있는 URL의 길이? (0) | 2015.12.09 |
---|---|
[HTML] bgcolor로 "chucknorris" 를 설정하면 붉은 색이 나오는 이유? (0) | 2015.12.08 |
[C] --> 오퍼레이터를 뭐라고 부르죠? (0) | 2015.12.04 |
[C] C언어에서, 메모리 포인터를 해제하기 전에 캐스팅해야 하는 이유? (0) | 2015.12.04 |
[JAVA] 패스워드에 String이 아닌 char[]를 이용하는 이유 (0) | 2015.11.23 |