当前位置: 首页 > news >正文

Web(10)XSS漏洞

XSS跨站脚本攻击

XSS是什么

XSS(cross-site-scripting) 即是跨站脚本攻击,是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。这类攻击通常包含了 HTML 以及用户端脚本语言。

简洁点来说,XSS 就是利用了网站对用户输入没有过滤完全的漏洞,上传恶意代码到网站页面上,使得其他用户加载页面时执行攻击者的恶意代码,达到窃取用户敏感信息(如 cookie)的目的,根据种类不同,一般又分为 反射型 XSS 攻击,存储型 XSS 攻击,DOM 型 XSS 攻击

反射型XSS:只是简单的把用户输入的数据反射给浏览器,简单的说,黑客往往需要诱使用户点击一个恶意链接,才能攻击成功(服务器中没有这样的页面和内容)

低级:

出现弹框(alert起作用了,弹框并没有危险),说明存在XSS漏洞

利用XSS平台盗取cookie等信息

Cookie:  PHPSESSID=iv009qgq5m6at418g41f0gga9e; security=low

测试url:  http://127.0.0.1:8080/vulnerabilities/xss_r/

登录不进去,不知道怎么回事????

利用xss漏洞制作钓鱼网站

<iframe src='https://cn.bing.com'  width=’1500px’ height=’900px’></iframe>

中级,利用大小写绕过

相比与low级别源码,medium代码中多了¥name=str_replace(‘<script>’,’’,$_GET[‘name’]);

意思是:把$_GET[‘name’]中的<script>替换为‘’,也就是说把<script>这个标签进行了过滤用来防止xss,需要注意的是str_replace()区分大小写

高级:通过img,body等标签的事件或者iframe等标签的src注入恶意的js代码:

<img src=1 οnerrοr=alert(/xss/)>

存储型XSS:代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码。如果没有过滤或过滤不严,那么这些代码将存储到服务器中,用户访问该页面的时候触发代码执行。这种XSS比较危险,容易造成蠕虫,盗窃cookie(虽然还有种DOM型XSS,但是也还是包括在存储型XSS内)

  1. Low

修改最大输入长度

输入如下:<script>alert(1)</script>,显示出弹窗

  1. Medium

采用代码:双写绕过<sc<script>ript>alert(/xss/)</script>

          还可以大小写绕过<Script>alert(/xss/)</script>

  1. High

这里使用正则表达式过滤掉了<script>标签,但是忽略了img,iframe等其他危险的标签,因此name参数依然存在存储型XSS

抓包该name参数为<img src=1 οnerrοr=alert(1)>

DOMXSS

Low:

Medium:
></option></select><iframe οnlοad=alert(/xss/)>

High:

English#</option></select><iframe οnlοad=alert(/xss/)></option>

相关文章:

  • Linux网络编程之TCP/IP实现高并发网络服务器设计指南
  • android实战之TextView多行靠左实现
  • AI赋能金融创新:ChatGPT引领量化交易新时代
  • 通过three.js玩转车展项目
  • 【我与java的成长记】之面向对象的初步认识
  • Adobe InDesign各版本安装指南
  • 如何进行镜像管理
  • React 调试
  • 脱壳后多dex文件合并进apk反编译
  • 如何使用Docker将.Net6项目部署到Linux服务器(二)
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • HttpURLConnection发送各种内容格式
  • mysql怎么只允许指定IP访问
  • 书生·浦语大模型实战营——两周带你玩转微调部署评测全链路
  • Jenkins的邮箱配置和插件下载
  • 78. Subsets
  • Android框架之Volley
  • Effective Java 笔记(一)
  • express如何解决request entity too large问题
  • Javascripit类型转换比较那点事儿,双等号(==)
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • Twitter赢在开放,三年创造奇迹
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 回流、重绘及其优化
  • 深入浏览器事件循环的本质
  • 微信小程序开发问题汇总
  • 找一份好的前端工作,起点很重要
  • postgresql行列转换函数
  • 带你开发类似Pokemon Go的AR游戏
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • (09)Hive——CTE 公共表达式
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转)EXC_BREAKPOINT僵尸错误
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别
  • .NET Core 中插件式开发实现
  • .NET 读取 JSON格式的数据
  • .netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项
  • .net反混淆脱壳工具de4dot的使用
  • /*在DataTable中更新、删除数据*/
  • @data注解_一枚 架构师 也不会用的Lombok注解,相见恨晚
  • [ 攻防演练演示篇 ] 利用通达OA 文件上传漏洞上传webshell获取主机权限
  • [100天算法】-目标和(day 79)
  • [C#]winform部署yolov5-onnx模型
  • [CISCN2019 华北赛区 Day1 Web2]ikun
  • [hdu2196]Computer树的直径
  • [LeetCode]Pow(x,n)
  • [NOIP2004] 提高组 洛谷P1090 合并果子
  • [NYOJ 536] 开心的mdd
  • [office] excel2003进行可视性加密的方法 #媒体#其他#知识分享
  • [PAT] 1041 Be Unique (20 分)Java
  • [PyQt] 使用.qrc 生成资源文件供程序中使用