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就是数据库查询语言。他是一种语言,他的作用就是用来查询数据库,简单的有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注入介绍的主要内容,如果未能解决你的问题,请参考以下文章