来自:https://www.cnblogs.com/ichunqiu/p/5749347.html

首先我们需要了解数据是通过什么方式进行输入,这里我总结了三个:

  • GET请求:该请求在URL中发送参数。(https://i.cnblogs.com/EditPosts.aspx?opt=1opt=1就是输入的参数
  • POST请求:数据被包含在请求体中。
  • 其他注入型数据:HTTP请求的其他内容也可能会触发SQL注入漏洞。

我们先在参数后面加个单引号,如:本应该输入1,我们给他输入1' ,结果查询语句变为:select * from users where id = 1';

sql语句执行失败,所以执行结果会返回一个布尔值,即执行的mysql_query的结果为bool(false)

为了更好的了解MySQL错误,我们在

$sql = mysql_query($querry,$con);

后面加上

if(!$sql)
    {
        die('<p>error:'.mysql_error().'</p>');
    }

这样当应用捕获到数据库错误且SQL查询失败时,就会返回错误信息:(我们在参数中添加单引号返回的错误信息)

error:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1

然后借助这些错误,我们这可以推断应该存在SQL注入。

sql注入-推断是否存在SQL注入-单引号的更多相关文章

  1. Java的sql语句 写关键字不需要添加单引号

    Java的sql语句 写关键字不需要添加单引号

  2. sql注入-推断是否存在SQL注入-加法和减法

    这里我们需要区分一下数字型和字符串型: 数字型:不需要使用单引号来表示 其他类型:使用单引号来表示 综合上述,我们可以发现我们的例子是数字型的,这样我们就可以使用加法和减法来判断了. 加法,我们在参数 ...

  3. sql注入-推断是否存在SQL注入-and大法和or大法

    来自:https://www.cnblogs.com/ichunqiu/p/5749347.html 页面不返回任何错误信息,我们就可以借助本方法来推断了,首先我们在参数后面加上 and 1=1和an ...

  4. Statement和PreparedStatement的区别; 什么是SQL注入,怎么防止SQL注入?

    问题一:Statement和PreparedStatement的区别 先来说说,什么是java中的Statement:Statement是java执行数据库操作的一个重要方法,用于在已经建立数据库连接 ...

  5. Statement和PreparedStatement的区别; 什么是SQL注入,怎么防止SQL注入? (转)

    问题一:Statement和PreparedStatement的区别 先来说说,什么是java中的Statement:Statement是java执行数据库操作的一个重要方法,用于在已经建立数据库连接 ...

  6. 【sql注入】浅谈sql注入中的Post注入

    [sql注入]浅谈sql注入中的Post注入 本文来源:i春秋学院 00x01在许多交流群中,我看见很多朋友对于post注入很是迷茫,曾几何,我也是这样,因为我们都被复杂化了,想的太辅助了所以导致现在 ...

  7. sql注入学习笔记,什么是sql注入,如何预防sql注入,如何寻找sql注入漏洞,如何注入sql攻击 (原)

    (整篇文章废话很多,但其实是为了新手能更好的了解这个sql注入是什么,需要学习的是文章最后关于如何预防sql注入) (整篇文章废话很多,但其实是为了新手能更好的了解这个sql注入是什么,需要学习的是文 ...

  8. 【技巧总结】Penetration Test Engineer[3]-Web-Security(SQL注入、XXS、代码注入、命令执行、变量覆盖、XSS)

    3.Web安全基础 3.1.HTTP协议 1)TCP/IP协议-HTTP 应用层:HTTP.FTP.TELNET.DNS.POP3 传输层:TCP.UDP 网络层:IP.ICMP.ARP 2)常用方法 ...

  9. SQL注入原理以及怎样避免注入

    SQL注入:究竟什么时候会用到SQL呢?回答是訪问数据库的时候.也就是说SQL注入-->直接威胁到了数据源,呵呵.数据库都收到了威胁,站点还能正常现实么? 所谓SQL注入,就是通过把SQL命令插 ...

随机推荐

  1. Excel身份证验证,身份证校验公式

    =IF(LEN(Q4)=0,"空",IF(LEN(Q4)=15,"老号",IF(LEN(Q4)<>18,"位数不对",IF(CH ...

  2. java proxy 转包

    package org.rx.socks.proxy; import io.netty.channel.Channel; import io.netty.channel.ChannelFuture; ...

  3. css实现标题左右横线

    最近用到了记录一下 页面 <div class="subtitle"> 马上邀请好友得奖励 </div> 样式 .subtitle { position: ...

  4. [Java concurrent][Collections]

    同步容器类 同步容器类包括Vector和Hashtable,二者是早期JDK的一部分.以及一些在JDK1.2中添加的可以由Collections.synchronizedXxx等工厂方法创建的. 这些 ...

  5. Python第五章(北理国家精品课 嵩天等)

    函数和代码复用 函数的定义和使用 def <函数名>(<参数(0个或多个)>): <函数体> return <返回值>可选参数放在不可选参数之后*b不定 ...

  6. visual c++如何显示行号

    工具 -> 选项 -> 文本编辑器

  7. styled-components的基本使用

    一.官网地址 https://www.styled-components.com/ 二.styled-components 1.styled-components 样式化组件,主要作用是它可以编写实际 ...

  8. chrome console.log失效

    把红框里的内容去掉就可以了 那个框是过滤..

  9. 第二次scrum冲刺

    一.第二次冲刺任务         Scrum是在已有的基础上实现读者查询书籍的功能. 二.用户故事         用户输入账号.密码   用户输入需要查询的书籍   系统显示用户输入的信息的详细信 ...

  10. Firefox下载附件乱码的解决办法

    通过在http的header里设置fileName下载附件时,中文文件名通过chrome浏览器下载时正常,通过firefox下载时为乱码: 原来的Java代码: response.addHeader( ...