打开题目发现一个登录框,蛮简陋的
各种方法都试过了,就是进不去,难道我太菜了???,看了眼源码,发现了search.php,打开之后是错误用户名的页面,随手看了眼源码,发现了一串base32
Base32:由大写字母与数字组成
Base64:由大小写字母与数字组成
解密后得到
我们尝试闭合掉username来利用order by进行查询,
不过order by貌似被过滤了,尝试大写绕过
查询到第四个字段发现报错,则只有三个字段,利用联合查询
知识点:在联合查询并不存在的数据时,联合查询就会构造一个虚拟的数据,就是如果我们查询一个不存在的数据时,联合查询就会构造一个数据出来。
在2字段的地方提交admin,显示密码错误
在1字段的地方提交admin,显示账号错误,则会知道是有一个admin的账号,3字段则为密码,
name=1' union select 1,'admin','21b95a0f90138767b0fd324e6be3457b'#&pw=789789
(3字段提交的为密码MD5加密后的值,任意数值都可以,具体这里为什么要提交MD5值,偷看了一眼大佬的博客知道的)
拿到flag
本人纯菜鸟一枚,欢迎各位大佬指教