XSS 学习笔记(源码分析)

XSS 学习笔记 源码分析

XSS 简介

XSS 攻击指黑客通过特殊的手段对网页中插入了恶意的JavaScript脚本,从而在用户浏览网页时,对用户浏览器发起Cooike资料窃取,会话劫持、钓鱼欺骗等各种攻击。
XSS 跨站脚本攻击本身对Web服务器没有直接危害,他借助网站进行传播,使网站的大量用户受到攻击。攻击者一般通过留言、电子邮件或其他途径向受害者发送一个精心构造的恶意URL,当受害者在Web浏览器中打开URL的时候,恶意脚本会在受害者的计算机上悄悄运行。

XSS 漏洞出现的原因如下:

  • Web浏览器本身设计不安全,无法判断JS代码是否是恶意的。
  • 输入与输出的Web应用程序交互防护不够。
  • 程序员缺乏安全意识,缺失对XSS漏洞的认知。
  • XSS触发简单,完全防护起来相当困难。‘’

XSS跨站脚本实例

下面的HTML代码就演示了一个最基本的XSS弹窗:

<html>
<head>XSS</head>
<body>
<script>alert("XSS")</script>
</body>
</html>

直接在HTML页面通过

在这里插入图片描述
XSS攻击就是将非法的Javascript代码注入到用户的浏览器,而Web浏览器本身设计是不安全的,它只负责解释和执行Javascript等脚本语言,而不会判断代码本身是否对用户有害。

XSS的危害

XSS可能不如Sql注入、文件上传等能够直接得到较高操作权限的漏洞,但是他运用十分灵活,适当结合其他技术一起使用,XSS的威力还是很大的。
可能对网站和用户带来的危害简单概括如下:

  • 网络钓鱼
  • 盗用用户Cookie信息
  • 劫持用户浏览器
  • 强制弹出广告页面,刷流量
  • 网页挂马
  • 进行恶意操作。如任意篡改页面信息
  • 获取客户端隐私信息
  • 控制手盖着机器向其他网站发起攻击。
  • 结合其他漏洞,如CSRF漏洞,
  • 提升用户权限,包含进一步渗透网站

XSS分类

反射型 XSS (非持久型)

反射型跨站脚本也称非持久型、参数型跨站脚本。反射型XSS只是简单地把用户输入的数据“发射”给浏览器。
假设一个页面把用户输入的参数直接输出到页面上:

<?php
$input = $_GET['param'];
echo "<h1>".$input."</h1>";
?>
http://192.168.241.140/xss.php?param=HELLO%20XSS

会得到如下结果:
在这里插入图片描述

此时提交一个JavaScript代码:

http://192.168.241.140/xss.php?param=%3Cscript%3Ealert(%22XSS%22)%3C/script%3E

发现,alert(xss)在当前页面执行了:
在这里插入图片描述
在查看源代码:
在这里插入图片描述
用户输入的Script脚本,已经被写入页面中,这个就是经典的反射型XSS.
特点:

  • 在户在浏览时触发,而且只执行一次,非持久化,所以成为反射型XSS
  • 反射型XSS恶意代码暴露在URL参数总,并且时刻要求目标用户浏览方可触发

存储型XSS

存储型XSS和反射型XSS的差别仅在于:
存储型&#x

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值