利用SQL二次注入渗透服务器,修改用户密码

二次注入攻击属于SQL注入的一种高级手法,学习web渗透,此法必学!

什么是二次注入?

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

 

 

本课二次注入思路

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

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

 

 

二次注入实战

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

 

注册用户的地址是:

192.168.31.16/sql/Less-24/index.php

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


代码如下:

 

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

火狐访问:

192.168.31.16/sql/Less-24/index.php

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

 

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

用户名:yang
密码:111111

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

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

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

 

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

已经注册在数据库里了!

 

既然注册,我们来访问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!真的会如愿以偿吗?

肯定不会的,先看下图:


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

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

 

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

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

 

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

 

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

版权申明:本站文章均来自网络,如有侵权,请联系01056159998 邮箱:itboby@foxmail.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

猜你还会喜欢下面的内容

    无相关信息

中国领先的互联网域名及云服务提供商

为您提供域名,比特币,P2P,大数据,云计算,虚拟主机,域名交易最新资讯报道

域名注册云服务器