简单的sql注入1

看着这个简单的界面,一时间没有特别好的思路,先输入一个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的更多相关文章

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

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

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

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

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

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

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

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

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

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

  6. 简单的SQL注入学习

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

  7. union注入的几道ctf题,实验吧简单的sql注入1,2,这个看起来有点简单和bugku的成绩单

    这几天在做CTF当中遇到了几次sql注入都是union,写篇博客记录学习一下. 首先推荐一篇文章“https://blog.csdn.net/Litbai_zhang/article/details/ ...

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

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

  9. 一道简单的SQL注入题

    这是我真正意义上来说做的第一道SQL题目,感觉从这个题目里还是能学到好多东西的,这里记录一下这个题目的writeup和在其中学到的东西 link:https://www.ichunqiu.com/ba ...

随机推荐

  1. struct2_拦截器知识点.

    Struts2拦截器原理: Struts2拦截器的实现原理相对简单,当请求struts2的action时,Struts 2会查找配置文件,并根据其配置实例化相对的拦截器对象,然后串成一个列表,最后一个 ...

  2. JavaScript Alert 函数执行顺序问题

    * { color: #3e3e3e } body { font-family: "Helvetica Neue", Helvetica, "Hiragino Sans ...

  3. 每日冲刺报告-Day4

    敏捷冲刺报告--Day4 情况简介 今天完成前端后端任务对接, GUI主体编写 任务进度 赵坤: 完成后端爬虫 李世钰: 前后端对接, GUI编写 黄亦薇:召集小组成员开会,帮助查找资料,寻找BUG ...

  4. C语言--期末总结

    一. 1.当初你是如何做出选择计算机专业的决定的?经过一个学期,你的看法改变了么,为什么? 你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗? 为什么? 答:当初报志愿的时候,没有具体的想法,只凭借着 ...

  5. C++类型萃取

    stl中的迭代器和C++中的类型萃取: http://www.itnose.net/detail/6487058.html 赐教!

  6. python的Flask 介绍

    Flask 介绍 知识点 微框架.WSGI.模板引擎概念 使用 Flask 做 web 应用 模板的使用 根据 URL 返回特定网页 实验步骤 1. 什么是 Flask? Flask 是一个 web ...

  7. Django 个性化管理员站点

    from django.contrib import admin # Register your models here. from .models import Moment class Momen ...

  8. 关于安装win7系统时出现0x0000007b电脑蓝屏代码的问题

    问题解析: 0X0000007B 这个错误网上都说是sata硬盘的什么引导模式的原因引起. 在网上查找了很久,大概引起错误的原因就是:sata和ide两种模式不同,前者可以装win7系统,后者是xp系 ...

  9. SourceTree 实现 git flow 流程

    为什么使用 git 和 git flow,这篇文章 深入理解学习Git工作流 的内容相信能够给你一个完整的答案. 我们以使用SVN的工作流来使用git有什么不妥? git 方便的branch在哪里,团 ...

  10. 利用封装、继承对Java代码进行优化

    注:本文实例分别可以在oldcastle(未优化的代码)和newcastle(优化后的代码)中查看,网址见文末 城堡游戏: 城堡中有多个房间,用户通过输入north, south, east, wes ...