首页 > 其他分享 >萌新赛 sprintf漏洞

萌新赛 sprintf漏洞

时间:2024-08-16 15:49:48浏览次数:11  
标签:十六进制 萌新赛 浮点数 计数法 漏洞 源码 sprintf 正负号

首先是个.git源码源码泄露,用githack回复一下源码

源码
<?php
$pass=sprintf("and pass='%s'",addslashes($_GET['pass']));
$sql=sprintf("select * from user where name='%s' $pass",addslashes($_GET['name']));
?>


这题用了两次sprintf函数可以在这里做文章

sprintf用法:

%% - 返回一个百分号 %
%b - 二进制数
%c - ASCII 值对应的字符
%d - 包含正负号的十进制数(负数、0、正数)
%e - 使用小写的科学计数法(例如 1.2e+2)
%E - 使用大写的科学计数法(例如 1.2E+2)
%u - 不包含正负号的十进制数(大于等于 0)
%f - 浮点数(本地设置)
%F - 浮点数(非本地设置)
%g - 较短的 %e 和 %f
%G - 较短的 %E 和 %f
%o - 八进制数
%s - 字符串
%x - 十六进制数(小写字母)
%X - 十六进制数(大写字母)

点击查看代码
<?php
$number = 123;
$txt = sprintf("%f",$number);
echo $txt;
?>
//结果是:123.000000
点击查看代码
<?php
$number = 123;
$txt = sprintf("带两位小数:%1\$.2f
<br>不带小数:%1\$u",$number);
echo $txt;
?>
//当一个变量要同时被多个地方引用的时候就需要 %1\$u 的操作
//%1的意思是引用的是第一个变量$u是
//运行结果:如图

image

那么bug就来了
如果我们输入"%"或者"%1$",他会把反斜杠当做格式化字符的类型,然而找不到匹配的项那么"%","%1$"就因为没有经过任何处理而被替换为空。
简单来说就是当sprintf解析时,如果出现 "%"或者"%1$" 会将这两个变为空
当%1$' 他会直接返回 '

构造payload
name=admin&pass=%$' or 1=1--+

重点过了接下来回跳转到wjbh.php,就不细讲了,他应该是include()了cookie的内容
直接php://filter/convert/resource=/flag 进行16进制编码传入cookie就拿到flag了

image

标签:十六进制,萌新赛,浮点数,计数法,漏洞,源码,sprintf,正负号
From: https://www.cnblogs.com/wssw/p/18117206

相关文章

  • 前后端不分离"老"项目,XSS 漏洞处理实践
    前言本月迭代需求没有几个,领导给我派了一个漏洞修复的活。这个项目是一个前后端不分离的ToB老项目,前端使用Velocity模板+JQuery+miniui,后端是用的Spring。嗯,前后端不分离,技术老旧,模块众多且耦合,基础设施不完善,让我从一开始校招(2022)刚进来接触到这个项目时候,就感到“畏惧、难受......
  • wookteam协作平台api/users/searchinfo接口存在SQL注入漏洞 附POC
    @[toc]免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。1.wookteam协作平台简介微信公众号搜索:南风漏洞复现文......
  • 【漏洞复现】某成科信票务管理系统 TicketManager SQL注入漏洞
              声明:本文档或演示材料仅用于教育和教学目的。如果任何个人或组织利用本文档中的信息进行非法活动,将与本文档的作者或发布者无关。一、漏洞描述某成科信票务管理系统以私有/公有云为基础部署,实现了基础六管控多协同的智慧票务系统。该系统提供了票类策......
  • HW漏洞威胁情报第二十天|HW情报
      0x01阅读须知        技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使......
  • 微软紧急发布90个漏洞补丁,其中6个漏洞是被广泛利用的0day漏洞
    微软周二发布了修复程序,以解决总共90个安全漏洞,包括10个零日漏洞,其中6个已在野外受到积极利用。在90个漏洞中,7个被评为严重,79个被评为重要,1个被评为中等严重程度。这也是科技巨头自上个月以来在其边缘浏览器中解决的36个漏洞的补充。6个已被积极利用的零日漏洞:CVE-2024-......
  • 文件上传漏洞的基本上传思路
    一、仅做前端检测,未做后端校验:(ctfshow-web152)不允许上传.php等格式的文件1、禁用javascript2、先上传符合格式要求的.png图片-->Burpsuite修改后缀为.php绕过前端检测二、.user.ini文件利用:(ctfshow-web153).user.ini的作用类似于Apache服务器中的.htaccess配置文......
  • java几种常见漏洞种类及处理方案
    一、SQLInjection(SQL注入漏洞)1.使用参数化查询(PreparedStatements)参数化查询是防止SQL注入最有效的方法之一。它确保用户输入的数据作为参数传递,而不是作为SQL命令的一部分。在Java中,可以使用PreparedStatement来实现这一点。示例代码:Stringsql="SELECT*FROMusers......
  • 【漏洞复现】普华-PowerPMS APPGetUser SQL注入漏洞
             声明:本文档或演示材料仅用于教育和教学目的。如果任何个人或组织利用本文档中的信息进行非法活动,将与本文档的作者或发布者无关。一、漏洞描述PowerPMS是一款综合性的企业管理系统,它集成了财务管理、销售管理、采购管理、仓储管理以及项目管理等多个功......
  • 【漏洞复现】LiveBos UploadFile 任意文件上传漏洞
              声明:本文档或演示材料仅用于教育和教学目的。如果任何个人或组织利用本文档中的信息进行非法活动,将与本文档的作者或发布者无关。一、漏洞描述LiveBOS,由顶点软件股份有限公司开发的对象型业务架构中间件及其集成开发工具,是一种创新的软件开发模式,以业......
  • 高危漏洞CVE-2024-38077的修复指南
    “根据2024年8月9日,国家信息安全漏洞共享平台(CNVD)收录了Windows远程桌面许可服务远程代码执行漏洞(CNVD-2024-34918,对应CVE-2024-38077)。未经身份认证的攻击者可利用漏洞远程执行代码,获取服务器控制权限。目前,该漏洞的部分技术原理和概念验证伪代码已公开,厂商已发布安......