sql注入介绍

Posted 黑白之道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql注入介绍相关的知识,希望对你有一定的参考价值。


所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。 比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击


SQL注入是从正常的WWW端口通过对页面请求访问,而且表面看起来跟一般的Web页面访问没什么区别,所以目前市面的防火墙很少会对SQL注入发出警报,如果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉。


SQL注入的手法相当灵活,可以根据具体情况进行分析,构造巧妙的SQL语句,从而获取想要的数据。


举出一个非常简单的例子,抓包更改sql语句,Congratulations!


sql注入介绍


sql注入介绍



现在我要告诉大家,我们一直说SQL。到底什么是SQL呢?SQL就是数据库查询语言。他是一种语言,他的作用就是用来查询数据库,简单的有select,update等等


SQL注入的原理,就是从客户端提交特殊的代码,从而收集程序及服务器的信息,从而获取你想到得到的资料


http://www.xxxxx.com/showdetail.asp?id=49

数据库原型是select * from 表名 where 字段=49

http://www.xxxxx.com/showdetail.asp?id=49 and [查询语句]

数据库查询是select * from 表名 where 字段=49 and [查询语句]

如果你以前没试过SQL注入的话,那么第一步先把IE菜单=>工具=>Internet选项=>高级=>显示友好 HTTP 错误信息前面的勾去掉。否则,不论服务器返回什么错误,IE都只显示为HTTP 500服务器错误,不能获得更多的提示信息。

测试步骤,找到asp?id=之类要查询数据库的语句

'

 and 1=1

 and 1=2


SQL注入是最常见的web漏洞之一.这里所有的SQL注入漏洞联系都是用mysql当作数据库.SQL注入是由于程序做SQL查询的时候缺乏编码或者转义用户的输入. 


由于SQL查询语句信息添加方式不同,你需要用不同的语句来完成SQL注入:

· 使用引号:单引或者双引号

· 用反引号

· 直接添加值


例如,如果你想利用字符串构造信息,你可以这么做:


SELECT * FROM user WHERE name="root";

或者

SELECT * FROM user WHERE name='root’;

如果你想用数字构造信息,你可以这么做:

SELECT * FROM user WHERE id=1;

如果你想要用列名来构造信息,你需要这么做:

SELECT * FROM user ORDER BY name;

或者

SELECT * FROM user ORDER BY `name`;

也可以用一个数字当作字符串,不过这样查询会慢一点

SELECT * FROM user WHERE id='1';

信息显示的方式,甚至用到的是什么分隔符,都会决定我们用到什么技术来注入.不过,你不知道它的源代码,你只能试着猜了

你会喜欢






----------------------------------

要闻、干货、原创、专业
关注“黑白之道” 微信:i77169
华夏黑客同盟我们坚持,自由,免费,共享!



以上是关于sql注入介绍的主要内容,如果未能解决你的问题,请参考以下文章

SQL注入攻击介绍

sql注入介绍

Sql注入-6:布尔注入(上)

两种特殊场景的sql注入思路介绍

Sql注入-1:sql注入基本原理

sql注入详细介绍