ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

i春秋 “百度杯”CTF比赛 十月场 Vld

2021-06-29 13:56:42  阅读:313  来源: 互联网

标签:username addslashes Vld number CTF opcode POST 转义 百度


https://www.ichunqiu.com/battalion?t=1&r=0

opcode中的 BEGIN_SILENCE就是@,不显示报错信息
猜测opcode中的 EXT_STMT就是;,表示一个语句的结束

opcode中的FETCH_R意思是从某个变量中取出值并把这个值赋给另一个变量

详细信息参考php opcode

JMPZ,若比较结果为false,则跳转到指定地址处的代码
在这里插入图片描述

vld输出结果的分析如下:

<?php

echo 'do+you+know+Vulcan+Logic+Dumper%3F%3Cbr%3E';

$a = @$_GET['flag1'];
$b = @$_GET['flag2'];
$c = @$_GET['flag3'];

比较 $a 和 'fvhjjihfcv'是否相等
 如果不相等,跳转至38  
 继续执行39,输出  'false%3Cbr%3E'
 
比较 $b 和 'gfuyiyhioyf'是否相等
 如果不相等,跳转至35 
 继续执行36,输出  'false%3Cbr%3E'
  
比较 $c 和 'yugoiiyhi'是否相等
 如果不相等,跳转至32
 继续执行33,输出  'false%3Cbr%3E'

如果以上三个判断都为true,就会执行30
ECHO  'the+next+step+is+xxx.zip'

所以我们要向index.php提交三个参数,flag1、flag2、flag3,值分别为:fvhjjihfcv、gfuyiyhioyf、yugoiiyhi

这是返回结果

do you know Vulcan Logic Dumper?
the next step is 1chunqiu.zip

直接使用URL访问1chunqiu.zip,我们就可以得到一份源代码

审计源代码,发现存在SQL注入漏洞

    $username = $db->safe_data($_POST['username']); 
    $password = $db->my_md5($_POST['password']);   
    $number = is_numeric($_POST['number']) ? $_POST['number'] : 1; 
    $username = trim(str_replace($number, '', $username));

$username变量中与$number相等的字符串会被替换为"",我们可以结合dbmysql.class.php中的safe_data成员方法中的addslashes函数来进行'的绕过

PHP的一个语言特性,PHP中的addslashes函数除了会对 ' " \ 进行转义之外,还会对 url编码为 %00 的字符进行转义,转义结果为 \0,因为在ascii码中,0对应的字符为 \0,是没有办法直接输出的,但是使用addslashes函数之后,就可以显示了 ,\\0 输出就是\0

这一点我们可以通过在本地环境中验证来得到

然后我们就可以在burp suite这样来构造我们的$number$username

$number = 0
$username = %00'

$username的处理结果为\0\',因为我们构造的$number0,因此最终的$username\\',前面的\被转义失效,这样就成功绕过了'的过滤,接下来执行报错注入即可

标签:username,addslashes,Vld,number,CTF,opcode,POST,转义,百度
来源: https://blog.51cto.com/u_12534050/2953432

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有