[THM红队]靶场之Burpsuite 简单SQL注入

前言

本次我们将配合Burpsuite进行代码审计 如果此时你感觉burpsuite配置麻烦,或者报错,或者英文看不懂

附上此次用的开盒即用中文版burpsuite:

此外因为SQL靶场 有些人配置错误,或者配合Phpstudy感觉配置麻烦

我此次建了几个外网靶场 大家可以使用(请勿攻击

sql.yhu.cc

sql1.yhu.cc

sql2.yhu.cc

sql4.yhu.cc

图片[1],[THM红队]靶场之Burpsuite 简单SQL注入,网络安全爱好者中心-神域博客网

实战

房间地址:https://tryhackme.com/room/burpsuiterepeater

靶机:10.10.101.97

图片[2],[THM红队]靶场之Burpsuite 简单SQL注入,网络安全爱好者中心-神域博客网

其实本次主要是使用Burp只不过期中有个很简单SQL注入 这个难易程度还不及SQL注入靶场前几个的难度

看一下这个网站

图片[3],[THM红队]靶场之Burpsuite 简单SQL注入,网络安全爱好者中心-神域博客网
图片[4],[THM红队]靶场之Burpsuite 简单SQL注入,网络安全爱好者中心-神域博客网
图片[5],[THM红队]靶场之Burpsuite 简单SQL注入,网络安全爱好者中心-神域博客网

这里应该是他们的成员随便点进去看看

图片[6],[THM红队]靶场之Burpsuite 简单SQL注入,网络安全爱好者中心-神域博客网

打开burpsuite拦截

刷新

图片[7],[THM红队]靶场之Burpsuite 简单SQL注入,网络安全爱好者中心-神域博客网
图片[8],[THM红队]靶场之Burpsuite 简单SQL注入,网络安全爱好者中心-神域博客网

发送到重放器里

关掉拦截

图片[9],[THM红队]靶场之Burpsuite 简单SQL注入,网络安全爱好者中心-神域博客网

点击重放器里查看

图片[10],[THM红队]靶场之Burpsuite 简单SQL注入,网络安全爱好者中心-神域博客网

我们该about2 检查一下内容

图片[11],[THM红队]靶场之Burpsuite 简单SQL注入,网络安全爱好者中心-神域博客网

让我们改2’看看有没有SQL注入

图片[12],[THM红队]靶场之Burpsuite 简单SQL注入,网络安全爱好者中心-神域博客网

看来他是有的

图片[13],[THM红队]靶场之Burpsuite 简单SQL注入,网络安全爱好者中心-神域博客网

这里判断出闭合符号为空

就比如:

SQL靶场中

这里是没有任何包裹的

图片[14],[THM红队]靶场之Burpsuite 简单SQL注入,网络安全爱好者中心-神域博客网

当然也有包裹的 闭合符号需要我们判断

图片[15],[THM红队]靶场之Burpsuite 简单SQL注入,网络安全爱好者中心-神域博客网

闭合符号是’) 所以我们是需要通过数据库报错信息查看闭合符号的 我们已经查到这个网站是没有任何包裹的

从这个图中

图片[16],[THM红队]靶场之Burpsuite 简单SQL注入,网络安全爱好者中心-神域博客网

我们看到有五列 来自people数据库表

SQL注入有联合union联合查询 暴库 暴表 有点多—-

我们这里就用靶场给的提示吧

图片[17],[THM红队]靶场之Burpsuite 简单SQL注入,网络安全爱好者中心-神域博客网
/about/0 UNION ALL SELECT column_name,null,null,null,null FROM information_schema.columns WHERE table_name="people"

这里用到union联合查询 从people表里查询

看到ID=0的时候是没有的 为什么要ID=0的时候呢 这里用到的是回显:

这里靶场没有解释,我给大家解释一下,union是需要表数列数跟前面查询的列数必须是一样的 如果前面显示是两个union后面查询也必须是两个 如果不是,就会报错 ,

如以下是三列 使用union select的时候必须是三列

查询的时候就需要 union select 1,2,3这样

图片[18],[THM红队]靶场之Burpsuite 简单SQL注入,网络安全爱好者中心-神域博客网

可以看到他们应该是给了limit限制 只显示一条所以我们需要

把第一个显示给回显掉 我们就能查看后来我们union全部结果,根据上述出的报错信息可以看到显示查询的是五列

我们用null null null null顶替后四列

0实际上本来就没有 我们正是通过把0的数据回显掉 这样 查询我们想要的值

图片[19],[THM红队]靶场之Burpsuite 简单SQL注入,网络安全爱好者中心-神域博客网

幸运的是,我们可以使用SQLi对结果进行分组。我们仍然一次只能检索一个结果,但是通过使用该group_concat()函数,我们可以将所有列名合并到一个输出中:

俗称:前面说是暴库暴表 这里俗称暴字符

/about/0 UNION ALL SELECT group_concat(column_name),null,null,null,null FROM information_schema.columns WHERE table_name="people"
图片[20],[THM红队]靶场之Burpsuite 简单SQL注入,网络安全爱好者中心-神域博客网

上下两图也给了我们回显结果 一共是八列:idfirstNamelastNamepfpLinkroleshortRolebio notes

这个八列是总的表是八列 上述的五列是查询的时候的五列 请不要搞混

图片[21],[THM红队]靶场之Burpsuite 简单SQL注入,网络安全爱好者中心-神域博客网

接上文如果我们把0改成已经存在的1呢 让他不回显

图片[22],[THM红队]靶场之Burpsuite 简单SQL注入,网络安全爱好者中心-神域博客网

如果改成存在的我们就不能看到正常内容

根据一号是CEO

图片[23],[THM红队]靶场之Burpsuite 简单SQL注入,网络安全爱好者中心-神域博客网

以及上述的八列

flag极可能隐藏在notes表中

图片[24],[THM红队]靶场之Burpsuite 简单SQL注入,网络安全爱好者中心-神域博客网

暴!

0 UNION ALL SELECT notes,null,null,null,null FROM people WHERE id = 1
图片[25],[THM红队]靶场之Burpsuite 简单SQL注入,网络安全爱好者中心-神域博客网

ok flag已出

------本文已结束,感谢您的阅读------
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容