>  기사  >  웹 프론트엔드  >  쿠키 주입은 어떻게 발생합니까_javascript 기술

쿠키 주입은 어떻게 발생합니까_javascript 기술

WBOY
WBOY원래의
2016-05-16 18:54:301205검색

쿠키가 주입되는 상황을 연구해 봅시다! ASP를 공부해 본 사람이라면

코드 복사를 알아야 합니다! 다음 :

Request.QueryString(GET)

또는
코드 복사 코드는 다음과 같습니다.

Request.Form (POST)

아, 그렇습니다. user to WEB server 값! 가끔 코드를 단순화하기 위해

ID =Request("ID")

이렇게 작성하는 방법은 간단하지만 문제가 발생합니다~~~ 먼저 어떻게 작성하는지 살펴보겠습니다. WEB 서비스는 먼저 GET에서 데이터를 가져옵니다. POST에서 데이터를 가져오는 대신 쿠키에서도 데이터를 가져옵니다. (하하, 책에서는 그런 말을 하지 않습니다. Xiao Gao와 통신한 후에야 알게 되었습니다. ~~ 책이 불완전한 것 같습니다~~)

다시 주입 방지 시스템을 살펴보겠습니다. GET 및 POST에서 특수 문자(물론 여기서는 주입 문자)가 있는 경우 데이터를 감지합니다. )! 데이터 제출을 금지합니다. 하지만 쿠키 데이터는 감지하지 못합니다! 문제가 발생합니다~~쿠키 삽입 문제가 있는지 테스트하는 방법~아래 링크를 먼저 살펴보시기 바랍니다(예제로 사용되었기 때문에 링크는 실제가 아닙니다)
http://www.xxx. com/1.asp ?id=123

http://www.xxx.com/1.asp만 입력하면 매개변수가 없어 정상적인 데이터를 볼 수 없는지 알고 싶습니다! 쿠키에 문제가 있나요(요청("XXX") 형식 문제도 있나요?) 먼저 IE를 사용하여 http://www.xxx.com/1.asp

를 입력하여 웹페이지를 로드하세요. 그리고 표시가 비정상적입니다(매개변수를 입력하지 않은 이유). IE 입력 상자에
javascript:alert(document.cookie="id=" escape("123"));를 입력하고
Enter를 누릅니다. 다음 내용이 포함된 대화 상자가 나타납니다. id=123 이후 웹 페이지를 새로 고침하면 정상적으로 표시되면
Request("ID") ~~. 이 형식에서는 쿠키를 삽입하여 입력 상자에 입력할 수 있습니다.
javascript:alert(document.cookie="id=" escape("123 and 3=3") );
페이지를 새로 고침하세요. 표시가 정상이면 다음 단계를 시도해 보세요. (정상이 아니면 필터링도 가능합니다.)
javascript:alert(document.cookie="id= " escape("123 and 3=4"));
페이지를 새로고침하세요. 정상적으로 표시되지 않으면 인젝션이 있는 것입니다~ ~~프로그래머가
Request.QueryString
또는
Request.Form
을 사용하여 데이터를 수집하는 경우 서비스 프로그램이 GET 또는 POST에서 직접 데이터를 읽기 때문에 쿠키 삽입에는 문제가 없습니다. 예, 웹 서버는 쿠키에 데이터가 포함되어 있는지 여부를 무시하므로 쿠키를 삽입할 수 없습니다. 쿠키! ~
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.