2018X-NUCA------auth2

版权声明:莫者 https://blog.csdn.net/weixin_40709439/article/details/84531958

title:2018X-NUCA

第一道web题就让人爆炸,瞬间怀疑人生

题目地址:http://106.75.66.211:8000/main/login?next=/main/index

是绕过stata的auth2.0,第三方授权绑定目标用户的漏洞。

个人理解:

攻击者在登陆网站前,进行第三方的授权登陆,一般使用qq,微博进行第三方授权。具体利用:
点金第三方授权按钮,进入授权页面,此过程需要输入你的微博账号密码进行授权,(如果没有先进行注册)。点击授权,会返回我们两个参数的值,code和stata。这相当于我们这个微博账号的授权令牌。受害者用户在登陆自己的账号后,如果点击了带有攻击者的这个令牌的链接,就会造成受害者的账号绑定了攻击者的微博账号,这样攻击者就可以用微博账号进行登陆受害者的用户了。而这一漏洞前提是要受害者点击了伪造的攻击链接和登陆了账号。
网上爆出了很多实例利用方法,主要是利用xss+csrf也就是xsrf进行攻击,受害者在登陆前提下,后台系统会自动浏览xsrf发送的攻击链接,造成第三方授权绑定。

而比赛中的这道题考的就是这个漏洞利用。
我们需要构造带有我们微博授权绑定的令牌的链接,通过post bug 提交构造链接。

我找到了我注册的微博的令牌,但在题目中,提交的链接的长度有限制,只能提交65的字符长度。

后来在复现时,看来大佬们的wp,发现http://106.75.66.211:8000/main/login?next=/main/index,有个next变量可以构造远程主机访问,

在远程主机上构造如下页面:

<html>
 <script>window.open('http://106.75.66.211:8000/main/oauth/?state=L3TY0uHc3B&code=nICeZTIif50fgliGcPV3bG64PqpUPNqD3oOyIXgu')</script>
</html>

也就是http://www/xxx/com?next=远程主机ip+构造的文件.html

这样就绕过了短链接的标准

提交后,用绑定的微博账号登陆,登陆到管理员账号,得到flag

百度如何跳转到指定连接
https://blog.csdn.net/u013091013/article/details/53906594

window.open()详解

·<script type="text/javascript"> 
    window.open ('page.html');
   </script>

php header()详解::

<html>
<?php
// 结果出错
// 在调用 header() 之前已存在输出
header('Location: http://www.example.com/');
?>

猜你喜欢

转载自blog.csdn.net/weixin_40709439/article/details/84531958