教大家如何找XSS漏洞并且利用

  • 首先我们得知道什么是XSS漏洞?

(一)什么是XSS漏洞?

cross sitescript跨站脚本攻击,为了避免和css重复,就叫XSS了,是客户端脚本安全中的头号大敌。

(二)XSS有哪些类型?

反射型:简单的描述就是把用户输入的数据反射给浏览器,这个数据可能是Html代码或者js代码,反射后让浏览器去执行。

存储型:把用户输入的数据(比如恶意的js代码)存储在服务器端,具有很强的稳定性,危害时间长。

DOM Based XSS:这种不是按照存储在哪里来划分的,可以说是反射型,由于历史原因,归为一类,通过改变DOM结构形成的XSS称之为DOM Based。

(三)XSS的危害有哪些?

1、劫持Cookie,cookie中一般加密保存了用户的登录凭证,浏览器发起的所有请求都会自动带上,如果Cookie被盗取,也就是说用户不用通过密码而直接登录你的账户。

Cookie设置HttpOnly属性,能够起到四两拨千金的作用,另外cookie可以绑定用户客户端信息,例如ip或者umid信息。

2、构建Get和Post请求,如果cookie按照上述进行了设置,则无法直接劫持cookie来使用了,但是XSS可以在javascript中构建get或者post请求,来实现自己的攻击。

例如下面的一段代码:

var img =document.createElement(‘img’);

img.src=”http://blog.cccc.com?m=delete&id=212112”;

document.body.appendChild(img);

只要让用户执行这段脚本,就能发起get请求,攻击者通过XSS诱导用户来执行。

XSS的攻击过程都是在浏览器通过执行javascript脚本自动进行,缺少与用户交互的过程。例如在POST的请求中,如果需要输入验证码,Js代码无法解析验证码,攻击也就无法实现。但是针对验证码这种情况,如果XSS可以通过把验证码的图片发到远端攻击服务器,服务器解析验证码然后把结果返回给js代码,js获取后继续进行攻击,不过就是成本有点高。

3、XSS钓鱼

上面模拟用户的POST请求貌似成本有点高,攻击者可以将XSS和钓鱼结合在一起,例如通过javascript代码模拟出网站的登录框,用户输入用户名和密码后,XSS将这些信息发送到服务器端,用来进行攻击。

4、获取用户系统信息

此外XSS还可以识别用户的浏览器信息、用户安装的软件以及用户真实的IP等信息。

5、XSS Wrom

这是XSS的一种终极利用方式,破坏力和影响力是巨大的,一般来说,用户直接发生交互行为的页面,如果存在存储型XSS,则比较容易发起Wrom攻击。

(四)如何防御XSS呢?

1、给关键的Cookie设置HttpOnly属性

这样能够避免js读取Cookie信息(设置后有助于缓解XSS,但是XSS除了劫持Cookie之外,还可以模拟用户的身份进行操作)。

2、进行输入检查

如果仅仅在客户端通过JS来做输入校验,有可能会被攻击者绕过,WEB开发中的普遍做法是同时在客户端和服务端做校验。这种输入检查的方式也称之为XSS Filter。

3、输出检查

一般说来,除了富文本输出之外,在变量输出到HTML页面时,可以使用编码或者转义的方式来防御XSS攻击。

4、防御DOM BasedXSS

前面提到的集中方法,对于这种类型不太适用,需要特别对待,那如何才能防御呢?

首先是$var输出到<script>是,应该执行一次javasriptEncode,其次在doument.write输出到HTML页面时,如果是输出到事件或者脚本,可以再做一次javaScriptEncode,如果是输出到HTML内容或者属性,则可以做一次HtmlEncode。

上面提到的这些防御方法都属于安全生产的环节,也就是说实在开发同学写代码的时候要特别注意,这种是否做的规范,可以通过工具扫描代码的方式来实现,也就是白盒测试,如果代码没有做输入或者输出检查,则发报告提示开发来进行修改。但是有些场景白盒没法覆盖到,例如输出jsonp类型的接口,对于callback参数的原味输出,白盒有时候就扫不出来,这时候,可以通过黑盒测试工具,模拟入参的各种情况,也就是穷举,来构造,如果发生了XSS请求,则发出报告即可。

那么我将教大家如何找到XSS漏洞:

1.准备工具:BruteXSS丶火狐浏览器

BruteXSS这个工具我会打包给大家,火狐浏览器大家可以去百度自行下载。

2.要安装Python2.7环境(我会打包)

3.首先安装Python2.7环境,安装后吧我们的BruteXSS放到Administrator这个目录下。那么大家肯定会问为什么要放到这个目录下呢?其实很简单,就是为了方便我们利用命令行来打开这个工具。

4.大家可去点一下网站,看看URL有没有类似于这样的:

也就是url中带‘=’的,那么找到后我们可以吧URL复制下来,拿到我们的BruteXSS里

那么准备工作完成后我们开始进入正题:

测试站点:http://xxx.com/search.aspx?searchtype=0&fieldOption=title&Keyword=&page=2

1.我们win+R运行CMD

2.用cd命令打开brutexss:

  • cd brutexss


http://www.liuwx.cn/content/uploadfile/201706/09dd1497161975.png

3.然后用命令打开我们的BruteXSS的PY脚本:

  • brutexss.py

可以看到,进入了BruteXSS的命令行界面:

它上面有选择方法,问你时候GET还是POST请求,我们选择GET(当然遇到POST的话就用POST)我们这里按g就可以了

http://www.liuwx.cn/content/uploadfile/201706/4a471497162198.png

4.我们把疑似XSS的URL复制进去:

默认回车就行了,他用他默认的字典来跑,当然我们可以用他其他字典,之前我讲过了,大家自己吧字典的文件名COPY进去就好了,然后回车

http://www.liuwx.cn/content/uploadfile/201706/4a471497162484.png

5.从上图可以看到已经检测出XSS漏洞了,我们去验证一下是否存在XSS,这时候就需要火狐浏览器来调试了

可以看到确实是存在XSS漏洞的~~~

那么就写到这吧,希望能帮助到大家。

            如果你对网络安全入门感兴趣,那么你点击这里👉CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

如果你对网络安全感兴趣,学习资源免费分享,保证100%免费!!!(嘿客入门教程)

👉网安(嘿客)全套学习视频👈

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

👉网安(嘿客红蓝对抗)所有方向的学习路线👈

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

 学习资料工具包

压箱底的好资料,全面地介绍网络安全的基础理论,包括逆向、八层网络防御、汇编语言、白帽子web安全、密码学、网络安全协议等,将基础理论和主流工具的应用实践紧密结合,有利于读者理解各种主流工具背后的实现机制。

在这里插入图片描述

面试题资料

独家渠道收集京东、360、天融信等公司测试题!进大厂指日可待!
在这里插入图片描述

👉嘿客必备开发工具👈

工欲善其事必先利其器。学习客常用的开发软件都在这里了,给大家节省了很多时间。

这份完整版的网络安全(客)全套学习资料已经上传至CSDN官方,朋友们如果需要点击下方链接也可扫描下方微信二v码获取网络工程师全套资料【保证100%免费】

在这里插入图片描述

如果你有需要可以点击👉CSDN大礼包:《嘿客&网络安全入门&进阶学习资源包》免费分享

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值