저자 : czy <[email protected]>
출처 : http://www.nsfocus.net
날짜 : 2003-09-03
(포럼은 기사에서 일부 문자를 처리하므로
http://www.chinansl.com/czy/xmlhttp.txt 기사를 읽으십시오
http://www.chinansl.com/czy/aspsky5.htm 테스트 코드)
나는 당신이 이미 크로스 사이트 스크립팅 공격에 익숙하다고 생각하지만 쿠키를 얻을 때 항상 하나가 있습니다.
질문 : 항상 Window를 사용하여 개봉하여 양식을 팝업 한 다음 쿠키를 보내면 비밀입니다.
큰 할인입니다. 웹 페이지에서 HTML 문을 주입하기위한 InsertAdjacenthtml 메소드를 생각했습니다.
이 방법은 IE 창없이 쿠키를 보내는 데 간신히 사용될 수 있지만 실제로 사용하면 IE 오류가 발생할 수 있습니다.
더 나은 방법이 없습니까? 과거에는 VBS 바이러스의 자동 업그레이드를 연구 할 때 Microsoft.xmlhttp를 사용했습니다.
컨트롤 (이 컨트롤
웹 페이지의 웹 사이트에 HTTP 요청을 게시하거나 게시 할 수 있습니다.
좋아, 아이디어가 여기에 왔습니다. ASPSKY5.00320을 예로 들어 봅시다.
우리는 <imgsrc = "xxxxxx">가 vbscript를 사용하여 src로 작성할 수 있음을 알고 있습니다. . 예를 들어
<imgsrc = "vbscript : a = (msgbox (now))">이지만 예를 들어 하나의 문화 만 실행할 수 있습니다.
<imgsrc = "vbscript : a = (msgbox (now)) : b = (msgbox (now))"> 이것은 잘못 될 것입니다!
어떻게해야하나요? VBS에서는 Execute 문을 사용할 수 있습니다. JS에서는 Eval을 사용할 수 있습니다!
예 : <imgsrc = "vbscript : execute ("a = (msgbox (now)) : b = (msgbox ( "czy" "))") ">
또는 <imgsrc = "javaScript : eval ( 'alert (/'nsfocus/'); alert (/'czy/')')">
아직 어지럽지 않아요? 위와 같이 VBS의 Execute 명령문을 사용할 때 이중 인용문을 "이것은 다음과 같습니다.
VBS에서 단일 따옴표는 문자열로 둘러싸여 있어야하며 두 개의 단일 따옴표는 하나와 다른 인용문을 나타내며 이중 인용문 내에 있습니다!
따라서 Execute 문서에서는 단일 따옴표를 사용할 수 없지만 HTML이 인용이 일치 할 때 직접 사용합니다.
SRC = "이후의 인용문과 일치하므로 대신 사용할 수 있습니다.
견적 마크 문제가 해결되었습니다. 실제 응용 프로그램에서 Aspsky는 코드를 처리합니다.
1 : 스크립트 문자열을 찾으면 공간이 추가됩니다.
2 : HTTP 문자열을 찾으면 URL로 간주되고 양쪽에 <a> 요소를 추가합니다.
3 : 공간을 찾으면 대신 사용합니다.
문제 해결 :
1 : vbscript는 vbscript로 대체됩니다
2 : "" ""ht "" + ""tp 사용 ...
3 : 대신 공간을 사용하십시오 (참고하지 않음)
결국, 그것은 쿠키를 보내는 문제입니다.
1 : 컨트롤은 로컬로 웹 사이트를 얻거나 게시 할 수 있지만 웹 페이지에서만 사용할 수 있습니다.
현재 서버를 게시하십시오. . . . 그렇지 않으면 즉, 그가 질문을 거부 할 것이라고 말할 것입니다!
2 : 쿠키는 URL에서 특별한 상호 작용을 가진 문자를 가질 수 없습니다.
문제 해결 :