sql学习分享

一,回顾SQL语法

1.查询所有数据库 show databases;

2.选中某个数据库 use 数据库名;

3.展示数据库里的表 show tables;

4.查询t1表的所有数据 select * from t1;

5.条件查询 where

6.order by 排序

order by 字段名

二,数字型注入点

这一类的 SQL 语句原型大概为 select * from 表名 where id=1 若存在注入,我们可以构造出类似与如下的sql注入语句进行爆破:select * from 表名 where id=1 and 1=1

三,GET方式注入

get注入方式比较常见,主要是通过url中传输数据到后台,带入到数据库中去执行,可利用联合注入方式直接注入

使用场景:1.数据不敏感 2.安全性不高 3.长度有限 2kb 4.速度非常快

四,攻击方式小总结

1.给可控参数添加单引号,and 1=1,and 1=2.试过后基本就存在sql注入,之后可采取order by 1-99语句查询该数据表的字段数量。

如该数据表字段数量为3,输入id=1 order by 3 反馈结果和id=1 order by 4反馈一样的结果而id=1 order by 4反馈结果不同,则字段数为3

2.union注入攻击:进行1步骤后,union select 1,2,3 判断在1,2,3中可以输入sql语句的位置,然后即可插入sql语句进行查询

3.boolean注入攻击:针对只反馈yes或no结果的页面,即返回的结果不会存在数据库的数据,只是特定的正确或错误

那么可以试图判断数据库名的长度

‘ and length(database())>=1 --+

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值