shal()函数绕过和session验证绕过
一、shal()函数绕过
<?php$flag = "flag";if (isset($_GET['name']) and isset($_GET['password']))
{if ($_GET['name'] == $_GET['password'])echo '<p>Your password can not be your name!</p>';else if (sha1($_GET['name']) === sha1($_GET['password']))die('Flag: '.$flag);elseecho '<p>Invalid password.</p>';
}
elseecho '<p>Login first!</p>';
?>
审计这段代码可以发现要输出flag就必须满足2个条件
1、name和password的值不相同
2、name和password的值和类型都相同
payload为?name[]=1&password[]=2
这样在第一处判断时两数组确实是不同的,但在第二处判断时由于sha1()函数无法处理数组类型,将报错并返回false,if 条件成立,获得flag。
注意md5()函数同样存在此漏洞。
二、session验证绕过
<?php$flag = "flag";session_start();
if (isset ($_GET['password'])) {if ($_GET['password'] == $_SESSION['password'])die ('Flag: '.$flag);elseprint '<p>Wrong guess.</p>';
}
mt_srand((microtime() ^ rand(1, 10000)) % rand(1, 10000) + rand(1, 10000));
?>
审计代码发现,需要session中的password值和用户传的一样,就可以打印flag,
所以只需要删掉session值,或者修改session值为一个不存在的session,服务器获取不到session,则password为空,用户传一个空的password的进去即可拿到flag。
注意:
在PHP配置中的默认情况下,Session是用Session ID来确定当前对话所对应的服务器Session,sessionID可在cookie中找到,当我们删除cookie中的sessionID后,$_SESSION[‘password’]
就会返回空,我们同样传入空的password就能绕过了。
payload为password=
shal()函数绕过和session验证绕过相关推荐
- 98.网络安全渗透测试—[常规漏洞挖掘与利用篇14]—[SESSION身份验证绕过漏洞与测试]
我认为,无论是学习安全还是从事安全的人,多多少少都有些许的情怀和使命感!!! 文章目录 一.session身份验证绕过漏洞与测试 1.session机制 2.session的生命周期 3.出现漏洞的情 ...
- 绕过安卓SSL验证证书的四种方式
在此之前,移动端应用程序会直接忽略掉所有的SSL错误,并允许攻击者拦截和修改自己的通信流量.但是现在,很多热门应用程序至少会检查证书链是否是一个有效可信任的证书机构(CA)颁发的. 作为一名渗透测试人 ...
- php 上传绕过,文件上传验证绕过技术总结
1.客户端验证绕过 很简单啦,直接使用webscarab或者burp修改一下后缀名就行. 2.服务端验证绕过-Content-type检测 若服务端检测文件类型时是检测Content-type的值,也 ...
- 身份验证绕过漏洞分析
0x01 前言 最近Tenable 披露了Arcadyna 网络设备身份验证绕过漏洞,并且很多的厂商都采用产生漏洞的组件,由于Arcadyan 设备固件厂商并没有开源出来,在官网支持里面下载的文件是w ...
- wps js宏模拟cookie绕过网站登录验证请求数据
首先说明wps js宏还没有调用Win系统组件的方法,这里用shell函数调用cmd命令来执行nodejs https模块相关代码,需要安装node.js,并且对node.js.npm有一定了解. 以 ...
- struts2漏洞监测_Apache Shiro身份验证绕过漏洞风险提示
漏洞公告 2020年8月17日,安恒应急响应中心监测发现Apache Shiro官方更新发布了1.6.0之前版本存在身份验证绕过的漏洞公告,对应CVE编号:CVE-2020-13933,相关链接: h ...
- Kali Linux 无线渗透测试入门指南 第三章 绕过 WLAN 身份验证
第三章 绕过 WLAN 身份验证 作者:Vivek Ramachandran, Cameron Buchanan 译者:飞龙 协议:CC BY-NC-SA 4.0 简介 安全的错觉比不安全更加糟糕. ...
- Springboot 关闭或绕过 jwt用户验证
Springboot绕过jwt用户验证,直接访问后台接口的方法.总结了两种方法: 关闭jwt 简单粗暴,关闭jwt之后,所有接口都对外开放,谨慎使用.方法如下: 在 启动类上添加注解: @Enable ...
- 黑客利用数百万路由器的新身份验证绕过漏洞
身份不明的黑客正在积极利用关键的身份验证绕过漏洞劫持家庭路由器,将它们纳入用于执行 DDoS 攻击的 Mirai 变体僵尸网络,仅在其公开披露两天后. 该漏洞被跟踪为CVE-2021-20090(CV ...
- Zyxel-NBG2105(CVE-2021-3297)身份验证绕过漏洞复现
简介 Zyxel-NBG2105 存在身份验证绕过,可以通过更改 login参数可用实现以管理员身份进行后台登陆. zoomeye 漏洞验证 通过右键源代码查看一下源码,这里不知道为什么不能右键,就在 ...
最新文章
- git cherry-pick. 如何把已经提交的commit, 从一个分支放到另一个分支
- 【Linux 内核】进程管理 ( 系统调用简介 | 进程相关系统调用源码 )
- git错误fatal: remote origin already exists.
- python老王卖西瓜_使用Python爬取京东商品晒单图
- E-mail 标准 SMTP POP3
- 解决ftp的pasv模式下iptables设置问题
- 如何导出数据到Excel表格
- 关于国内厂商的国际版杀毒软件
- 6 SystemVerilog语言编写售货机
- vue中的v-show与v-if区别
- GreenOpenPaint简介
- Echarts经纬度坐标实现地图定位
- 谷歌翻译接口_QTranslate:电脑全局翻译神器
- hp服务器经常自动重启,惠普电脑经常自动重启的解决方法
- 由一位华为员工被辞退说起
- 高等流体力学 第二章 流体力学基础
- 微信小程序——根据当前定位查询附近商家
- 怎么把PDF翻译成中文?教你便捷翻译方法
- HTTP状态码全部说明
- 计算机论文一千五,1.论文字数不够,正文要五千字,至少增加1000,但不要抄袭.DOC...
热门文章
- 使用gitLab clone代码报错:error: RPC failed; curl 56 OpenSSL SSL_read: Connection was reset
- 名师工作室php,名师工作室
- html+支付宝+全套页面,【支付源码】全新免签支付系统 仿码支付系统支持 微信 支付宝 QQ 全开源LPays全套源码...
- 功能完整的矢量图编辑软件——Boxy SVG for Mac 3.25.0激活版
- 快捷指令快速保存无水印视频和图集
- CSP-2022 游寄
- 如何打开usb计算机连接打印机驱动,打印机USB连接安装设置及常见问题处理
- labview中DAQ采集多个数据通道(温度传感器)(TTL信号的曲轴位置传感器)总结
- USB:Type-A、Type-B、Type-C、miniUSB、microUSB接口类型区分
- 汽车车架号识别 VIN码识别,在汽车后市场的应用