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

相关推荐
白猫不黑10 小时前
大学网安方向学习路线:零基础与有基础的学习顺序整理
学习·web安全·计算机·网络安全·信息安全·编程·src漏洞
数据知道17 小时前
哈希与密码存储——bcrypt、Argon2、盐值与彩虹表
网络·算法·安全·网络安全·密码学·哈希算法
sbjdhjd17 小时前
从 assert 动态调用报错到临时文件链路:PHP 5.6 与 7.3 授权靶场中的短 payload 复盘 | (17字符绕过)
安全·网络安全·数据挖掘·开源·云计算·php·字符绕过
sbjdhjd17 小时前
从 7 字符文件名拼接到二维数组取值:PHP 无参函数限制下的受控靶场复盘 | (7字符绕过)
网络·nginx·安全·网络安全·云计算·php·apache
一条泥憨鱼19 小时前
【从0开始学习计算机网络】| TIME_WAIT 为什么是 2MSL,CLOSE_WAIT / TIME_WAIT 堆积怎么排查
服务器·开发语言·网络·计算机网络·网络安全
Best-Wishes20 小时前
sqlmap安全测试使用指南
网络安全
Bruce_Liuxiaowei1 天前
从两个中危漏洞读懂 CVSS 评分体系:向量拆解、数学计算与实战观察
安全·网络安全·漏洞评级
我的小卷呀2 天前
Linux ip 命令底层逻辑与实战指南
linux·运维·c语言·网络协议·tcp/ip·网络安全
泛联新安2 天前
“天神”空降:泛联新安受邀参加第八届“纵横”网络空间创新论坛
网络安全·自动化·代码规范·漏洞挖掘·代码安全·代码漏洞扫描·ai+可信开发
HackTwoHub2 天前
AI自动化信息收集赋能渗透测试!集成多款主流扫描工具,多维智能评分,精准锁定高危资产
运维·人工智能·安全·web安全·网络安全·自动化·系统安全