sqli-lab(1~10)

Less-1

(1)判断注入点类型:在url后写入1asd,如果结果报错则为数字型,没有报错则为字符型,结果如下,因此Less1为字符型

(2)判断闭合方式:在后方加入单引号或双引号,即1asd'或1asd";如果单引号页面正常则尝试双引号,如果双引号页面也正常,可能就不存在SQL注入
输入单引号后的页面显示为:

''1asd'' LIMIT 0,1  其中,红色部分为输入的内容,蓝色部分为一对引号,因此在输入的内容右边只剩下一个单引号,闭合方式就为单引号

在url中加入注释,即1asd' --+后,原先的''1asd'' LIMIT 0,1'就被视为'1asd' --+ ' LIMIT 0,1;注释的内容都不执行,因此只会执行'1asd';页面显示正常

在输入order by 排序后,可以得知该表中只有3列数据(order by n,n大于3页面都会报错)

如图所示,联合查询中的1,2,3都没有回显;在数据库中输入查询语句select * from users where id = '1' union select 1,2,3;得到结果

想让网页上显示期望的数据,只需将联合查询中左边的查询语句返回结果设置为空,即匹配一个不存在的值,即把其中的1改为-1,这样的操作就使得返回结果仅有联合查询的结果,就是期望显示的数据。

然后就可以使用数据库的函数查找所需的信息,比如当前数据库,所有的数据库,所有的表等待

Less-2

同Less-1,在参数id后添加单引号,查看报错的原因是不需要添加这个单引号,删除单引号后页面正常,同理输入1asd后页面报错,因此Less-2是数字型注入

Less-2同Less-1,区别在于一个是数字型注入,一个是字符型注入。其他操作也同Less-1

?id=1 order by 3 --+ 查看有多少列
?id=-1 union select 1,2,3 --+ 查看有多少数据可以回显
?id=-1 union select 1,2,group_concat(schema_name) from information_schema.schemata --+ 查看所有数据库
?id=-1 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema --+查看所有的表
#查看所有数据库
select schema_name from information_schema.schemata;
#查找security数据库下的所有表
select table_name from information_schema.tables where table_schema='security';
#查找数据表的列名
select column_name from information_schema.columns where table_name='users';
#查找该表的所有字段
select id,username,password from security.users;

Less-3

同Less-1,url后写入id=1’,可以得知闭合方式为'),且为字符型注入

因此,其他操作同Less-1

Less-4

同前面步骤,发现单引号页面正常,就改为双引号,页面错误;且为字符型注入;根据报错的提示来看,闭合方式就为"),即

Less-5

同理可得,闭合方式为单引号

页面只会显示You are in……,无法输出具体信息,所有这里不能使用联合查询

(1)left方法

left的意思是提取字符串左侧的字符,比如left('security',3)从security的左侧提取3位,结果为'sec'
可以用这种方式查找到数据库名称,后续使用脚本,burp suite软件等完成

(2)ascii方法

substr(1,2,3)的意思是从1中的第2个位置提取出3个字符,如图所示,从数据库名称的第1位提取出1个字符,默认使用的数据库是'security',因此提取出's','s'的ascii码是115,所以可以比对提取出的值与ascii码,从而得到数据库的名称。

Less-6

同Less-5,闭合方式为双引号。即?id=1" --+

判断数据库名称的长度

Less-7

同理可得,闭合方式为'))

使用蚁剑添加数据后即可

Less-8


发现有延迟,所以可以使用时间盲注

Less-9

返回值均为you are in……,只能使用时间盲注

Less-10

同Less-9,时间盲注

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值