목차
1. 반사형 XSS
2를 분석하기 위해 JAVA 언어 소스 코드를 사용합니다. 서버는 데이터를 받아 처리한 후 XSS 코드가 포함된 데이터를 브라우저로 전송합니다. 브라우저가 XSS 코드로 데이터를 구문 분석한 후 XSS 취약점이 발생하여 대상 도용으로 이어질 수 있습니다. 웹사이트의 데이터를 공격자의 서버로 전송하여 이용자의 미공개 정보를 읽거나 하이재킹을 클릭하여 피싱 공격 등을 수행합니다. 2018년 1월부터 11월까지 CVE에는 이와 관련된 취약점 정보가 총 126개 있었습니다. 일부 취약점은 다음과 같습니다.
3. 샘플 코드
3.1 결함 코드
3.2 修复代码
4 、如何避免反射型 XSS
운영 및 유지보수 안전 반영된 XSS를 분석하는 방법

반영된 XSS를 분석하는 방법

May 13, 2023 pm 08:13 PM
xss

1. 반사형 XSS

반사형 XSS는 애플리케이션이 웹 요청을 통해 신뢰할 수 없는 데이터를 획득하여 데이터에 악성 코드가 포함되어 있는지 여부를 확인하지 않고 웹 사용자에게 전송하는 것을 의미합니다. Reflected XSS는 일반적으로 공격자가 악성코드 매개변수를 포함하는 URL로 구성하며, URL 주소가 열리면 HTML에 의해 고유한 악성코드 매개변수가 파싱되어 실행되는 특징이 있으며 사용자가 클릭을 요구합니다. 특정 매개변수와 연결하면 발생할 수 있습니다. 편집자는 CWE ID 80: 웹 페이지에서 스크립트 관련 HTML 태그의 부적절한 중립화(기본 XSS)

2를 분석하기 위해 JAVA 언어 소스 코드를 사용합니다. 서버는 데이터를 받아 처리한 후 XSS 코드가 포함된 데이터를 브라우저로 전송합니다. 브라우저가 XSS 코드로 데이터를 구문 분석한 후 XSS 취약점이 발생하여 대상 도용으로 이어질 수 있습니다. 웹사이트의 데이터를 공격자의 서버로 전송하여 이용자의 미공개 정보를 읽거나 하이재킹을 클릭하여 피싱 공격 등을 수행합니다. 2018년 1월부터 11월까지 CVE에는 이와 관련된 취약점 정보가 총 126개 있었습니다. 일부 취약점은 다음과 같습니다.

CVEVulnerability 개요CVE-2018-19091tianti는 Java로 작성된 무료 경량 CMS 시스템이며 현재 다음을 제공합니다. 합계 백엔드 관리부터 프런트엔드 디스플레이까지 솔루션을 제공합니다. 그 중 tianti 2.3은 tianti-module-admin /user /list userName 매개변수를 통해 사용자 관리 모듈에 반영된 XSS 취약점이 있습니다. CVE-2018-14929Matera Banco 1.0.0은 /contingency/web/index.jsp(홈페이지라고도 함) url 매개변수에서 알 수 있듯이 여러 반영된 XSS에 취약합니다. CVE-2018-12996 ZohoManageEngine 애플리케이션 관리자는 J2EE 기본 구조 및 J2EE 애플리케이션을 모니터링하고 관리하기 위한 솔루션을 제공합니다. Zoho ManageEngine 애플리케이션 관리자 13(Build13800)에 반영된 XSS(교차 사이트 스크립팅) 취약점으로 인해 원격 공격자가 'method' 매개변수를 통해 임의의 웹 스크립트나 HTML을 GraphicalView.do에 삽입할 수 있습니다. CVE-2018-12090LAMS는 호주 Macquarie University, LAMS International Ltd. 및 LAMS Foundation이 공동 개발한 차세대 JAVA 기반 학습 소프트웨어입니다. 인증되지 않은 반사 XSS(교차 사이트 스크립팅)가 3.1 이전 LAMS에 존재하여 ForgetPasswordChange.jsp에서 원격 공격자가 허용됩니까? 키 = 비밀번호 변경 중에 지정되지 않은 GET 매개변수를 조작하여 임의의 JavaScript를 도입합니다.

3. 샘플 코드

샘플은 Samate Juliet Test Suite for Java v1.3(https://samate.nist.gov/SARD/testsuite.php)에서 가져온 것입니다. 소스 파일 이름: CWE80_XSS__CWE182_Servlet_URLConnection_03.java.

3.1 결함 코드

반영된 XSS를 분석하는 방법반영된 XSS를 분석하는 방법

위 예제 코드 연산은 사용자의 나이를 구하고, 40행에서 연결 객체를 생성하고, 44행에서 입력 스트림을 생성하여 urlConnection 객체 응답 콘텐츠, 52행의 버퍼 스트림에서 데이터 한 줄을 읽고, 52행에서 얻은 데이터에서 <script></script> 태그를 지정하고 <script></script> 태그가 필터링되더라도 처리된 데이터를 페이지에 출력합니다. , 그러나 여전히 다른 html 태그를 사용할 수 있습니다. 여기서 악성 url 하지만 웹사이트가 보호되지 않는 경우 페이지는 document.cookie의 내용을 읽어서 페이지에 입력합니다. 이렇게 하면 반영된 XSS가 생성됩니다. urlConnection对象响应的内容,在第52行从缓冲流中读取一行数据,在第100行中,将获得的数据去除所有的<script></script>标签并向页面输出处理后的数据,即使过滤了<script></script>标签,但仍然可以使用其他html标签,在这里构造了恶意的url,但网站未做防护时,页面会读取到document.cookie的内容并输入到页面。这样就造成了反射型 XSS。

使用360代码卫士对上述示例代码进行检测,可以检出“反射型XSS”缺陷,显示等级为高。从跟踪路径中可以分析出数据的污染源以及数据流向,在代码行第100行报出缺陷,如图1所示:

반영된 XSS를 분석하는 방법图1:反射型 XSS 检测示例

3.2 修复代码

반영된 XSS를 분석하는 방법

在上述修复代码中,由于页面输出的内容为用户的年龄,在第96行,对响应的内容转换为数字,这样就过滤了其它 html 的字符,即使存在字符,代码会报出异常,并不会造成反射型 XSS 的发生。

使用360代码卫士对修复后的代码进行检测,可以看到已不存在“反射型XSS”缺陷。如图2:


반영된 XSS를 분석하는 방법

图2:修复后检测结果

4 、如何避免反射型 XSS

要避免反射型 XSS,需要注意以下几点:

(1) 对用户的输入进行合理验证(如年龄只能是数字),对特殊字符(如 、'、"等)以及<script></script>javascript 等进行过滤。

(2) 根据数据将要置于 HTML 上下文中的不同位置(HTML 标签、HTML 属性、JavaScript 脚本、CSS、URL),对所有不可信数据进行恰当的输出编码。

(3) 设置HttpOnly属性,避免攻击者利用XSS漏洞进行Cookie劫持攻击。在 JavaEE 中,给Cookie添加HttpOnly

360 코드 가드를 사용하여 위의 샘플 코드를 감지하면 "반사된 XSS" 결함을 감지할 수 있으며 표시 수준이 높습니다. 추적 경로를 통해 데이터 오염의 원인과 데이터 흐름 방향을 분석할 수 있으며 그림 1과 같이 코드의 100번째 라인에 결함이 보고됩니다.

반영된 XSS를 분석하는 방법반사된 XSS를 분석하는 방법그림 1: 반사된 XSS 감지 예

🎜🎜3.2 복구 코드🎜🎜🎜반영된 XSS 분석 방법🎜🎜위 복구 코드에서는 페이지에서 출력되는 내용이 사용자 연령의 96페이지 줄에서 응답 내용을 숫자로 변환하여 다른 HTML 문자를 필터링합니다. 문자가 존재하더라도 코드는 예외를 보고하고 XSS를 반영하지 않습니다. 🎜🎜360 코드가드를 이용해 복구된 코드를 검출해 보면 '반영된 XSS' 불량은 없는 것을 확인할 수 있습니다. 그림 2와 같이: 🎜🎜
반영된 XSS를 분석하는 방법 🎜🎜그림 2: 수리 후 감지 결과🎜🎜🎜4. 반사 XSS를 방지하는 방법🎜🎜🎜반사를 방지하려면 숫자를 사용할 수 있으며 특수 문자(예: , ', " 등) .) 및 <script></script>, javascript 등을 사용하여 필터링합니다. 🎜🎜(2) HTML 컨텍스트(HTML 태그, HTML 속성, JavaScript 스크립트, CSS, URL)에서 데이터가 배치될 다양한 위치에 따라 필터 신뢰할 수 없는 모든 데이터가 올바르게 출력됩니다. 🎜🎜(3) 설정합니다. 공격자가 XSS 취약점을 사용하는 것을 방지하기 위한 HttpOnly 속성은 쿠키 하이재킹 공격 JavaEE에서는 쿠키를 추가하는 코드를 제공하세요. class="prettyprint code-in-text Prettyprinted">HttpOnly는 다음과 같습니다: 🎜🎜🎜🎜

위 내용은 반영된 XSS를 분석하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Laravel의 XSS(교차 사이트 스크립팅) 및 CSRF(교차 사이트 요청 위조) 보호 Laravel의 XSS(교차 사이트 스크립팅) 및 CSRF(교차 사이트 요청 위조) 보호 Aug 13, 2023 pm 04:43 PM

Laravel의 XSS(교차 사이트 스크립팅) 및 CSRF(교차 사이트 요청 위조) 보호 인터넷이 발전하면서 네트워크 보안 문제는 점점 더 심각해졌습니다. 그 중 XSS(Cross-SiteScripting)와 CSRF(Cross-SiteRequestForgery)는 가장 일반적인 공격 방법 중 하나입니다. 인기 있는 PHP 개발 프레임워크인 Laravel은 사용자에게 다양한 보안 메커니즘을 제공합니다.

PHP에서 XSS 및 원격 코드 실행 공격을 방어하는 방법 PHP에서 XSS 및 원격 코드 실행 공격을 방어하는 방법 Jun 30, 2023 am 08:04 AM

PHP를 사용하여 XSS(교차 사이트 스크립팅) 및 원격 코드 실행 공격을 방어하는 방법 소개: 오늘날의 인터넷 세계에서 보안은 중요한 문제가 되었습니다. XSS(교차 사이트 스크립팅) 및 원격 코드 실행 공격은 가장 일반적인 보안 취약점 중 두 가지입니다. 이 기사에서는 PHP 언어를 사용하여 이러한 두 가지 공격을 방어하는 방법을 살펴보고 이러한 공격으로부터 웹 사이트를 보호하는 몇 가지 방법과 기술을 제공합니다. 1. XSS 공격 이해 XSS 공격은 공격자가 웹사이트에 악성 스크립트를 삽입하여 사용자의 개인 정보를 얻는 것을 말합니다.

PHP 및 Vue.js 개발을 위한 보안 모범 사례: XSS 공격 방지 PHP 및 Vue.js 개발을 위한 보안 모범 사례: XSS 공격 방지 Jul 06, 2023 pm 01:37 PM

PHP 및 Vue.js 개발 보안을 위한 모범 사례: XSS 공격 방지 인터넷의 급속한 발전으로 인해 네트워크 보안 문제가 점점 더 중요해지고 있습니다. 그중 XSS(교차 사이트 스크립팅 공격)는 웹사이트의 보안 취약점을 악용해 사용자에게 악성 코드를 주입하거나 웹페이지 콘텐츠를 변조하는 것을 목표로 하는 매우 일반적인 유형의 네트워크 공격입니다. PHP 및 Vue.js 개발에서는 XSS 공격을 방지하기 위해 몇 가지 보안 모범 사례를 채택하는 것이 매우 중요합니다. 이 기사에서는 XSS 공격을 방지하고 해당 코드를 제공하기 위해 일반적으로 사용되는 몇 가지 방법을 소개합니다.

PHP의 보안 XSS 필터링 기술 분석 PHP의 보안 XSS 필터링 기술 분석 Jun 29, 2023 am 09:49 AM

PHP는 웹사이트 개발에 널리 사용되는 프로그래밍 언어이지만 PHP를 사용하여 웹사이트를 개발할 때 보안 문제로 인해 사람들이 걱정하는 경우가 많습니다. 그 중 하나가 일반적인 네트워크 보안 취약점인 XSS(Cross-SiteScripting)입니다. 이 문제를 해결하기 위해 PHP는 몇 가지 보안 XSS 필터링 기술을 제공합니다. 이 기사에서는 PHP의 보안 XSS 필터링 기술의 원리와 사용법을 소개합니다. 먼저 XSS 공격이 무엇인지 이해해야 합니다. XSS 공격

반영된 XSS를 분석하는 방법 반영된 XSS를 분석하는 방법 May 13, 2023 pm 08:13 PM

1. Reflected XSS Reflected XSS는 애플리케이션이 웹 요청을 통해 신뢰할 수 없는 데이터를 획득하여 데이터에 악성 코드가 포함되어 있는지 여부를 확인하지 않고 웹 사용자에게 전송하는 것을 의미합니다. Reflected XSS는 일반적으로 공격자가 URL 주소를 열면 HTML로 고유한 악성코드 매개변수를 파싱하여 실행하는 것이 특징이며, 사용자가 클릭을 해야 하는 특징이 있습니다. 특정 매개변수와 연결하면 발생할 수 있습니다. 편집기는 CWEID80:스크립트 관련 HTMLTagsinaWebPage(BasicXSS)2의 부적절한 중립화를 분석하기 위해 JAVA 언어 소스 코드를 예로 사용합니다.

반영된 XSS를 분석하는 방법 반영된 XSS를 분석하는 방법 Jun 03, 2023 pm 12:09 PM

1 테스트 환경 소개 테스트 환경은 OWASP 환경의 DVWA 모듈입니다. 2 테스트 설명 XSS는 CSS(CrossSiteScript)라고도 불리며 Cross-Site Scripting 공격입니다. 악의적인 공격자가 웹 페이지에 악성 HTML 코드를 삽입하여 사용자가 해당 페이지를 탐색하면 웹에 내장된 HTML 코드가 실행되어 사용자의 쿠키를 얻는 등 악의적으로 사용자를 공격하려는 특수한 목적을 달성하는 것을 말합니다. . 악성 웹사이트로 이동하여 공격을 수행하는 등의 작업을 수행합니다. 이 취약점은 공격자가 인증된 사용자의 세션을 가로채기 위해 악용될 수 있습니다. 인증된 세션을 하이재킹한 후 바이러스 발생자는 해당 인증된 사용자의 모든 권한을 갖게 됩니다. 3. 테스트 단계: 입력 상자에 javascript 스크립트 코드를 입력합니다: al

PHP의 XSS 공격 PHP의 XSS 공격 May 23, 2023 am 09:10 AM

최근 인터넷 정보기술의 급속한 발전으로 인해 우리의 삶은 점점 더 인터넷과 뗄 수 없게 되었습니다. 네트워크와 일상 생활 사이의 상호 작용은 대량의 코드 작성, 전송 및 처리와 분리될 수 없습니다. 그리고 이러한 코드는 보안을 보호하기 위해 우리가 필요합니다. 그렇지 않으면 악의적인 공격자가 이를 사용하여 다양한 공격을 시작할 것입니다. 이러한 공격 중 하나는 XSS 공격입니다. 이 기사에서는 PHP의 XSS 공격에 중점을 두고 그에 따른 방어 방법을 제공합니다. 1. XSS 공격 개요 크로스 사이트 스크립팅 공격이라고도 알려진 XSS 공격은 일반적으로 다음과 같습니다.

PHP의 XSS 공격 및 방어 가이드 PHP의 XSS 공격 및 방어 가이드 May 22, 2023 pm 12:51 PM

PHP는 웹 애플리케이션 개발에 널리 사용되는 일반적으로 사용되는 서버 측 프로그래밍 언어입니다. 그러나 인기와 사용 용이성으로 인해 PHP도 공격자의 표적 중 하나가 되었습니다. 가장 일반적인 공격 중 하나는 크로스 사이트 스크립팅(Cross-Site Scripting), 줄여서 XSS입니다. 이 기사에서는 PHP의 XSS 공격과 방어 지침을 소개하는 것을 목표로 합니다. 1. XSS 공격의 정의 XSS(교차 사이트 스크립팅 공격)는 공격자가 악성 HTML 또는 Javascript 코드를 "주입"하여 사용자 브라우저에 악의적인 작업을 수행하는 것을 말합니다.

See all articles