Web渗透实战进阶:利用SQL二次注入渗透服务器,修改用户密码

Web渗透实战进阶:利用SQL二次注入渗透服务器,修改用户密码

游戏|数码彩彩2024-06-19 7:48:35329A+A-

什么是二次注入?

恶意数据插入到数据库时被处理的数据又被还原并存储在数据库中,当Web程序调用存储在数据库中的恶意数据并执行SQL查询时,就发生了SQL二次注入。

Web渗透实战进阶:利用SQL二次注入渗透服务器,修改用户密码

 

本课二次注入思路

  • 使用注册页面注册新用户:往数据库存储恶意用户名;
  • 再次访问数据库数据,并利用第一次的恶意用户数据实现SQL注入;

这就是二次注入(不是注入两次),下面为你将演示在不知道对方密码的情况下实现sql注入恶意更改用户的密码!

Web渗透实战进阶:利用SQL二次注入渗透服务器,修改用户密码

 

二次注入实战

首先我们得有一个用于Web渗透的SQL测试页面地址,这里我们以SQLlib进行测试,关注@小白嘿客,前往下方《从新手到Web白帽黑客》视频课程获取完整学习!


专栏
u4eceu65b0u624bu5230Webu767du5e3du9ed1u5ba2
作者:u5c0fu767du563fu5ba2
109币
29人已购
查看

注册用户的地址是:

192.168.31.16/sql/Less-24/index.php

这里我们需要自己再创建一个用户密码修改php文件,用于直接访问数据库并修改用户密码的2.php;加入上方web专栏即可前往专栏资料库下载对应的2.php文件,然后放到win7靶机的下面路径位置!

Web渗透实战进阶:利用SQL二次注入渗透服务器,修改用户密码

 

代码如下:

Web渗透实战进阶:利用SQL二次注入渗透服务器,修改用户密码

 

大概的意思就是:接收用户的三个参数输入(要改密码的用户名,新密码,原始密码),这是一个只能修改已知用户名和已知密码的php文件。但是下面我们可以利用第一次注册的恶意用户名来躲避这个php文件没有过滤单引号导的机制来实现sql二次注入!

火狐访问:

192.168.31.16/sql/Less-24/index.php

然后点击右下角注册新用户!

Web渗透实战进阶:利用SQL二次注入渗透服务器,修改用户密码

 

这里我们注册一个正常的用户,假设这个用户是别人的,我们不知道密码!

用户名:yang
密码:111111

再次使用注册页面,注册一个新的用户:

用户名:yang' -- -
密码:222222

有空格,--代表注释后面,但是为了看得清楚,又使用一个空格和-,但是这个空格和-本身包括后面所有的语句都会被前面的--给注释掉!

Web渗透实战进阶:利用SQL二次注入渗透服务器,修改用户密码

 

此时前往win7靶机的phpmyadmin查看下:

已经注册在数据库里了!

Web渗透实战进阶:利用SQL二次注入渗透服务器,修改用户密码

 

既然注册,我们来访问2.php,修改yang' -- -这个恶意用户的密码,然后你就会发现我们要修改yang' -- -这个用户名的密码,没想到却将yang用户名的密码给修改了!

这样我们就能在不知道yang的密码下,就能登录yang用户了,从而造成数据泄露!

访问2.php需要指定用户名,新密码,旧密码!

火狐浏览:

192.168.31.16/sql/Less-24/2.php?username=yang' -- -&newpass=999999&cpass=222222

意思是:将已知用户名yang' -- -的原始密码222222改成新密码999999!真的会如愿以偿吗?

肯定不会的,先看下图:

Web渗透实战进阶:利用SQL二次注入渗透服务器,修改用户密码

 

你会发现:被执行sql更新密码的语句时,先要找到用户名'yang'-- -',但是由于用户名是恶意的yang'-- -,sql语句本身的前后单引号会形成前面'yang'的闭合!后面的都被-- -注释掉了!这样明摆着就是修改yang这个不是我们自己的用户密码了,现在你得到的用户名是yang,密码是999999,登陆肯定也是yang的所有资料!但自己创建的yang'-- -密码依然没有被修改,真是隔山打牛啊!

我们执行看看,显示成功!

Web渗透实战进阶:利用SQL二次注入渗透服务器,修改用户密码

 

不信?我们去数据库看看有没有修改成功!

发现yang的密码无形被我们修改成功999999了。

Web渗透实战进阶:利用SQL二次注入渗透服务器,修改用户密码

 

那我们来登录下yang的用户,登录成功!当然自己的yang'-- -还是能用原来的密码登陆的。

Web渗透实战进阶:利用SQL二次注入渗透服务器,修改用户密码

 

总结:二次注入重点是,第一次需要往数据库存入数据,这一步不是注入!但是存入的数据是恶意的。第二次我们来提取数据,比如我们修改这个恶意用户名,导致将他人的用户名密码修改了,这就是二次注入的一种实现方式!

点击这里复制本文地址 版权声明:本文内容由网友提供,该文观点仅代表作者本人。本站(https://www.angyang.net.cn)仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

昂扬百科 © All Rights Reserved.  渝ICP备2023000803号-3网赚杂谈