首页 > 其他分享 >ctfshow-给她

ctfshow-给她

时间:2023-03-16 15:13:38浏览次数:41  
标签:发现 函数 flag 报错 sprintf ctfshow

萌新赛-给她

信息收集

进去是一个SQL语句展示,emmm,那就写几句SQL注入看看,抓包,用字典FUZZ,一个没出,发现单引号都被转义了,猜测后台是有一个addslashes函数,那么我们可以联想到sprintf函数与addslashes函数连用造成的逻辑漏洞,但是不确定,目录扫描可不能少,扫一下,发现有git,直接访问报403,那用GitHack拉取一下,发现hint.php

image

发现确实如我们所想,存在sprintf函数

sprintf函数的底层逻辑漏洞

由于该函数的底层逻辑上只对15中占位符有分支,而其他的则直接没处理,而造成的被替换为空字符,如:

<?php
$sql="select * from user where username='%\' and 1=1 #';";
$user='admin';
echo sprintf($sql,$user);
?>
//打印出来:select * from user where username='' and 1=1 #';

可被替换为空的占位符:%\,%1$\

解题

那么我可以构造如下payload:name=admin&pass=1%1$'or 1=1%23

在后台应该是:select * from user where name ='admin' and pass='1'or 1=1#'

返回了一个报错页面,发现不是原生的报错,check一下源码:

image

发现存在hint,那么文件位置我们已经知晓,下面就是如何读取文件,首先想到的是用load_file函数,但是没搞出来,然后无意间抓了一个包,好家伙,cookie里竟然藏了一个file,抓出来转16进制,得到flag.txt,那么我们放入/flag的16进制进去2f666c6167,放包,得到flag:ctfshow{9cd199ec-f7ef-41e0-9a1f-234d9ab5628d}

image

标签:发现,函数,flag,报错,sprintf,ctfshow
From: https://www.cnblogs.com/3xsh0re/p/17222621.html

相关文章

  • RealWorldCTF渗透赛第二期复现-ctfshow
    比赛概述开始时间:2023年3月10日15时环境保留时间:72小时环境重置时间:20分钟官方wp链接:Docs(feishu.cn)【本次复现跟着官方WP进行,只做记录学习之用】0x1目标资产......
  • ctfshow 1000题记录
    RCE-Web32<?phperror_reporting(0);if(isset($_GET['c'])){$c=$_GET['c'];if(!preg_match("/flag|system|php|cat|sort|shell|\.||\'|\`|echo|\;|\(/i",......
  • ctfshow web入门 命令执行 特征及绕过技巧
    远程命令执行(RemoteCommandExecution,RCE)原理命令执行漏洞是指服务器没有对执行的命令进行过滤,用户可以随意执行系统命令,命令执行漏洞属于高危漏洞之一。危险函数......
  • ctfshow web入门 php特性 96-99
    96-99均采用弱比较的方式获取flag重点了解md5弱类型比较与强类型了解if语句简写了解in_array()缺点web96highlight_file(__FILE__);if(isset(......
  • ctfshow web入门 命令执行 37-39
    37-39基于GET传参的include()38、39是37的变种分析伪协议常用于文件包含漏洞中文件包含函数有:include、include_once、require、require_once、......
  • ctfshow web入门 命令执行 web58-71
     都是POST传递参数执行eval()函数web58if(isset($_POST['c'])){$c=$_POST['c'];eval($c);}else{highlight_file(__FILE__);}没有进......
  • 15. CTFshow 萌新 web1
    一、代码<html><head><title>ctf.show萌新计划web1</title><metacharset="utf-8"></head><body><?php#包含数据库连接文件include("config.php");#判......
  • ctfshow---misc入门练习-----2023.2.14
    1,misc1打开就是flag2,misc2打开发现.png然后改后缀为.png即可得到flag3,misc3发现为.bpg的后缀,用bpgview.exe打开即可得到flag4,misc4下载了6个.txt文件,然后直接全......
  • 14. CTFshow 反序列化 web265
    一、代码<?phperror_reporting(0);include('flag.php');highlight_file(__FILE__);classctfshowAdmin{public$token;public$password;publicfun......
  • 13. CTFshow 反序列化 web164
    PHP反序列化字符串逃逸,不难,但是有点绕。奈何自己太菜,又不懂PHP代码,磨蹭了半天,才搞懂。如有不对的地方还望斧正。一、代码index.php<?phperror_reporting(0);session......