sql注入-推断是否存在SQL注入-单引号


来自: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注入。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM