首页 > 其他分享 >跨站脚本攻击(XSS)

跨站脚本攻击(XSS)

时间:2022-11-19 01:33:37浏览次数:44  
标签:脚本 XSS 跨站 xss 网站 用户 攻击 攻击者

跨站脚本攻击(XSS)

漏洞描述

    web程序代码中对用户提交的参数未做过滤或者过滤不严格,导致参数中的特殊字符破坏了HTML页面的原有逻辑,攻击者可以利用改漏洞执行恶意的html/js代码、构造蠕虫、篡改页面实施钓鱼攻击、以及诱导用户再次登录,然后获取其登录凭证等。

攻击原理

    XSS原称未CSS(Cross-Site Scripting),因为和层叠样式表(Cascading Style Sheets)重名,所以该称为XSS(X一般有未知的含义,还有扩展的含义)。XSS攻击涉及到三方:攻击者,用户,web server.用户是通过浏览器访问web server上的网页,XSS攻击就是攻击者通过各种方法,在用户访问的网页中插入自己的脚本,让其在用户访问网页时,在浏览器中进行执行。攻击者通过插入的脚本的执行,来获取用户的信息,比如cookie,发送到攻击者自己的网站(跨站了),所以称为跨站脚本攻击。xss可以分为反射xss和持久型xss,还有DOM Based XSS。(简单来说:xss就是在用户浏览器中执行攻击者定制的脚本。)

    XSS攻击对web 服务器本身虽然无直接的危害,但是它借助网站进行传播,对网站用户进行攻击,窃取网站用户账号身份信息等,从而也会对网站产生较严重的威胁。

XSS攻击可导致以下危害

    1、钓鱼欺骗:最典型的就是利用目标网站的反射型跨站脚本漏洞将目标网站重定向到钓鱼网站,或者通过注入钓鱼JavaScript脚本以监控目标网站的表单输入,甚至攻击者基于DHTML技术发起更高级的钓鱼攻击。

    2、网站挂马:跨站时候,攻击者利用iframe标签嵌入隐藏的恶意网站,将被攻击者定向到恶意网站上、或者弹出恶意网站窗口等方式,进行挂马。

    3、身份盗用:Cookie是用户对于特定网站的身份严重标志,XSS攻击可以盗窃用户的cookie,从而利用改cookie盗取用户对该网站的操作权限。

    4、盗取网站用户信息:当窃取到用户cookie从而获取用户身份时,攻击者可以盗取到用户对网站的操作权限,从而查看用户隐私信息。

    5、垃圾信息发送:在社交网站社区中,利用xss漏洞借用被攻击者的身份发送大量的垃圾信息给 特点的目标群体。

    6、劫持用户web行为:一些高级的xss攻击甚至可以劫持用户的web行为,从而监视用户的浏览历史、发送与接收的数据等等。

    7、xss蠕虫:借助xss蠕虫病毒还可以用来打广告、刷流量、挂马、恶作剧、破坏数据、实施DDos攻击等。

攻击样例

image
改payload经过url进行编码,经过解码后如下。
image

修复处置建议

    xss漏洞本质上是一种html注入,也就是将html代码注入到网页中。那么其防御的根本就是在将用户提交的代码显示到页面上时候做好一系列的过滤和转义

    1、过滤输入的数据,对例如:“ ‘ ”,“ “ ”,” < “,” > “,” on* “,script、iframe等危险字符进行严格的检查。这里的输入不仅仅是用户可以直接交互的输入接口,也包含HTTP请求中的Cookie中的变量 ,HTTP请求头部中的变量等。

    2、不仅验证数据的类型,还要验证其格式、长度、范围和内容,

    3、不仅在客户端做数据的验证与过滤,管家的过滤不足在服务端进行。

    4、对输入到页面的数据进行相应的编码转换,如hHTML实体编码、JS编码等。对输出的数据也要检查,数据库里的值有可能会在一个大网站的多处都有输出,即使在输入做了编码操作,在各处的输出点也要进行检查。

标签:脚本,XSS,跨站,xss,网站,用户,攻击,攻击者
From: https://www.cnblogs.com/kingjinsd/p/16905348.html

相关文章

  • 针对zabbix二次开发的监控脚本执行timeout时,zabbix-server性能消耗增大问题,开发处理ti
    脚本内容:#!/bin/sh####################################################Scripttohandleexecutiontimeoutstates#scriptbyshell#writedbyDeliver#huchangx......
  • C#利用js脚本实现配置的文本表达式计算
    usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingMSScriptControl;namespaceMyQuery.CSharpScript{  ///......
  • 二级联动 js脚本
    //二级联动说明:联动的select的值必须匹配allinfo为二级所有值的数组格式为value|text  //贾世义functionselectChange(obj,changeId,allinfo){   varselV......
  • Shell脚本的基础用法介绍
    Shell脚本介绍Shell一个命令行解释器,它的作用是将输入的命令加以解释并传给系统执行,是用户与系统沟通的桥梁,而Shell脚本是一种脚本语言,支持逻辑判断,循环执行......
  • 《Shell脚本实例 —— linux rcs启动脚本添加》
    linuxrc(bin/busybox)-->etc/inittab--> etc/init.d/rcS--> etc/init.d/Sxx linuxrc是指向busybox的软连接 开机自动执行脚本或命令:1.写一个脚本,然后放到etc......
  • 《Shell脚本学习 —— 后台检测应用程序运行》
    1.守护脚本一般用来检测项目中程序是否奔溃退出,以及程序重启多次后直接重启整个机器。#!/bin/shyd_media_app&count=0whiletruedostillRunning=$(ps|......
  • 定时自动备份【脚本】
    建立执行脚本vi/home/Network_Config_Backup/start.sh#!/bin/bash#使用该脚本前需要安装tftp,xinetd,expect#取时间戳BACKUP_DATA=`date+%Y%m%d`#创建时间戳的备......
  • xsslabs通关教程
    通过练习xsslabs可以熟练掌握XSS攻击的技巧有助于更加深刻的理解XSS攻击的运用与流程xsslabs下载地址:https://codeload.github.com/do0dl3/xss-labs/zip/refs/heads/mast......
  • bash脚本批量启动停止jar包
    #!/bin/sh#端口号PORTS=(100868380858088890080878089)#系统模块MODULES=(registrygatewayuserwelcowisdomauthresources)#系统模块名称MODULE_NAMES=(注册......
  • kafka集群启动脚本失效
    问题描述:之前写的kafka集群启动脚本,今天重启服务器后失效了,只启动了本地的kafka1,另一台虚拟机上的kafka2没启动也没有日志#!/bin/bashcase$1in"start"){......