XSS漏洞相关知识总结

1.xss的成因

xss主要是针对于js语言的漏洞,利用js语言解析攻击代码进行,从原理上来说,只要是js可以的操作,都可以做到

2.xss的条件

输入之后,页面会再次输出这个xss代码,造成xss漏洞

3.xss的分类于解释

1.常见的xss类型

反射型(非持久型):

攻击者提交数据,页面知识展示该js代码,并且触发,没有把这个js代码保存下来,攻击需要受害者点击攻击者构造好的网络地址,这是比较困难的,一般会配合钓鱼使用,在有些网站这个都不能当做一个漏洞提交,因为这个造成的危害是非常有限的

存储型(持久型):

攻击者提交js代码,服务器保存了这个js代码,再展示出这个代码造成攻击,一般会出现在需要展示的评论,留言板等等,这个造成的危害比较大,因为只要有人点击了相关的网站就会触发js代码,造成攻击

DOM型:

数据的输入与输出都在前端利用js进行,很大程度上我们可以直接看到代码

2.其他类型

mxss(突变型):

网站在对于输入的内容会进行一定的过滤,再进行输出,我们输入的js代码不存在攻击性,但是经过网站过滤输出后这个js代码激发的攻击性。具体可以查看大佬写的:mXSS攻击的成因及常见种类-CSDN博客

uxss(通用型):

浏览器的某些插件导致了js代码的执行

flashxss:

flash文件.swf中可能会引用到js代码,我们也可以尝试查看,用软件jpex工具去反编译swf查看是否调用js代码,寻找漏洞

pdfxss:

在pdf制作当中有一个动作选项,我们可以在里面写js代码,然后提交文件到服务器,当有人查看这个pdf文件的时候就会触发pdf代码,条件就是,服务器查看pdf的时候要直接打开没有过滤,也不是直接下载文件

4.xss的利用

1.需要用到的工具

xss平台XSS平台-仅用于xss安全测试专用 (xssaq.com)

 BeEF-xss(这个最好安装到自己的服务器上面,因为这个是要和外网访问去配合的):可以做到cookie获取,指向跳转,社工钓鱼,配合漏洞

2.权限维持

再有web权限的情况下,我们需要持续位置我们的权限

1.无防护的状态下:xss平台可以实时获取cookie以维持权限

2.有防护状态且无法获取密码:表单劫持--上传js代码利用xss漏洞进行转发远程网站,远程进行劫持

3.钓鱼攻击

按照受害者的状态可以大致分成两种:直接触发和xss漏洞利用触发,直接触发需要一些社工手段,xss漏洞触发利用beef跳转

比如flash钓鱼,我们给受害者发送一个网页,说有好看的内容,假设受害者非常喜欢看蛇蛇,他直接点开了我们设计好的网站,我们要求他去下载一个flash安装包,当然这个安装包也是我们设计好的,里面带有我们的后门,我们可以把这个网站弄成很正规的样子,受害者就开始下载,我们就利用后门上线,xss利用情况也就是受害者点了设计的网站,但是他不去下载安装包,我们用beef偷偷给他安装上的方式

4.浏览器网马

利用xss结合beef后诱惑性语句触发

相关漏洞有:MS14-064,cve-2019-1367,cve-2020-1380

5.修改管理员密码

利用存储型xss写入更改密码的js代码,当然这需要你提前知道怎么写,如果这个网站利用了框架的情况下更容易达成,数据库存储js代码,管理员查看数据库,修改密码

js也可以劫持网页的源代码

5.xss绕过与防御

总体思路:上传js代码->受害者点击->利用js代码把受害者信息发给远程主机->远程主机保存

主要利用:网页跳转+数据传输+保存文本

过滤方式:标签过滤,特殊字符过滤,空格等等

常用的防护手段:
1.过滤特殊字符

2.HTTP_Only设置

php5以上可以设置,通过js 脚本无法获取cookie

3.csp:content-security-policy

利用白名单制度,防止引用外部信息,就算发现了漏洞也无法利用

4.内容长度限制,实体转义

6.案例

以后再写,等我慢慢补

  • 8
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值