漏洞原理反射型XSS漏洞

news2024/11/20 20:35:18

漏洞原理XSS漏洞

1 反射型XSS

php基础链接

Web渗透编程语言基础-CSDN博客

正常思维

http://127.0.0.1/websec/day01/xss_reflect.php?name=%E6%88%91%E6%98%AF%E8%B0%81

http://127.0.0.1/14_WEBSEC/DAY01/xss_reflect.php?name=我是谁

黑客思维

http://127.0.0.1/websec/day01/xss_reflect.php?name=%3Cscript%3Ealert(1)%3C/script%3E

1.黑客利用服务器上的XSS漏洞,构造恶意的链接,发送给受害者,引诱受害者点击这个链接。
2.受害者点击该链接,向服务器发送包含恶意js代码的请求。
3.服务器接收受害发送的请求,没有对参数做检查和过滤,直接将恶意的js代码响应给受害者。
4.受害者收到服务器响应回来的恶意的js代码,并由浏览器解析执行,受到攻击!

打开DVWA靶场测试

一 DVWA low 级别的靶场

二 DVWA 中级难度

换种思维方式  我使用的是Script切换大小写

  1. <Script>alert("我是黑客")</Script>
  2.         <Script>window.alert("我是黑客")</Script>
  3.         <Script>confirm("Hello你好 我是黑客")</Script>

三 高级难度

<?php

header ("X-XSS-Protection: 0");

// Is there any input?
if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
    // Get input
    $name = preg_replace( '/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i', '', $_GET[ 'name' ] );

    // Feedback for end user
    echo "<pre>Hello ${name}</pre>";
}

?>

我使用 <img src=1 onerror=alert(1)> 标签破解的

四 最难模式

分析代码找到解决方案


// Is there any input?
if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
    // Check Anti-CSRF token
    checkToken( $_REQUEST[ 'user_token' ], $_SESSION[ 'session_token' ], 'index.php' );

    // Get input
    $name = htmlspecialchars( $_GET[ 'name' ] );

    // Feedback for end user
    echo "<pre>Hello ${name}</pre>";
}

// Generate Anti-CSRF token
generateSessionToken();

?>

总结

1.黑客利用服务器上的XSS漏洞,构造恶意的链接,发送给受害者,引诱受害者点击这个链接。
2.受害者点击该链接,向服务器发送包含恶意js代码的请求。
3.服务器接收受害发送的请求,没有对参数做检查和过滤,直接将恶意的js代码响应给受害者。
4.受害者收到服务器响应回来的恶意的js代码,并由浏览器解析执行,受到攻击!

实战操作 找漏洞

搜索结果" <Script>alert("我是黑客")</Script>" >> 西安夏溪电子科技有限公司 (xiatech.com.cn)

从0到1学习XSS(最全最细致的攻防实战) - 知乎 (zhihu.com)

info.asp?id=

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1416896.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Python基础017】Python中如何进行异常判断(try...except...的使用)

1、异常判断 在python程序在运行的过程中可能会出现很多错误&#xff0c;比如语法、未定义变量、分母为0等错误&#xff1b;而我们通常使用try...except...语句来处理程序在运行中出现的这些异常&#xff0c;并显示出现错误的原因。此外&#xff0c;我们还可以用try...finally.…

Java多线程基础-18:线程安全的集合类与ConcurrentHashMap

Java标准库提供了很多集合类&#xff0c;但有一些集合类是线程不安全的&#xff0c;也就是说&#xff0c;在多线程环境下可能会出问题的。常用的ArrayList&#xff0c;LinkedList&#xff0c;HashMap&#xff0c;PriorityQueue等都是线程不安全的&#xff08;Vector, Stack, Ha…

AI技术大揭秘:探索人工智能的核心领域与必备技能

随着人工智能的不断进步&#xff0c;AI技术在各个领域都发挥着越来越关键的作用。想要成为AI领域的从业者&#xff0c;不仅需要对整体格局有清晰认识&#xff0c;更要掌握关键技术和必备技能。本文将深入解析AI的核心技术领域&#xff0c;以及在这个前沿领域里需要掌握的技能。…

java 基础学习1

目录 一.注释 二.关键字 三.字面量 四.变量和标识符 五.键盘录入 六.运算符 一.注释 1.单行注释&#xff1a;//注释信息 2.多行注释&#xff1a;/* 注释信息*/ 3.文档注释&#xff1a;/** 注释信息*/ 注:文档注释暂时用不上 二.关键字 关键字: 被Java赋予了特定…

任意一个函数都可以写成一个奇函数与一个偶函数之和的形式

定义 张宇30讲明确指出 f(x)f(-x)必定是偶函数 f(x)-f(-x)必定是奇函数 前提&#xff1a;定义域关于原点对称 由上述结论得到&#xff1a;任意一个函数都可以写成一个奇函数与一个偶函数之和的形式&#xff0c;即使该函数是非奇非偶的。 f(x) 1 2 \frac 12 21​[f(x) f(-x)]…

麒麟系统—— openKylin 安装 mongodb

麒麟系统—— openKylin 安装 mongodb 一、准备工作1. 确保麒麟系统 openKylin 已经安装完毕。 二、下载解压 MongoDB二、增加环境变量三、配置MongoDB创建数据目录创建日志文件运行 四、加入到服务中 MongoDB是一款高性能、开源的NoSQL数据库&#xff0c;因其灵活的数据结构、…

DCNv4:对视觉应用的动态和稀疏算子的重新思考

摘要 https://arxiv.org/pdf/2401.06197.pdf 我们介绍了可变形卷积v4&#xff08;DCNv4&#xff09;&#xff0c;这是一种高效且有效的运算符&#xff0c;专为广泛的视觉应用而设计。DCNv4解决了其前身DCNv3的局限性&#xff0c;通过两个关键改进&#xff1a;1. 去除空间聚合中…

java抽象类概述——abstract关键字用法

前言&#xff1a; 打好基础&#xff0c;daydayup! 抽象类 抽象类概述 在java中有一个关键字叫abstract&#xff0c;代表抽象的意思&#xff0c;可用abstract修饰类&#xff0c;成员方法。 抽象类修饰方法 在方法或类前加上abstract关键字 例1&#xff1a;修饰类&#xff08;在…

AI决策的解构与实践:初探可解释性技术(XAI)

随着人工智能&#xff08;AI&#xff09;技术在各个领域的广泛应用&#xff0c;解释性人工智能&#xff08;XAI&#xff09;的概念备受瞩目。作为开发者&#xff0c;我们深知AI系统的复杂性&#xff0c;以及对于用户和利益相关者来说理解AI决策过程的重要性。本文将深入探讨可解…

跟着pink老师前端入门教程-day12

二十六、HTML5CSS3的提高 1、HTML5 的新特性 HTML5 的新增特性主要是针对于以前的不足&#xff0c;增加了一些新的标签、新的表单和新的表单属性等 这些新特性都有兼容性问题&#xff0c;基本是 IE9 以上版本的浏览器才支持&#xff0c;如果不考虑兼容性问题&#xff0c;可以…

MyBatis详解(5)-- MyBatis注解

MyBatis详解&#xff08;5&#xff09; 注解映射器xml配置文件的缺陷&#xff1a;常用注解1.基本注解&#xff1a;实现简单的增删改查操作。Insert 新增Options(useGeneratedKeys true, keyProperty "主键属性") 主键回填SelectKey ( statement "自增规则&qu…

漏洞复现-EduSoho任意文件读取漏洞(附漏洞检测脚本)

免责声明 文章中涉及的漏洞均已修复&#xff0c;敏感信息均已做打码处理&#xff0c;文章仅做经验分享用途&#xff0c;切勿当真&#xff0c;未授权的攻击属于非法行为&#xff01;文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的…

强化合作!浪潮信息携手业界伙伴筑牢算力底座

以太平金融科技服务&#xff08;上海&#xff09;有限公司&#xff08;以下简称“太平金科”&#xff09;为例&#xff0c;在算力新型基础设施建设方面&#xff0c;该公司一直不遗余力。近日&#xff0c;该公司更携手全球领先的IT基础设施供应商浪潮信息&#xff0c;优化算力基…

腾讯云幻兽帕鲁服务器创建教程,附4核16G服务器价格表

腾讯云0基础搭建帕鲁服务器4C16G14M服务器稳定无卡顿&#xff0c;先下载SteamCMD&#xff0c;并运行&#xff1b;然后下载Palserver&#xff0c;修改服务ini配置&#xff0c;启动PalServer&#xff0c;进入游戏服务器。腾讯云百科txybk.com分享腾讯云创建幻兽帕鲁服务器教程&am…

【Apollo CyberRT】源码分析之 “component” 模块

代码位置 apollo/cyber/component 功能 在自动驾驶系统中&#xff0c;模块&#xff08;如感知、定位、控制系统等&#xff09;在 Cyber ​​RT 下以 Component 的形式存在。不同 Component 之间通过 Channel 进行通信。Component 概念不仅解耦了模块&#xff0c;还为将模块拆…

Maven入门及其使用

目录 一、Maven入门 1.1 初识Maven 1.2 Maven的作用 1.2.1 依赖管理 1.2.2 统一项目结构 1.2.3 项目构建 1.3 Maven坐标 1.4 Maven仓库 1.4.1 Maven仓库概述 二、Maven的下载与安装 2.1 安装步骤 2.1.1 解压安装&#xff08;建议解压到没有中文、特殊字符的路径下。&#xff09…

C语言-指针的基本知识(上)

一、关于内存 存储器&#xff1a;存储数据器件 外存 外存又叫外部存储器&#xff0c;长期存放数据&#xff0c;掉电不丢失数据 常见的外存设备&#xff1a;硬盘、flash、rom、u盘、光盘、磁带 内存 内存又叫内部存储器&#xff0c;暂时存放数据&#xff0c;掉电数据…

【MIdjourne基础】 |MIdjourney基础参数全解析,各类辅助知识

文章目录 1 参数列表1.1 基础参数列表 2 基础参数详解2.1 模型版本选择2.2 模型出图模式选择2.3 基础生图参数2.3.1 --ar2.3.2 --stylize2.3.3 --no2.3.4 --chaos2.3.5 --quality2.3.6 --stop2.3.7 --hd2.3.8 --repeat 1 参数列表 1.1 基础参数列表 模型版本选择 目标参数作…

Redis -- 前置知识

目录 简要 分布式系统 负载均衡 引入缓存 数据库分表 微服务 小结 简要 redis是存储数据在内存中, 定义变量就是在内存中, 但是redis是在分布式系统中, 才能真正发挥威力, 如果只是单机程序, 那么直接通过变量来存储数据的方式将是最优的选择. …

同为科技(TOWE)自动控制循环定时插座

随着科技的发展&#xff0c;智能化家居已成为我们生活的重要组成部分。作为国内领先的智能家居品牌&#xff0c;同为科技&#xff08;TOWE&#xff09;推出的自动控制循环定时插座&#xff0c;无疑将科技与生活完美地结合在一起。 1.外观设计 同为科技&#xff08;TOWE&#x…