小迪安全v2023学习笔记(七十七讲)—— 业务设计篇隐私合规检测重定向漏洞资源拒绝服务

文章目录

  • 前记
  • WEB攻防——第七十七天
    • 业务设计篇&隐私合规检测&URL重定向&资源拒绝服务&配合项目
      • 隐私合规 - 判断规则&检测项目
        • 介绍
        • 案例演示
      • URL重定向 - 检测判断&钓鱼配合
        • 介绍
        • 黑盒测试
          • 看业务功能
          • 看参数名
          • goole语法搜索
        • 白盒测试
        • 跳转URL绕过思路
        • 钓鱼配合
      • 资源拒绝服务 - 加载受控&处理受控
        • 加载受控
        • 处理受控

前记

  • 今天是学习小迪安全的第七十七天,本节课是WEB攻防的最后一讲,主要是业务设计方面的内容,包括隐私合规重定向漏洞以及资源拒绝服务漏洞
  • 主要是以理解思路为主,但是这些漏洞可能很多都不收或者风险比较大

WEB攻防——第七十七天

业务设计篇&隐私合规检测&URL重定向&资源拒绝服务&配合项目

隐私合规 - 判断规则&检测项目

介绍
  • 检测对象:APP、小程序等
  • 检测内容:主要是看其有没有未经用户同意调用一些涉及隐私的权限,比如位置信息、录音、联系人信息、相机等等
  • 检测项目
    1. appscan
      • 动态分析,更推荐
      • 但缺点是需要真机,并且需要root权限及打开ADB调试
    2. appshark
      • 静态分析
    3. MobSF
      • 之前课程里讲过的APP逆向分析工具,也可以用来分析合规权限
      • 静态分析,需要自己手动检验是否真实存在
      • 搭建比较麻烦,但是有在线网站,或者使用f8x项目自动化搭建
案例演示
  • 这里因为我也没有真机,所以只能通过MobSF去静态分析一个APK文件,简单看一下效果

  • 比如我们在网上随便下载一个安卓应用:
    在这里插入图片描述

  • 然后直接将它拖到我们的MobSF上,等待它的分析结果:
    在这里插入图片描述

  • 等待一段时间之后它就会自动生成一份报告,然后我们选中Permission这栏就可以看到当前APK中所调用的权限:
    在这里插入图片描述

  • 但这里他只是提供了可能涉及到哪些隐私安全,实际还是要自己手动打开软件测一测有没有得到用户的授权,需要根据它实际的功能想到可能调用的权限

URL重定向 - 检测判断&钓鱼配合

介绍
  • URL 重定向漏洞(URL redirection vulnerability),是一种常见的 Web 安全漏洞,由于网站 URL 重定向功能设计不当,没有验证跳转的目标 URL 是否合法,用户可通过此漏洞跳转到任意网站,这会导致可通过该网站跳转到存在木马、病毒的网站或者钓鱼网站,国外大厂的一个任意 URL 跳转都 500$1000$ 了,国内看运气~
  • 不知道各位是否还记得在SSRF那节课中做过的一道CTF题,解题方法就是通过正常的URL重定向到内网地址;其实是同样的道理,只不过这里是跳转到一个恶意的钓鱼网站,比如诱导用户输入自己的账号密码和其他身份信息等
黑盒测试
看业务功能
  • 用户登录、统一身份认证处,认证完后会跳转(跳转登录
  • 用户分享、收藏内容过后,会跳转(分享跳转
  • 跨站点认证、授权后,会跳转(认证跳转
  • 站内点击其它网址链接时,会跳转(站内跳转
看参数名
  • redirectredirect_toredirect_urlurl
  • jumpjump_to
  • target
  • to
  • linklinkto
  • domain
goole语法搜索
site:xxx.xxx inurl:?url=
白盒测试
  • 白盒测试主要看代码怎么写的
  • Java
response.sendRedirect(request.getParameter("url"))
  • PHP
+ $redirect_url = $_GET['url'];
+ header("Location: " . $redirect_url)
  • .NET
+ string redirect_url = request.QueryString["url"];
+ Response.Redirect(redirect_url);
  • Django
+ redirect_url = request.GET.get("url")
+ HttpResponseRedirect(redirect_url)
  • Flask
+ redirect_url = request.form['url']
+ redirect(redirect_url)
  • Rails
redirect_to params[:url]
跳转URL绕过思路
  • 单斜线“/”绕过
https://www.landgrey.me/redirect.php?url=/www.evil.com
  • 缺少协议绕过
https://www.landgrey.me/redirect.php?url=//www.evil.com
  • 多斜线“/”前缀绕过
https://www.landgrey.me/redirect.php?url=///www.evil.com https://www.landgrey.me/redirect.php?url=www.evil.com
  • 利用反斜线“\”绕过
https://www.landgrey.me/redirect.php?url=https://www.evil.com\www.landgrey.me
  • 利用“#”符号绕过
https://www.landgrey.me/redirect.php?url=https://www.evil.com#www.landgrey.me
  • 利用“?”符号绕过
https://www.landgrey.me/redirect.php?url=https://www.evil.com?www.landgrey.me
  • 利用“\”符号绕过
https://www.landgrey.me/redirect.php?url=https://www.evil.com\\www.landgrey.me
  • 利用“.”符号绕过
https://www.landgrey.me/redirect.php?url=.evil           
(可能会跳转到www.landgrey.me.evil域名) 
https://www.landgrey.me/redirect.php?url=.evil.com       
(可能会跳转到evil.com域名)
  • 重复特殊字符绕过
https://www.landgrey.me/redirect.php?url=///www.evil.com//.. 
https://www.landgrey.me/redirect.php?url=www.evil.com//..
钓鱼配合
  • 我们使用的钓鱼网页制作软件为Teleport Ultra,然后以下所有的网页都放到公网,以便Teleport Ultra能够正常爬取
  • 小迪的那个演示网站已经用不了了,需要登录,然后我们这里就自己随便写个网站test.php,接收url参数,然后跳转网页:
<?php  
$url = $_GET['url'] ?? 'http://[域名]:8081/admin/token/login_token.php';  
?>  <!doctype html>  
<title>跳转中</title>  
<h1>稍等,正在跳转...</h1>  
<meta http-equiv="refresh" content="2;url=<?php echo $url;?>">
  • 正常来说访问该网页,他会跳转到登录页面:
    在这里插入图片描述

  • 但是这里如果我们尝试让他跳转到https://www.baidu.com,它也是能够正常跳转的,那就说明它可能存在这种重定向漏洞:
    在这里插入图片描述
    在这里插入图片描述

  • 然后我们到它原本的跳转页面去,复制这个网站,然后使用这个软件爬取一份相同的网页:
    在这里插入图片描述

  • 他就自动帮我们爬取了上面的所有前端页面内容,然后我们可以自己看一看几乎是一模一样的:
    在这里插入图片描述

  • 我们这里修改里面的内容,比如将用户输入的登录密码保存到当前路径下的某个文件里:

<?php  $u = $_POST['username'];  $p = $_POST['password'];  $f = fopen('pass.txt', 'a+');  fwrite($f, $u . "|" . $p . "\n");  fclose($f);  
?>
  • 然后就将修改完成的钓鱼网页放到自己的服务器上,再让这个网页跳转到钓鱼网页即可,这样就得到了一个恶意链接http://blog.xxx.cn:8080/test.php?url=http://[自己的域名]/login_token.php

  • 最后当别人访问这个链接的时候,会以为是正常的网页,然后输入自己的账号和密码,我们本地的服务器就会创建一个文件记录:
    在这里插入图片描述

  • 但是这个漏洞国内很多都不收,主要是因为他要配合钓鱼使用,中招率不高

资源拒绝服务 - 加载受控&处理受控

加载受控
  • 某些网站可以加载一张图片,如果我们能够控制该图片的大小,比如长和宽的话,假设将这个大小设置为很大很大,将服务器的CPU拉满,以此来达到拒绝服务的目的
处理受控
  • 某些网站可以上传压缩包或者其他的东西,然后它自动解压,那我们如果上传一个压缩包炸弹(压缩包无限套压缩包),这样就会导致上传大小很小,但是实际资源大小很大,以此来拉满服务器的CPU占用,达到拒绝服务的目的

  • 但是这两个都不怎么常用,因为这个东西搞不好会让网站服务器崩溃,容易金橘子,所以我这里也不做案例演示了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/95412.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/95412.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用AI做旅游攻略,真能比人肉整理靠谱?

大家好&#xff0c;我是极客团长&#xff01; 作为一个沉迷研究 “AI 工具怎么渗透日常生活” 的科技博主&#xff0c;我开了个 AI 解决生活小事系列。 前两期聊了用 AI 写新闻博客、扒商业报告&#xff0c;后台一堆人催更&#xff1a;能不能搞点接地气的&#xff1f;比如&am…

Axure RP 9 Mac 交互原型设计

原文地址&#xff1a;Axure RP 9 Mac 交互原型设计 安装教程 Axure RP 9是一款功能强大的原型设计和协作工具。 它不仅能够帮助用户快速创建出高质量的原型设计&#xff0c;还能促进团队成员之间的有效协作&#xff0c;从而极大地提高数字产品开发的效率和质量。 拥有直观易…

多线程——线程状态

目录 1.线程的状态 1.1 NEW 1.2 RUNNABLE 1.3 BLOCKED 1.4 WAITING 1.5 TIMED_WAITING 1.6 TERMINATED 2.线程状态的相互转换 在上期的学习中&#xff0c;已经理解线程的启动&#xff08;start()&#xff09;、休眠&#xff08;sleep()&#xff09;、中断&#xff08;i…

IMX6ULL的设备树文件简析

先分析一个完整的设备树&#xff0c;是怎么表达各种外设信息的。以imux6ull开发板为例进行说明。这个文件里就一个设备信息才这么点内容&#xff0c;是不是出问题了&#xff1f;当然不是&#xff0c;我们知道dts文件是可包含的&#xff0c;所以&#xff0c;最终形成的一个完整文…

【ARM】PACK包管理

1、 文档目标对 pack 包的管理有更多的了解。2、 问题场景客户在安装了过多的 pack 包导致软件打开比较慢&#xff0c;各种 pack 包颜色的区别&#xff0c;及图标不同。3、软硬件环境1&#xff09;、软件版本&#xff1a;Keil MDK 5.392&#xff09;、电脑环境&#xff1a;Wind…

【Kubernetes】知识点4

36. 说明K8s中Pod级别的Graceful Shutdown。答&#xff1a;Graceful Shutdown&#xff08;优雅关闭&#xff09;是指当 Pod 需要终止时&#xff0c;系统给予运行中的容器一定的时间来等待业务的应用的正常关闭&#xff08;如保存数据、关闭连接、释放资源等&#xff09;&#x…

Paraverse平行云实时云渲染助力第82届威尼斯电影节XR沉浸式体验

今年&#xff0c;Paraverse平行云实时云渲染平台LarkXR&#xff0c;为享有盛誉的第82届威尼斯国际电影节&#xff08;8月27日至9月6日&#xff09;带来沉浸式体验。 LarkXR助力我们的生态伙伴FRENCH TOUCH FACTORY&#xff0c;实现ITHACA容积视频的XR交互演示&#xff0c;从意大…

大数据开发计划表(实际版)

太好了&#xff01;我将为你生成一份可打印的PDF版学习计划表&#xff0c;并附上项目模板与架构图示例&#xff0c;帮助你更直观地执行计划。 由于当前环境无法直接生成和发送文件&#xff0c;我将以文本格式为你完整呈现&#xff0c;你可以轻松复制到Word或Markdown中&#xf…

GitLab 18.3 正式发布,更新多项 DevOps、CI/CD 功能【二】

沿袭我们的月度发布传统&#xff0c;极狐GitLab 发布了 18.3 版本&#xff0c;该版本带来了通过直接转移进行迁移、CI/CD 作业令牌的细粒度权限控制、自定义管理员角色、Kubernetes 1.33 支持、通过 API 让流水线执行策略访问 CI/CD 配置等几十个重点功能的改进。下面是对部分重…

Docker学习笔记(二):镜像与容器管理

Docker 镜像 最小的镜像 hello-world 是 Docker 官方提供的一个镜像&#xff0c;通常用来验证 Docker 是否安装成功。 先通过 docker pull 从 Docker Hub 下载它。 [rootdocker ~]# docker pull hello-world Using default tag: latest latest: Pulling from library/hello-wor…

STM32F103C8T6开发板入门学习——寄存器和库函数介绍

学习目标&#xff1a;STM32F103C8T6开发板入门学习——寄存器和库函数介绍学习内容&#xff1a; 1. 寄存器介绍 1.1 存储器映射 存储器本身无固有地址&#xff0c;是具有特定功能的内存单元。它的地址是由芯片厂商或用户分配&#xff0c;给存储器分配地址的过程就叫做存储区映射…

【CouponHub项目开发】使用RocketMQ5.x实现延时修改优惠券状态,并通过使用模板方法模式重构消息队列发送功能

在上个章节中我实现了创建优惠券模板的功能&#xff0c;但是&#xff0c;优惠券总会有过期时间&#xff0c;我们怎么去解决到期自动修改优惠券状态这样一个功能呢&#xff1f;我们可以使用RocketMQ5.x新出的任意定时发送消息功能来解决。 初始方案&#xff1a;首先在创建优惠券…

Claude Code SDK 配置Gitlab MCP服务

一、MCP配置前期准备 &#xff08;一&#xff09;创建个人令牌/群组令牌 我这里是创建个人令牌&#xff0c;去到首页左上角&#xff0c;点击头像——>偏好设置——>访问令牌——>添加新令牌 &#xff08;二&#xff09;配置mcp信息 去到魔塔社区&#xff0c;点击mc…

Eclipse 常用搜索功能汇总

Eclipse 常用搜索功能汇总 Eclipse 提供了多种搜索功能&#xff0c;帮助开发者快速定位代码、文件、类、方法、API 等资源。以下是详细的使用方法和技巧。 一、常用搜索快捷键快捷键功能描述Ctrl H打开全局搜索对话框&#xff0c;支持文件、Java 代码、任务等多种搜索。Ctrl …

关于Spring的一些理解

Spring整体结构&#xff1a;Spring实际运行场景&#xff1a;基础 Spring启动过程 传统Spring&#xff1a; &#xff08;1&#xff09;初始化准备阶段 &#xff08;2&#xff09;容器创建与注入 &#xff08;3&#xff09;Bean工厂后置处理 &#xff08;4&#xff09;Bean工厂后…

Windows右下角系统托盘图标快速显示或隐藏

系统托盘指的是Windows电脑桌面右下角的区域&#xff0c;包括时间、wifi&#xff08;网络&#xff09;、音量、电源、输入法、一些程序/应用等。启动了应用后&#xff0c;Windows会把部分应用的图标显示或隐藏在系统托盘区。我们可以根据需要快速显示或隐藏相关应用&#xff0c…

Kotlin编程学习记录2

Kotlin编程学习记录2——条件与循环 条件语句&#xff1a;if 与 when ​ Kotlin 的控制流把“表达式优先”作为设计原则——if、when 不只是控制语句&#xff0c;都可以作为表达式使用并返回值&#xff0c;这影响了日常代码风格&#xff08;更函数式、可组合&#xff09;。笔…

印度物联网崛起:政策红利下的千亿蓝海与本土化博弈

印度物联网市场正处于快速发展阶段,2025年市场规模预计达到200亿美元,主要得益于政府"数字印度"计划和智能城市项目的推动。蜂窝物联网连接数在2024年同比增长34%,2025年Q1增速进一步提升至32%,其中智能电表部署和资产追踪应用成为核心驱动力。然而,市场也面临着…

html学习:

ok,今天准备学一下html&#xff0c;花费点时间整理一下&#xff1a; HTML标签的语法格式 HTML 中的标签就像关键字一样&#xff0c;每个标签都有自己的语义&#xff08;含义&#xff09;。 HTML 标签的语法格式 属性↓ <div class"begin">cyx</div>↑…

CRYPT32!PkiAsn1Decode函数分析的一个例子

第一部分&#xff1a; 0: kd> g Breakpoint 35 hit CRYPT32!PkiAsn1Decode: 001b:75c9af0c 55 push ebp 1: kd> kc# 00 CRYPT32!PkiAsn1Decode 01 CRYPT32!PkiAsn1DecodeAndAllocInfo 02 CRYPT32!PkiAsn1DecodeAndAllocInfoEx 03 CRYPT32!Asn1InfoDecode…