[极客大挑战 2019]HardSQL;[MRCTF2020]Ez_bypass;[网鼎杯 2020 青龙组]AreUSerialz

[极客大挑战 2019]HardSQL;[MRCTF2020]Ez_bypass;[网鼎杯 2020 青龙组]AreUSerialz

[极客大挑战 2019]HardSQL

测试发现空格被过滤了,可以使用括号绕过
还过滤了一些sql的字符,如union等
尝试使用报错注入就成功了

查库
在这里插入图片描述查表
在这里插入图片描述查字段
在这里插入图片描述

查字段内容,
这里限制了输出的位数,可以使用substr,但是也被过滤了,故还可以使用left,right函数实现输出
在这里插入图片描述

在这里插入图片描述

[MRCTF2020]Ez_bypass

md5的强比较,可用数组绕过,弱比较转换类型后再比较,所以可用1234567a,它会转换成1234567后再比较
在这里插入图片描述得到flag
在这里插入图片描述

[网鼎杯 2020 青龙组]AreUSerialz

str参数传递给is_valid检查ascii码是否在32到125之间
在这里插入图片描述
function __destruct()对象销毁时执行,
function __construct()对象创建时执行

故这里执行function __destruct(),op的强类型比较为2时,将op改为1,之后传给process
在这里插入图片描述若op的弱类型比较等于2,就执行read

在这里插入图片描述
存在file_get_contents,之后可用伪协议读取文件
在这里插入图片描述
payload:op=2时,强类型比较为false,弱类型比较为ture,故执行read,


<?php
    class FileHandler {
    
        protected $op= 2;
        protected $filename= "php://filter/read=convert.base64-encode/resource=./flag.php";
        protected $content;
    }
    $a=new FileHandler();
    $b=serialize($a);
    echo ($b);

得到,因为这里不是public,会在参数前加\00*\00,它没有在is_valid函数规定的范围里,就没有绕过
在这里插入图片描述故应该将protected改为public
因为PHP7.1+对类的属性类型不敏感
在这里插入图片描述

base64解密后得到flag
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值