Backdoor CTF 2013 Web 150
0x00 题目
现在,你发现了H4x0r的公告网,这个站点在很久之前就建立了,所以有可能存在一些漏洞。
找到网站管理员密码的MD5值。
0x01 解题
打开网站,查看源码,POST的是id,输入1返回正常的查询数据,输入1' and 1=2 --
返回正常没有查询数据,说明1' and 1=2 --
成功执行,那么题目可能就是POST型的注入。
尝试输入1' #
结果报错,说明不是MySQL数据库管理系统,由于是网页是PHP的,所以可能是PostgreSQL或者SQLite数据库管理系统(version()等等查询被禁用),后来用sqlmap测试了一下是SQLite。
先检查当前表的列数,输入1' order by 3 --
正常,输入1' order by 4 --
错误,说明有3列。
然后尝试union注入,1’ union select 1,2,3 –
可知显位是2、3,然后由于手工猜测太慢,所以我们可以用burpsuite来暴力猜解表名。
1' union select null,null,null from TABLENAME--
可知表名为users,接下来使用同样的方法猜测列名,得到name、password两个列名。
最后payload为1' union select null,name,password from users --
可供参考的文章:PHP/Sqlite下常见漏洞浅析,PHP+Sqlite注入步骤简介,另外由于sqlmap没有跑出数据就不再演示了。