网络安全-XSS跨站脚本攻击(基础篇)

news/2025/1/13 19:44:42/

漏洞扫描的原理

1.跨站脚本攻击介绍

 xss跨站脚本攻击:

xSS 全称(Cross site Scripting )跨站脚本攻击,是最常见的Web应用程序安全漏洞之一,位于OWASP top 10 2013/2017年度分别为第三名和第七名,XSS是指攻击者在网页中嵌入客户端脚本,通常是JavaScript编写的危险代码,当用户使用浏览器浏览网页时,脚本就会在用户的浏览器上执行,从而达到攻击者的目的。(客户端执行javaScript恶意代码,从而影响客户端使用)
从上面中的一段话,可以得知,XSS属于客户端攻击,受害者最终是用户,但特别要注意的是网站管理人员也属于用户之一。这就意味着XSS可以进行“服务端”攻击,因为管理员要比普通用户的权限大得多,一般管理员都可以对网站进行文件管理,数据管理等操作,而攻击者一般也是靠管理员身份作为“跳板”进行实施攻击。(服务端攻击:服务端管理员管理页面时也可能受到攻击)
XSS攻击最终目的是在网页中嵌入客户端恶意脚本代码,最常用的攻击代码是javascript语言,但也会使用其它的脚本语言,例如∶ActionScript、VBscript。而如今的互联网客户端脚本基本是基于Javascript,所以如果想要深入研究XSS,必须要精通Javascript。
XSS换句话说,JavaScript能做到什么效果,XSS的胃口就有多大。这完全不是危言耸听。javascript可以用来获取用户的cookie,弹出窗口,那么存在XSS漏洞的网站,XSS 就可以用来盗取用户Cookie,废掉页面,导航到恶意网站!更高端的XSS 代码完全可以进行监控你的键盘操作,模仿Windows注销界面,诱导你输入开机密码!而攻击者需要做的仅仅是向你的代码中注入恶意代码。

HTTP方式进行访问,比如www.qq.com这个网站,攻击时,就任然是访问这个网站没但是在攻击时,在网站后面加上相应的恶意代码文件,www.qq.com/test.JavaScripts恶意代码,只要登陆了就会截取cookie信息。

02.跨站脚本攻击产生的原因

产生的原因:程序对输入输出的不都严格, 

 很多正规大型网站都做得有输入输出控制,会有xss防范措施,如淘宝输入含有恶意代码,会显示会对网站造成威胁。

 但如果网站有漏洞,就会在执行代码时,进行攻击,并直接显示出网站用户口令

(burp suite -proxy:对浏览器抓包、重放、修改、自动化操作,猜测、暴力破解+pikachu平台)

03.跨站脚本攻击造成的危害

--首先对于那些半年没有更新的小企业网站来说,发生XSS漏洞几乎没有什么用。一般在各类的社交平台,邮件系统,开源流行的Web应用,BBs,微博等场景中,造成的杀伤力却十分强大。获取用户隐私信息--使用户隐私数据泄露)

--劫持用户cookie是最常见的跨站攻击形式,通过在网页中写入并执行脚本文件(多数情况下是JavaScript脚本代码),劫持用户浏览器,将用户当前使用的sessionlD信息发送至攻击者控制的网站或服务器中。(cookie相当于你的网络身份证--获取用户登录信息
--“框架钓鱼"。利用JS脚本的基本功能之一︰操作网页中的DOM树结构和内容,在网页中通过JS脚本,生成虚假的页面,欺骗用户执行操作,而用户所有的输入内容都会被发送到攻击者的服务器上.
--挂马(水坑攻击)(在网站挂上木马信息--在用户电脑上加载木马程序

 --有局限性的记录键盘行为(记录用户的键盘操作行为

04.跨站脚本攻击分类介绍

 (1)反射性xss攻击(持久型xss攻击)

交互的数据不会存在数据库中,只是简单的将用户输入的数据反射给浏览器,一次性,所见即所得,

真实防范时,需要了解代码的结构,判断哪些地方不完善,会被攻击者利用。

容易造成反射性攻击的代码文件:xss_reflect_get.php

 反射性攻击的代码文件:

  

05.跨站脚本攻击存在地方

html context

Attribute context

url context

style context

06.跨站脚本攻击测试/探测方法

工具扫描、APPscan,AWVS

手工方式。

攻击原理:

(1)利用原有网站url地址获取用户数据信息 cookie用户登录信息,

(2)利用自己网站url地址获取用户数据信息,cookie用户登录信息。

攻击步骤:

--1--客户端用户访问某个网站,跳出登陆界面,用户输入登录信息,然后将错误url发送给用户,

--2--客户开始登陆,将错误信息发送给黑客平台,

--3--黑客用户在后台查看获取用户登录信息,并将自己的报文请求替换为自己的信息。

--4--用户访问黑客网站,采集用户cookie信息

--5--黑客在后台获取到cookie信息,利用cookie访问其他正规网站。

07.跨站脚本攻击实战演示

利用pikachu漏洞平台进行演练学习


http://www.ppmy.cn/news/1562872.html

相关文章

【深度学习基础与pytorch基础】1机器学习的定义与分类以及机器学习、深度学习和人工智能之间的关系

一、机器学习的定义 1.定义 1.1 学术定义 机器学习(Machine Learning)是一门让计算机能够通过数据学习规律,从而在未明确编程的情况下自动改进其性能的技术。 来源:Arthur Samuel在1959年首次定义:“机器学习是使计…

移动端屏幕分辨率rem,less

谷歌模拟器:能直接看到移动端效果 屏幕分辨率 右键电脑桌面 ,点击显示设置 PC端是逻辑分辨率,移动端代码也是参考逻辑分辨率 网页端宽度和逻辑分辨率尺寸相同 手机屏幕尺寸不同,网页宽度均为 100% 所以就需要添加视口标签&#x…

TCP/IP 前传:破晓与传奇

再次从回顾分组交换网开始。美苏争霸的 1950 年代后期,美军需要一个能抵御核打击的健壮通信网络,保罗・巴兰提出一个去中心化方案被大美丽国军方采纳,当将此方案交给世界上最懂电话网的 AT&T 去实现时,却被高傲的 AT&T 高…

C#语言的软件工程

C#语言的软件工程 引言 在信息技术飞速发展的今天,软件工程作为一种系统化、规范化的软件开发方法论,逐渐成为了软件开发行业的标准。C#语言作为一种现代化的编程语言,凭借其强大而易用的特性,广泛应用于企业级应用、游戏开发和…

C# 告别FirstOrDefault

一、开篇:FirstOrDefault 的 “江湖地位” 在 C# 编程的世界里,FirstOrDefault 可谓是一位 “常客”,被广大开发者频繁地运用在各种项目场景之中。无论是 Windows 窗体应用程序,需要从数据集中检索第一条记录,或是满足…

【深度学习】多目标融合算法(二):底部共享多任务模型(Shared-Bottom Multi-task Model)

目录 一、引言 1.1 往期回顾 1.2 本期概要 二、Shared-Bottom Multi-task Model(SBMM) 2.1 技术原理 2.2 技术优缺点 2.3 业务代码实践 三、总结 一、引言 在朴素的深度学习ctr预估模型中(如DNN),通常以一个行…

Golang笔记——切片与数组

本文详细介绍Golang的切片与数组,包括他们的联系,区别,底层实现和使用注意事项等。 文章目录 数组与切片的异同相同之处区别 切片(Slice)源码解析Go 源码中 len() 和 cap() 定义长度与容量示例 append() 函数Go 切片扩…

一文通透OpenVLA及其源码剖析——基于Prismatic VLM(SigLIP、DinoV2、Llama 2)及离散化动作预测

前言 当对机器人动作策略的预测越来越成熟稳定之后(比如ACT、比如扩散策略diffusion policy),为了让机器人可以拥有更好的泛化能力,比较典型的途径之一便是基于预训练过的大语言模型中的广泛知识,然后加一个policy head(当然,一开…