美文网首页测试汇总
表单的SQL注入

表单的SQL注入

作者: 静雨无痕 | 来源:发表于2017-08-18 15:34 被阅读0次

所谓SQL注入:就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。也就是说用sql代码登入你想进的网站,但是你没有账号或密码或是你有一个账号,你就可以用sql注入进入相关的网站,提前你想要的信息。

密码SQL注入:

比如:我的用户名是:foo  密码是:‘or‘1'=’1

sql语句在查询时就变成了下面一句话:

$sql = “select count(*) as ctr from users where username=’foo’ and password=” or ‘1′=’1′ limit 1″;

很明显,现在变成又多了一个条件1=1?只要两个条件有一条符合,就可以返回1,所以foo可以在密码为空的情况可以登录网站。

用户名SQL注入:

比如:填好正确的用户名(marcofly)和密码(test)后,点击提交,将会返回给我们“欢迎管理员”的界面。

sql如下:

$sql=“select * from users where username='marcofly' and password=md5('test')”;

很明显,如果给出正确的用户名和密码就能成功登录网站;但是,如果我们输入一个错误的用户名或密码呢?很明显,登入不了吧。恩,正常情况下是如此,但是对于有sql注入漏洞的网站来说,只要构造特殊的“字符串”,照样能够登入成功。

比如:在用户名输入框中输入:’ or 1=1#,密码随便输入,这时候的合成后的SQL查询语句为:

$sql="select * from users where username='' or 1=1#' and password=md5('')";

语义分析:“#”在mysql中是注释符,这样井号后面的内容将被mysql视为注释内容,这样就不会去执行了,换句话说,以下的两句sql语句等价:

$sql="select * from users where username='' or 1=1#' and password=md5('test')";

等价于

$sql="select * from users where username='' or 1=1";

因为1=1永远是都是成立的,即where子句总是为真,将该sql进一步简化之后,等价于如下select语句:

select * from users 没错,该sql语句的作用是检索users表中的所有字段。

有漏洞的脚本才有机会给你攻击,比如一个带参数的删除脚本a.asp?action=del&id=2你可以改为a.asp?action=del&id=2 or 1这样就有可能删除全部数据------sql注入就是通过类似的手段来破坏数据。

说了以上这么多,总结下来,在测试登录时,只需记住在用户名或密码文本框中输入:'or' 1 '=' 1就可以了。

相关文章

  • 谈谈sql注入之原理和防护(-)

    谈谈sql注入(二)谈谈sql注入(三)谈谈sql注入(四)所谓SQL注入,就是通过把SQL命令插入到Web表单提...

  • 2018年9月13日.NET笔试面试题

    什么是SQL注入?如何避免SQL注入?所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求...

  • 前端安全

    web安全性测试 SQL注入 所谓SQL注入,就是通过把SQL命令插入到 Web表单提交 或输入域名或页面请求的查...

  • SQL注入和Mybatis预编译防止SQL注入

    什么是SQL注入?? 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或页面请求url的查询字符串,最终达...

  • 2018-08-08 Web暴力破解及SQL注入

    SQL注入漏洞概述:所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终...

  • 浅析Statement和PreparedStatement,SQ

    一、SQL注入 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到...

  • web安全

    SQL注入 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗...

  • 2019-03-13

    一、SQL注入 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到...

  • 表单的SQL注入

    所谓SQL注入:就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶...

  • web安全之Sql注入

    1.何为Sql注入? 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最...

网友评论

    本文标题:表单的SQL注入

    本文链接:https://www.haomeiwen.com/subject/atfnrxtx.html