相关阅读
最近讲了很多与SQL注入相关的内容,今天再来一期实战的视频吧
视频讲解
在本期视频中,我们将教大家两种方法来通过SQL注入方式,第一种:通过分析代码,利用Drupal系统漏洞修改数据库,通过password-hash.sh生成哈希密码,从而修改用户密码。第二种则是通过metaspolit渗透框架一键完成,希望看完对你的网络安全学习有所帮助!
图文教程
通过分析代码,我们可以发现Drupal系统里面有expandArguments函数,通过foreach过滤函数将数据库键转为为值
![图片[1]-如何通过SQL注入修改密码登录后台-FancyPig's blog](https://static.iculture.cc/wp-content/uploads/2022/05/20220522025340272-1024x526.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
这里就是利用对键进行注入写入数据库的
我们可以通过phpmyadmin修改数据,然后鼠标回到最上方就可以看到我们执行的语句,这里我们执行了一个语句
UPDATE `drupal`.`node_revision` SET `title` = `HACKED by me` WHERE `node_revision`.`vid`=1;
然后我们在浏览器里右键审核元素,这里我们看到的提交的表单,右键Edit As HTML
![图片[2]-如何通过SQL注入修改密码登录后台-FancyPig's blog](https://static.iculture.cc/wp-content/uploads/2022/05/20220522025930640-1024x563.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
我们将原有的name
的值,修改为
name[0;UPDATE node revision SET title = 'hacked by me' where nid =1;--]
![图片[3]-如何通过SQL注入修改密码登录后台-FancyPig's blog](https://static.iculture.cc/wp-content/uploads/2022/05/20220522030059153-1024x575.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
然后左边随意输入用户名和密码,点击登录
![图片[4]-如何通过SQL注入修改密码登录后台-FancyPig's blog](https://static.iculture.cc/wp-content/uploads/2022/05/20220522030253720-1024x508.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
然后刷新页面,就会发现一个奇葩的事情,版本更新日志一栏被篡改了
![图片[5]-如何通过SQL注入修改密码登录后台-FancyPig's blog](https://static.iculture.cc/wp-content/uploads/2022/05/20220522030334505-1024x507.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
同样的道理,如果我们知道了如何更新用户数据表的内容,是不是也可以注入呢?
UPDATE `drupal`.`users` SET `pass`=`asdasdasd` WHERE `users`.`uid`=1;
但是这里面涉及到一个问题,就是用户密码保存是哈希值
![图片[6]-如何通过SQL注入修改密码登录后台-FancyPig's blog](https://static.iculture.cc/wp-content/uploads/2022/05/20220522030459318-1024x519.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
那么如何找到哈希算法呢?我们在drupal系统的scripts路径下找到了password-hash.sh
![图片[7]-如何通过SQL注入修改密码登录后台-FancyPig's blog](https://static.iculture.cc/wp-content/uploads/2022/05/20220522030541723-1024x694.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
那我们现在通过这个sh
脚本文件生成哈希值
./scripts/password-hash.sh hackerloiisveryhandsome
然后就可以获得hash值了
![图片[8]-如何通过SQL注入修改密码登录后台-FancyPig's blog](https://static.iculture.cc/wp-content/uploads/2022/05/20220522030645414-1024x360.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
然后,我们把hash值加到刚才的那个sql语句,然后再通过之前的方法在前端写入
![图片[9]-如何通过SQL注入修改密码登录后台-FancyPig's blog](https://static.iculture.cc/wp-content/uploads/2022/05/20220522030754389-1024x568.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
然后通过我们的用户名和密码就可以登录后台了!是不是还挺酷的!
当然,您还可以通过metasploit渗透框架来完成,这里不再赘述!感觉还是动手去复现更快乐一些吧
© 版权声明
THE END
- 最新
- 最热
只看作者