CISP-PTE靶机基础实训之代码审计

CISP-PTE靶机基础实训之代码审计

在这里插入图片描述

在这里插入图片描述

代码分析:
<?php
$v1 = 0;  
$v2 = 0;
//使用get方法传递一个w的参数,这个参数的内容是一个json格式的数组
$a = (array)json_decode(@$_GET['w']); #json特征是自定义键值使用{},自定义值使用[]
if (is_array($a)) {
    is_numeric(@$a["bar1"]) ? die("nope") : NULL; #is_numeric判断bar1是否是数字,是就退出 ,不是就什么都不做
	if (@$a["bar1"]) {
        ($a["bar1"] > 2020) ? $v1 = 1 : NULL; //bar1这个元素要大于2020,才会输出v1=1
    }
    if (is_array(@$a["bar2"])) #is_array判断bar2是否是数组
	{
        if (count($a["bar2"]) != 5 or !is_array($a["bar2"][0])) #判断如果bar2数组中元素的个数不等于5或者bar2数组中的第0个元素不是数组,退出循环
		{
            die("nope");
        }
        $pos = array_search("cisp-pte", $a["bar3"]); # 在bar3中使用array_search在数组中去寻找元素"cisp-pte"
        $pos === false ? die("nope") : NULL;   # 找不到,退出循环
        foreach ($a["bar2"] as $key => $val) # foreach对数组中的数据进行遍历
        {
            $val == "cisp-pte" ? die("nope") : NULL;  #在bar2中如果出现了cisp-pte,则退出循环
        }
        $v2 = 1;
    }
}
#v1与v2都为真时,输出key
if ($v1 && $v2)  
 {
    include "key.php";
    echo $key;
}
highlight_file(__file__);
分析结果:
目标:v1与v2都为真时,输出key
获取一个w参数,参数里的内容是数组形式,数组是json格式,json特征是自定义键值使用{},自定义值使用[]
数组中有三个元素bar1,bar2,bar3
bar1分析结果:元素不能是数字,且必须大于2020,才会输出v1=1
构造bar1:"bar1":"8023x"来进行绕过,在判断是否大于2020时,电脑会进行隐式类型转换,将字符型的8023x,转换成8023与2020作比较,发现8023大于2020,最后输出v1=1
bar2分析结果:元素的内容是一个数组,数组元素的个数为5,且数组中第0个元素必须是数组,数组中也不能有"cisp-pte"这个元素,满足条件输出v2=1
构造bar2:"bar2":[[0],1,2,3,4]
bar3分析结果:元素的内容是一个数组,数组里面必须要有一个"cisp-pte"元素
构造bar3:"bar3":["cisp-pte"]
解决方法:
根据分析结果,拼接bar1,bar2,bar3,使得v1=1,v2=1,最后输出key
拼接结果:(类似于键值形式)
{"bar1":"8023x","bar2":[[0],1,2,3,4],"bar3":[cisp-pte]}  # "bar1"(键),"8023x"(值)
将结果填入到w参数中,成功获取到key
?w={"bar1":"8023x","bar2":[[0],1,2,3,4],"bar3":["cisp-pte"]} 

在这里插入图片描述

  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
靶场,是指为信息安全人员提供实战演练、渗透测试和攻防对抗等训练环境的虚拟或实体场地。在不同的领域中,靶场扮演着重要的角色,尤其是在网络安全领域,靶场成为培养和提高安全专业人员技能的重要平台。 首先,靶场为安全从业者提供了一个模拟真实网络环境的平台。通过构建类似实际网络的拓扑结构、部署各种安全设备和应用,靶场可以模拟出多样化的网络攻防场景。这使得安全人员能够在安全的环境中进行实际操作,全面提升其实战能力。 其次,靶场是渗透测试和漏洞攻防演练的理想场所。在靶场中,安全专业人员可以模拟攻击者的行为,发现系统和应用的漏洞,并进行渗透测试,从而及时修复和改进防御机制。同时,这也为防御方提供了锻炼机会,通过对抗攻击提高防御能力。 靶场的搭建还促进了团队协作与沟通。在攻防对抗中,往往需要多人协同作战,团队成员之间需要密切配合,共同制定攻击和防御策略。这有助于培养团队合作意识,提高协同作战的效率。 此外,靶场为学习者提供了一个安全的学习环境。在靶场中,学生可以通过实际操作掌握安全知识,了解攻击技术和防御策略。这样的学习方式比传统的理论课程更加生动直观,有助于深化对安全领域的理解。 最后,靶场也是安全社区交流的平台。在靶场中,安全从业者可以分享攻防经验,交流最新的安全威胁情报,共同探讨解决方案。这有助于建立更广泛的安全社区,推动整个行业的发展。 总体而言,靶场在信息安全领域具有重要地位,为安全专业人员提供了实战演练的机会,促进了团队协作与沟通,为学习者提供了安全的学习环境,同时也是安全社区交流的重要平台。通过靶场的实践操作,安全从业者能够更好地应对不断演变的网络威胁,提高整体的安全水平。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值