SQL注入基础

SQL注入产生原理

  • 在参数传递,数据接收,数据交互,数据库执行四个步骤中,没有处理得当,通过参数传递,可以直接与之前的sql语句进行拼接。 通过恶意sql语句的拼接并且执行就可产生sql注入。

如何判断是否存在注入点(以mysql为例)

两种方法的本质都是检测拼接的sql语句是否执行

  • and 1=1页面返回正常,and 1=2返回不正常

        127.0.0.1/sqli-labs-php/Less-1/?id=1' and 1=1 --+

         http://192.168.177.132/sqli-labs-php/Less-1/?id=1' and 1=2--+

  •  可疑的注入点后随意输入数据,若网站带入执行说明存在注入点,若网站没反应,返回404,自动跳转等说明不存在注入点

明确参数类型

不同的参数类型会存在不同的干扰符号,这些干扰符号会导致语句成为无效的字符串,常见的干扰符号有',",%,),}等。

数字型:变量可直接赋值,也可通过引号包裹赋值

字符型:字符串必须用引号包裹赋值

搜索型:数据两端存在通配符%

明确请求方法

不同的请求方式请求的数据类型,大小都不一样,注入前应首先明确参数的请求方法。

GET:

URL:127.0.0.1/1.php?x=123

请求行 GET /1.php?x=123 HTTP/1.1

POST(常出现于登录框): 

URL:127.0.0.1/1.php

Post data:x=123

请求行:POST /1.php HTTP/1.1

请求体:x=123

REQUEST:

GET,POST,COOKIE中的数据都可接收

COOKIE注入:后面补充

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这是小刘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值