01-xss基本原理

核心:攻击的是前端,

一、课程引入

1、开发一个简单的PHP页面,代码如下:

php 复制代码
<?php
// xss 基础演示代码:从浏览器中接受一个URL地址参数名为content
if(isset($_GET['content'])){
    $content=$_GET['content'];
    echo "你输入的内容:$content";
}else{
    echo "请在地址栏输入content值";
}
?>

2、在地址栏输入:http://localhost/shentou/xss/testxss.php?content=hello,world 可以正常输出:你输入的内容是hello,world

3、如果在地址栏输入:http://localhost/shentou/xss/testxss.php?content=

也可以是alert("hello,world")或者试试快来点我

4、如果在地址栏输入:

php 复制代码
http://localhost/shentou/xss/testxss.php?content=<script> var result = 0; for (var i=0; i<999;i++){result+=i;}alert(relslt);</script>

其中+号变成了空格

5、如果地址栏输入

php 复制代码
http://localhost/shentou/xss/testxss.php?content=<script> var result = 0; for (var i=0; i<999;i++){result+=i;}alert(relslt);</script>

xss的核心要求是构造出能够让前端执行的JavaScript代码,所以要求我们对Javascript的代码必须要熟悉

xss也算是注入类的漏洞,JavaScript的代码注入,所以xss漏洞更主要是去攻击系统用户,而不是系统本身

先试探

二、xss概述

xss全程为:Cross site scripting,指跨站攻击脚本,XSS漏洞发生在前端,攻击的是浏览器的解析引擎,

Xss就是让攻击者的JavaScript代码在受害者的浏览器上执行

xss攻击者的目的就是寻找具有xss漏洞的网页,让受害者在不知情的情况下,

在有xss漏洞的网页上执行攻击者的JavaScript代码

XSS是提前埋伏好漏洞陷阱,等着受害者上钩。既然攻击者是执行JavaScript代码,所以攻击的语句应该能让JavaScript运行

JavaScript运行条件:

1)代码位于""标签中

php 复制代码
<script>alert(1)</script>

2)代码位于onclick事件中,此类事件带有onerror,onfocus,onblur,onchange,onmouseover等

php 复制代码
http://localhost/shentou/xss/testxss.php?content=<script>alert(1)</script> <img src="http:/"> http://localhost/shentou/xss/testxss.php?content=<a href="地址">点击有惊喜</a>

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

xss 的攻击payload一定满足上述条件

XSS是以Web站点用户为攻击目标,而不是服务器,所以是一种钓鱼攻击,攻击目标是不确定的。

但是,如果是针对cookie类的攻击,隐含一个目标(越权类的操作):网站管理员,

就可以获取网站管理员的coolie,通过网站管理员cookie登录,可以管理网站

基于xss配置钓鱼网站:自行构造一个与淘宝页面一样的页面,

用户一旦输入用户和密码,将直接发送账密发送到攻击者的后台服务器,

然后将后台账密保存后,再跳转到真实的淘宝网站,让用户完成后续工作,服务器代码类似于

// 获取用户的淘宝账密 username=_POST['username']; password=_POST['possword']; // 将数据保存起来,文件或数据库 // 让他直接跳转到真实的网站 echo "<script>location.href='https://www.taobao.com';</script>"

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

五、xss的危害

1)网页挂马

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

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

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

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

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

7)爆发web 2.0蠕虫

8)蠕虫式的DDOS攻击

9)蠕虫式挂马攻击、刷广告、刷流量、破环网上数据

一言以弊之,具体实现何种危害,完全取决于你的JavaScript代码执行何种功能。

(其实就是js能干什么,我就可以干什么)

相关推荐
jenchoi4132 小时前
【2025-11-05】软件供应链安全日报:最新漏洞预警与投毒预警情报汇总
网络·安全·web安全·网络安全
Jerry2505096 小时前
什么是HTTPS?对网站有什么用?
网络·网络协议·http·网络安全·https·ssl
介一安全10 小时前
【Web安全】JeecgBoot框架SRC高频漏洞分析总结
web安全·网络安全·安全性测试
白山云北诗14 小时前
网站被攻击了怎么办?如何进行DDoS防御?
开发语言·网络安全·php·ddos·防ddos·防cc
vortex51 天前
RDP 启用多用户会话(当前用户无感知)
windows·网络安全·渗透测试
unable code2 天前
攻防世界-Misc-SimpleRAR
网络安全·ctf·misc·1024程序员节
Oxo Security2 天前
【AI安全】检索增强生成(RAG)
人工智能·安全·网络安全·ai
小李独爱秋2 天前
计算机网络经典问题透视:什么是NAPT?它有哪些特点?
网络·网络协议·计算机网络·网络安全·智能路由器
Whoami!2 天前
⸢ 拾叁-Ⅱ⸥⤳ 安全水位评估框架(下):安全水位指标
网络安全·信息安全·安全水位指标
知花实央l2 天前
【Web应用实战】 文件上传漏洞实战:Low/Medium/High三级绕过(一句话木马拿webshell全流程)
前端·学习·网络安全·安全架构