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能干什么,我就可以干什么)

相关推荐
Peggy·Elizabeth2 小时前
APISIX 联动雷池 WAF 实现 Web 安全防护
网络安全
GZ_TOGOGO13 小时前
【2024最新】华为HCIE认证考试流程
大数据·人工智能·网络协议·网络安全·华为
0DayHP16 小时前
HTB:Ignition[WriteUP]
网络安全
Hugo_McQueen1 天前
pWnos1.0 靶机渗透 (Perl CGI 的反弹 shell 利用)
linux·服务器·网络安全
学习溢出1 天前
深入了解 net user 命令:上一次是谁登录的?
windows·网络安全·系统安全
Мартин.1 天前
[Meachines] [Easy] Sea WonderCMS-XSS-RCE+System Monitor 命令注入
前端·xss
CyberMuse2 天前
网络安全cybersecurity的几个新领域
网络安全
HEX9CF2 天前
【CTF Web】Pikachu xss之href输出 Writeup(GET请求+反射型XSS+javascript:伪协议绕过)
开发语言·前端·javascript·安全·网络安全·ecmascript·xss
kuber09092 天前
APISIX 联动雷池 WAF 实现 Web 安全防护
网络安全