web安全学习笔记(16)

记一下第27-28课的内容。Token 验证 + URL跳转漏洞的类型与三种跳转形式;URL跳转漏洞修复 + 短信轰炸漏洞绕过挖掘

一、token有关知识

什么是token?token是用来干嘛的?_token是什么意思-CSDN博客

二、URL跳转漏洞

我们在靶场中,如果没有登录就想进行购买操作,会弹出提示让我们先登录:

我们点击“去登陆”,然后看上面的URL,会有一个redirect:

如果我们对redirect后面的内容进行修改,比如说修改为www.baidu.com,这样我们就会跳转到别的网站去,这就是URL跳转的漏洞。

URL跳转漏洞的分类:

①无需登录跳转

②需登录跳转

跳转形式的分类:

①Hearder重定向

②Js跳转

③HTML跳转

这里content = 5指的是等待5秒跳转

URL跳转漏洞-CSDN博客

三、URL跳转漏洞的修复

parse_url()函数的功能是把URL拆分成一位数组的形式:

<?php$url = $GET['url'];$array = parse_url($url);var_dump($array);

结果如下图所示:

scheme代表的是协议,host代表的是域名,path代表的是地址。此外,还有可能有query部分。我们主要使用的是host,通过判断要跳转的URL的host是否与当前访问域名的host相同,来进行URL跳转漏洞的修复。下面是一种有效修复方案的演示:

<?php$url = $GET['url'];#获取要跳转的URL地址的host$array = parse_url($url);$Location_Host = $array['host'];#获取当前访问域名的host$Current_Host = $_SERVER['host'];#判断两者是否相同if($Location_Host != $Current_Host){die('跳转的域名地址不对!');}

下面再介绍一种方法:

<?php$url = $GET['url'];if(strstr($url,$_SERVER['HTTP_HOST']) === false){die('跳转地址不对!');}echo '开始跳转!';

这里strstr函数的功能是,搜索字符串在另一字符串中是否存在,如果是,返回该字符串及剩余部分,否则返回 FALSE。因为这个函数只扫描是否存在,我们仍然可以进行绕过:

②或者使用#,但是不能直接使用,要转换成URL编码才行,#的URL编码是%23,#的作用是忽略掉后面的内容,相当于注释,我们通过把正确的URL放到#后面,把它注释掉,但是仍然可以绕过strstr函数的检测,实现URL跳转漏洞。

③或者直接创建一个目录,也可以实现绕过:

关于URL跳转漏洞更详细的内容:URL跳转漏洞-CSDN博客

四、短信轰炸漏洞

1.漏洞类型

①定向轰炸:针对于单个手机号进行批量式发送短信

②横向轰炸:不能对单个手机号造成影响,但是却可以浪费企业的资产

2.绕过思路

①空格绕过

用burp进行爆破,每发一次就在手机号后面加一个空格。但是由于ThinkPHP框架会自动过滤掉空格,这里的演示并不成功:

②换行绕过

然而,回车可以起到跟空格一样的作用,我们可以每发送一次就加一个回车:

回车的URL编码是%0a,因此我们可以直接每发送一次就加一个%0a,这样就可以绕过,而至于短信运营商发送短信的时候,会自动对空格、换行进行过滤,可以成功地将短信发送出去:

③数组绕过

有的短信运营商可以一次给多个手机号发送短信,比如说,要求传入的手机号用逗号分隔:

13333333333,16666666666,18888888888        假设这就是手机号参数

这就给了我们一个可乘之机,我们可以每发送一次就在数据包里面增加一个手机号,如果后端的判断是每次的手机号参数不能一样,我们就可以通过这样的方式轰炸一个或多个多个手机号:

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

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

相关文章

JVS物联网模拟点位:如何配置并自动生成点位数据全教程

模拟点位 功能描述 模拟点位常用于业务的调试或数据展示&#xff0c;通过配置对应点位实现自动生成点位数据的功能。 界面操作 如下图所示&#xff0c;从模拟点位菜单进入模拟点位管理界面 模拟点位新增 点击新增按钮&#xff0c;如下图所示&#xff1a; ①&#xff1a;用户…

带插画的登录页火爆一时,不过好像有点过气了,是么?

插画在B端登录页中的作用是通过增加视觉吸引力、塑造品牌形象、提升用户体验和增加可视化指引等方式&#xff0c;为用户提供一个愉悦、易用、具有个性化的登录体验。这有助于提高用户对企业或组织的认知和好感度&#xff0c;增加用户的参与度和忠诚度。 当年这种分割很火爆呀&…

前端学习第一课

AJAX 事先说明&#xff0c;这只是记录&#xff0c;并不是从零到一的教学内容&#xff0c;如果想要学习的话&#xff0c;可以跳过本文章了 ok&#xff0c;转回正题&#xff0c;正如上面所说&#xff0c;这只是记录。其实我是有一定的前端基础的&#xff0c;也做过涉及相关的开发…

【JavaEE 初阶(七)】网络原理 TCP与UDP协议

❣博主主页: 33的博客❣ ▶️文章专栏分类:JavaEE◀️ &#x1f69a;我的代码仓库: 33的代码仓库&#x1f69a; &#x1faf5;&#x1faf5;&#x1faf5;关注我带你了解更多网络知识 目录 1.前言2.应用层2.1xml2.2json 3.传输层3.1UDP协议3.2TCP协议3.2.1确认响应3.2.2超时重…

【车载开发系列】AutoSar中的Port

【车载开发系列】AutoSar中的Port 一. Port概念 AutoSAR 接口定义了 SWC 之间、BSW 模块之间以及 SWC 和 BSW 模块之间交互的信息。AutoSAR 接口通过 SWC 和/或 BSW 模块端口&#xff08;Port&#xff09;的形式实现。通过这些端口&#xff0c;SWC 和 BSW 模块之间实现了数据…

NineData云原生智能数据管理平台新功能发布|2024年4月版

基础服务 - 工作台 NineData 工作台提供了直观明了的可视化页面&#xff0c;展现了当前账户下所有任务流、资源以及热点信息&#xff0c;包含了任务流总览、资源总览、常用文档、公告、本周热文。 基础服务 - 新增数据源支持 NineData 发布了对 TiDB、Sybase、Hive、OceanBas…

Git使用(4):分支管理

一、新建分支 首先选择Git -> Branches... 然后选择 New Branch&#xff0c;输入新分支名称&#xff0c;例如dev。 可以看到右下角显示已经切换到新建的dev分支了。 push到远程仓库&#xff0c;可以看到新添加的分支。 二、切换分支与合并分支 为了演示合并分支&#xff0c…

laravel 解决composer install报错

laravel 解决报错: Please provide a valid cache path 这是因为laravel的缓存路径没有找到 laravel缓存文件路径是在 config/cache.php中设置&#xff0c;默认存在storage文件夹中 file > [driver > file,path > storage_path(framework/cache/data),], 解决&#x…

提升LED显示屏散热效能的五大策略

在现代生活中&#xff0c;LED显示屏已成为不可或缺的信息展示工具&#xff0c;其广泛应用于商业广告、公共信息发布、舞台表演等多个领域。然而&#xff0c;随着LED显示屏的长时间运行&#xff0c;散热问题逐渐凸显&#xff0c;不仅影响设备的稳定性和寿命&#xff0c;还可能导…

【Python】语句与众所周知【自我维护版】

各位大佬好 &#xff0c;这里是阿川的博客 &#xff0c; 祝您变得更强 个人主页&#xff1a;在线OJ的阿川 大佬的支持和鼓励&#xff0c;将是我成长路上最大的动力 阿川水平有限&#xff0c;如有错误&#xff0c;欢迎大佬指正 本篇博客是在之前的基础上进行的维护 目录 条…

React 第三十八章 React 中的位运算

位运算是一种计算机编程中常用的操作&#xff0c;它直接对二进制位进行操作。二进制&#xff0c;指的就是以二为底的一种计数方式&#xff0c;常见的还有八进制、十进制、十六进制。 十进制0123456789101112131415二进制0000000100100011010001010110011110001001101010111100…

青少年CTF练习平台Crypto题解

四重加密 下载附件后&#xff0c;得到一个rar文件&#xff0c;发现被加密&#xff0c;无法解压 使用Bandizip打开 注释中有段编码OFZW4Y3UMY CyberChef base64解码得到第一层压缩包密码 qsnctf 打开后有一个文本文档 内容如下 NCR&#xff0c;HTML解码 得到一串密…