XSS跨站脚本攻击

XSS跨站脚本攻击

XSS漏洞原理

学习目标:
■掌握浏览器渲染前端页面的工作流程和简单的JavaScript语法。
■掌握反射型、 储存型、DOM型Xss的漏洞原理。
■掌握XSS漏洞所导致的危害。

JavaScript是一门编程语言
JavaScript (简称JS) 是- -种具有 函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。

JavaScript的常见功能:
1.嵌入动态文本于HTML页面
2.对浏览器事件做出响应
3.读写HTML元素
4.在数据被提交到服务器之前验证数据
5.检测访客的浏览器信息,控制cookies,包括创建和修改等

6.基于Node. js技术进行服务器端编程

什么是XSS漏洞
XSS全称跨站脚本(Cross Site Scripting),为了不和层叠样式表(CSS)混淆,故缩写为xSS,比较合适的方式应该叫做跨站脚本攻击
跨站脚本攻击是一种常见的web安全漏洞, 它主要是指攻击者可以在页面中插入恶意脚本代码(Javascript代码),当受害者访问这些页面时,浏览器会解析并执行这些恶意代码,从而达到窃取用户身份/钓鱼/传播恶意代码等行为。

xss漏洞原理
与SQL注入类似,XSS的本质也是-种注入,XSS的本质其实是一种"HTML"注入,用户的输入被当做HTML代码执行,从而混淆了原本的语义,产生了新的语义。比如下图中是一个搜索框,黑客可以控制输入的内容,然后进行提交,那么实际在测试漏洞的时候,就可以把注入点的内容替换为Payload进行验证。

xss漏洞分类
存储型(持久型)     一般在留言板、用户发帖、用户回帖模块中
反射型(非持久型    一般在URL、搜索框中,也有在GET或POST的参数中
DOM型     是一种特殊类型的反射型XSS,它是基于DOM文档对象模型的一种XSS漏洞

存储型xss漏洞
存储型XSS也叫持久型XSS,存储的意思就是Payload是有经过存储的,当-个页面存在存储型XSS的时候,XSS注入成功后,那么每次访问该页面都将触发XSS,如留言板:
1、插入留言=>内容存储到数据库
2、查看留言=>内容从数据库提取出来
3、内容在页面显示

反射型XSS漏洞
反射型XSS也叫非持久型XSS,反射型XSS是通过提交内容,然后不经过数据库,直接反射回显在页面上。

DOM型XSS漏洞
通过修改页面的DOM节点形成的XSS,称之为DOM Based xSS。 从效果来说,也是反射型。反射型或存储型是服务端将提交的内容反馈到了htm1源码内,导致触发xss。也就是说返回到htm1源码中可以看到触发xss的代码。

DOM型XSS只与客户端上的JavaScript交互,也就是说提交的恶意代码,被放到了JavaScript中执行,然
后显示出来。

XSS漏洞危害

●钓鱼(伪造登录框,页面)
●Cookie盗取
●获取IP段
●站点重定向
●获取客户端页面信息,例如邮件内容窃取
●XSS蠕虫
●……

XSS漏洞挖掘方式

学习目标:
■掌握XSS漏洞的挖掘方式。
■掌握挖掘xss漏洞过程中常见的绕过方式和常用的Payload。

如何寻找xss漏洞
●寻找WEB应用上的输入与输出口。例如网站输入框、URL参数等等。
●在可控参数中提交等攻击字符串,观察输出点是否对这些攻击字符串进行转义、过滤、消毒等处理。
●如果原样输出,那么必然存在XSS漏洞。

如何触发XSS漏洞
●在script标签中插入恶意代码。
●在事件中插入恶意代码。
●在协议中插入恶意代码。
●…

XSS漏洞利用方式

学习目标:
■掌握XSS攻击平 台的搭建和基础使用。
■掌握Beef平 台的搭建和基础使用。
■熟悉使用Xs漏洞盗取Cooki e伪造用户登录的攻击流程。

XSS攻击平台
创建JS代码,使用default.js作为模板, 修改URL地址为平台部署地址,点击生成Payload
XSS攻击成功后,当别人访问时触发JavaScript代码时,攻击平台就会收到客户端的相关信息。

Beef
Beef(The Browser Exploitation Framework Project )是WEB框架攻击平台。Beef利用简单的XSS漏洞, 通过一段编写好的JavaScript (hook. js)控制目标主机的浏览器,通过目标主机浏览器获得该主机的详细信息,并进一步扫描内网, 配合metasploit绝对是内网渗透一大杀器。

盗用Cookie实战

第一步:插入恶意JavaScript代码触发XSS漏洞,这里以Beef为攻击平台,DVWA作为含有漏洞的系统

第二步: Beef. 上线后查看客户端的Cookie信息,拿到代表用户身份凭证的PHPSESSID

第三步:使用一个新的浏览器或无痕模式访问DVWA,发现需要密码认证,使用F12打开浏览器开发具,修改Cookie值为第二步获取到的Cookie值,点击刷新后发现绕过登陆验证进入系统

XSS漏洞防御方式

学习目标:
掌握常见的XSS漏洞防御方式。

防御XSS漏洞的方法可以归纳为三个层面:
1、代码层面  输入过滤、输出编码(转义) ;配置Http0nly头
2、架构层面  部署安全设备,例如WAF和IDS
3、业务层面  控制客户端输入规则;控制输入的长度, 检测输入的合法性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值