如何对网站进行SQL注入

来源:互联网 发布:无线信号放大软件 编辑:程序博客网 时间:2024/05/19 22:58

在不懂技术的时候,总觉的SQL注入是很牛逼的东西,如何绕过用户名和密码的验证来实现注入呢,写代码时间久了之后,慢慢了解了这个技术,其实不是什么神秘的东西,原理很简单,利用SQL语句本身的逻辑漏洞实现,当然本贴只给新手观看的,因为本人也是新手,老鸟就速度绕道吧

sql绕过用户名和密码,我只讲最简单的一种方式,让大家懂了原理就好

后台从前台获取用户名和密码,
假设账号的字段为user,密码的字段为password,表名为admin
查询用户名和密码的SQL语句为

[php] view plaincopyprint?
  1. <span style="font-size: 14px;">select * from admin where user=$userand passswod=$password </span> 


我们从前台$_POST两个数据

[php] view plaincopyprint?
  1. <span style="font-size: 14px;">$user=$_POST['user'
  2.   
  3. $password=$_POST['password']</span> 

则SQL语句执行的时候,查询语句就为

[php] view plaincopyprint?
  1. <span style="font-size: 14px;">select * from admin where user="or a='a'"and passswod="or a='a'"</span> 

这样执行下来,这个语句的结果就为真,就绕过了用户名和密码的限制

当然,这样的方法有些不好的限制,例如我们分开查询用户名和密码,或者密码使用MD5加密,这种方法就失效了,不过可以试验别的方法,这个简单的例子是为了大家了解什么是SQL注入。



这个例子仅供大家学习,写代码的时候要有安全意识,校验字符串,过滤掉特殊字符串,安全为大,其他次之…