实验吧_简单的sql注入_1、2、3
看着这个简单的界面,一时间没有特别好的思路,先输入一个1',发生了报错

初步猜测这是一个字符型的注入,他将我们输入的语句直接当成sql语句执行了,按题目的意思后面肯定过滤了很多注入语句,我就先来尝试一些基本的语句

难道把union select都给过滤了?一阵绝望后接着试,试了好多后完全没思路
接着大概就是传说中的运气吧


这两个现象让我猜测过滤的是两个空格以及空格中间的字符串,绕过空格有好多方法:+,/**/,%0a,这里我用/**/代替空格构造一个查询语句:

拿到数据库,接下来就是常规的注入语句,具体可见之前写的注入关
嘿嘿,你以为是常规语句就能解决的,怕不是活在梦里

经过一番测试,table_schema都被和谐了,这还怎么玩,突然想到之前有个字符串拼接的方法赶紧来试试

好像并没有什么卵用,算了,去看wp吧。
后来发现原来要把limit以及后面的东西都给去掉,这个我实在是不知道原因,请知道的大佬招呼一声。

出现了flag表,继续注入

貌似column_name也被和谐了,确认之后确实是的,还是老方法绕过,发现还有东西被过滤,试了一试是information_schema.columns,再绕一次

flag就是我们想要的字段啊

太累了,但也学到了不少东西
简单的sql注入之2
瞎试一通后发现还是过滤了空格嘛,同样的手法还能连用两题的啊,继续深入

气死了,database()被过滤了,那就查所有的数据库

还是熟悉的配方,熟悉的web1,继续走

又让我找到了flag表,继续

最后一步

跟上一题一模一样,跟捡的一样。
简单的sql注入之3
一开始老套路先给个1'肯定是会报错的
先拿个基于时间的盲注语句试试水

返回了一个don't,尝试了语句中的每个指令,原来是sleep()被过滤了
突然想到了一开始看到的报错信息,那就再试试报错注入

又过滤了floor()函数,我就知道不会这么简单


经过1=1与1=2的对比,我猜测当后面的sql语句成功执行就会返回hello,否则就无回显。
这就跟基于时间的盲注一个原理么。原理猜到了,但由于对数据库命令并不熟,我还是去查看了wp。
原来这边除了上面这点还要利用一下报错:
?id=1' and (select count(*) from 表名)>0 %23
表名不存在时,报错

由此我们得知数据库名为web1,
接下里跑表的语句还是?id=1' and (select count(*) from 表名)>0 %23
这里因为我没有表名字典,所以也没啥可跑的,求表哥们赏我一份字典吧
只能简单的拿?id=1' and (select count(*) from flag)>0 %23测试一下,返回了hello说明flag表存在
猜列的手法如出一辙
?id=1'union select 列名 from flag %23可以拿个字段字典放burp里跑,我这里还是进行简单的测试
?id=1'union select flag from flag %23后返回了hello,说明存在flag列
接下来就是最重要的一步——猜字符
?id=1'and ascii(substr((select flag from flag),1,1))=ASCII%23原理就是这条语句
对ASCII码进行爆破,值从30到127
这里贴上我参考过的大佬的wp
【实验吧】CTF_Web_简单的SQL注入之3
实验吧_简单的sql注入_1、2、3的更多相关文章
- 【实验吧】CTF_Web_简单的SQL注入之3
实验吧第二题 who are you? 很有意思,过两天好好分析写一下.简单的SQL注入之3也很有意思,适合做手工练习,详细分析见下. http://ctf5.shiyanbar.com/web/in ...
- 实验吧之【简单的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加个但引号,结果下面有返回错误, ...
- 实验吧简单的sql注入3
今天早上起来发现有人评论说我没更新实验吧sql注入3,主要是因为前段时间都去做bugku去了 但是重做这道题发现以前的姿势不行了,exp()报错不再溢出,现在不能用这个姿势,所以这里重新整理了一遍思路 ...
- 【实验吧】CTF_Web_简单的SQL注入之1
题目链接:http://ctf5.shiyanbar.com/423/web/ 简单的SQL注入之1,比2,3都简单一些.利用2 的查询语句也可以实现:1'/**/union/**/select/** ...
- 简单的SQL注入学习
引贴: http://blog.163.com/lucia_gagaga/blog/static/26476801920168184648754/ 首先需要编写一个php页面,讲php页面放入/opt ...
- union注入的几道ctf题,实验吧简单的sql注入1,2,这个看起来有点简单和bugku的成绩单
这几天在做CTF当中遇到了几次sql注入都是union,写篇博客记录学习一下. 首先推荐一篇文章“https://blog.csdn.net/Litbai_zhang/article/details/ ...
- 实验吧—Web——WP之 简单的sql注入之2
直接打开解题连接: 既然是SQL注入,那么我们就要构造注入语句了,这个就要有耐心一个一个去尝试了 输入语句 1'and 1=1 # 和 1'and/**/1=1/**/#后 对比一下,发现是过滤掉了空 ...
- 一道简单的SQL注入题
这是我真正意义上来说做的第一道SQL题目,感觉从这个题目里还是能学到好多东西的,这里记录一下这个题目的writeup和在其中学到的东西 link:https://www.ichunqiu.com/ba ...
随机推荐
- 基于bootstrap的表格数据展示
一.导入bootstrap文件 二.前端html代码 对应的是前台条件查询和js数据获取 js数据获取部分在第四段 三.后台数据 total为集合总数 int类型 rows为前台需要展示的数据集合 ...
- 【LATEX】个人版latex论文模板
以下是我的个人论文模板,运行环境为Xelatex(在线ide:Sharelatex.com) 鉴于本人常有插入程序的需求,故引用了lstlisting \RequirePackage{ifxetex} ...
- 2017-2018-1 20155215 第九周 加分项 PWD命令的实现
1 学习pwd命令 Linux中用 pwd 命令来查看"当前工作目录"的完整路径. 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录. 在不太确定当前位置时,就会使用pw ...
- 201621123062《java程序设计》第12周作业总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 思维导图: 2. 面向系统综合设计-图书馆管理系统或购物车 使用流与文件改造你的图书馆管理系统或购物车. 2. ...
- 雷云Razer Synapse2.0使用测评 -第二次作业
雷蛇云驱动Razer Synapse2.0使用测评 雷蛇(Razer)是全球顶级游戏设备品牌之一,1998年由CEO Min-Liang Tan和Robert "Razerguy" ...
- 【iOS】swift 枚举
枚举语法 你可以用enum开始并且用大括号包含整个定义体来定义一个枚举: enum SomeEnumeration { // 在这里定义枚举 } 这里有一个例子,定义了一个包含四个方向的罗盘: enu ...
- C# 使用 GDI+ 画图
最近做一个微信公众号服务,有一些简单的图片处理功能.主要就是用户在页面操作,前端做一些立刻显示的效果,然后提交保存时后端真正修改原图. 我们的后端是 ASP.NET,也就是 C# 语言了,C# 本身处 ...
- C# 使用 ffmpeg 进行音频转码
先放一下 ffmpeg 的官方文档以及下载地址: 官方文档:http://ffmpeg.org/ffmpeg.html 下载地址:http://ffmpeg.org/download.html 用 f ...
- Linux系统把/home重新挂载到其他硬盘或分区
一开始没有做好规划,导致/home空间不足,再加上分区表不是GPT,导致无法扩展超过2T,因此需要重新划分一块更大的硬盘给/home. 1.把新挂载的4T硬盘进行分区和格式化 2.创建目录 sudo ...
- Mego开发文档 - 数据库建模
数据库建模 我们还提供了一些其他的特性,用于定制化数据库对应的数据结构. 表映射 框架默认会使用CLR类型名称做为实际数据库的表名,当两者不一致时可以使用该特性强制表名称. [Table(" ...