发布于3月6日3月6日 Members 前言 本次我们将配合Burpsuite进行代码审计 如果此时你感觉burpsuite配置麻烦,或者报错,或者英文看不懂 附上此次用的开盒即用中文版burpsuite: 最新BurpSuite2023专业汉化版下载(无需任何配置) 2年前29106110 此外因为SQL靶场 有些人配置错误,或者配合Phpstudy感觉配置麻烦 我此次建了几个外网靶场 大家可以使用(请勿攻击 sql.yhu.cc sql1.yhu.cc sql2.yhu.cc sql4.yhu.cc 实战 房间地址:https://tryhackme.com/room/burpsuiterepeater 靶机:10.10.101.97 其实本次主要是使用Burp只不过期中有个很简单SQL注入 这个难易程度还不及SQL注入靶场前几个的难度 看一下这个网站 这里应该是他们的成员随便点进去看看 打开burpsuite拦截 刷新 发送到重放器里 关掉拦截 点击重放器里查看 我们该about2 检查一下内容 让我们改2’看看有没有SQL注入 看来他是有的 这里判断出闭合符号为空 就比如: SQL靶场中 这里是没有任何包裹的 当然也有包裹的 闭合符号需要我们判断 如 闭合符号是’) 所以我们是需要通过数据库报错信息查看闭合符号的 我们已经查到这个网站是没有任何包裹的 从这个图中 我们看到有五列 来自people数据库表 SQL注入有联合union联合查询 暴库 暴表 有点多—- 我们这里就用靶场给的提示吧 /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这样 可以看到他们应该是给了limit限制 只显示一条所以我们需要 把第一个显示给回显掉 我们就能查看后来我们union全部结果,根据上述出的报错信息可以看到显示查询的是五列 我们用null null null null顶替后四列 0实际上本来就没有 我们正是通过把0的数据回显掉 这样 查询我们想要的值 幸运的是,我们可以使用SQLi对结果进行分组。我们仍然一次只能检索一个结果,但是通过使用该group_concat()函数,我们可以将所有列名合并到一个输出中: 俗称:前面说是暴库暴表 这里俗称暴字符 /about/0 UNION ALL SELECT group_concat(column_name),null,null,null,null FROM information_schema.columns WHERE table_name="people" 上下两图也给了我们回显结果 一共是八列:id、firstName、lastName、pfpLink、role、shortRole、bio notes。 这个八列是总的表是八列 上述的五列是查询的时候的五列 请不要搞混 接上文如果我们把0改成已经存在的1呢 让他不回显 如果改成存在的我们就不能看到正常内容 根据一号是CEO 以及上述的八列 flag极可能隐藏在notes表中 暴! 0 UNION ALL SELECT notes,null,null,null,null FROM people WHERE id = 1 ok flag已出