xss注入面试题

XSS全称为:Cross Site Scripting,指跨站攻击脚本,XSS漏洞发生在前端,攻击的是浏览器的解析引擎,XSS就是让攻击者的JavaScript代码在受害者的浏览器上执行。

JavaScript运行条件:

(1)代码位于”“标签中,如

<script>alert(1)</script>

代码位于超链接的href属性中,或者其他类似属性中

<a href="javascript:alert(1)">点击有惊喜</a>

利用iframe完成XSS攻击,将攻击者的模仿页面嵌入被攻击网页中:

<iframe src="https://www.tabao.com"></iframe>
xss原理

服务器对用户提交的数据过滤不严,导致浏览器把用户的输入当成了JS代码并直接返回给客户端执行,从而实现对客户端的攻击目的。

xss类型

反射性 (一次性的)

比较容易被发现。通常恶意连接会被修改成短链接,或钓鱼图片的形式。

存储型(永久性)

因为存储型XSS的页面会将用户输入的内容存入到数据库内,所以当其他人每访问一次的时候,服务器都会从数据库将攻击者输入的内容调取到前端浏览器解析,因此每一次访问就相当于一次XSS攻击。

DOM型(大部分都属于反射性的一种)

主要利用js使用dom对前端html进行操作时候产生的漏洞。DOM型XSS的难点就在于通过阅读JavaScript来确定输出的位置,才好构建输入的payload。

xss危害

(1)网页挂马,利用浏览器挖矿等

(2)盗取用户Cookie并扮演用户角色。

(3)DOS(拒绝服务)客户端浏览器。

(4)钓鱼攻击,高级的钓鱼技巧

(5)删除目标文章、恶意篡改数据、嫁祸。

(6)劫持用户Web行为,甚至进一步渗透内网。

(7)蠕虫式的 DDoS 攻击。

(9)蠕虫式挂马攻击、刷广告、刷浏量、破坏网上数据

xss防御

(1).对输入和URL参数进行过滤(最好使用白名单),对输出进行编码。

(2).使用内容安全策略(CSP)是对抗XSS的深度防御策略。

(3).做实体字符编码,htmlspecialchars(),函数功能就是把特殊符号,比如尖括号,引号,&转换成实体编码

(4)正则表达式或字符串判断

(5)使用httponly 限制js读取cookie信息

xss绕过

前端限制,直接用F12开发者选项修改JS既可,或者用burpsuite绕过。

字符过滤,双写,大小写绕过,通过注释符绕过,也可以通过换行符绕过。

测试其他标签

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值