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 –

Backdoor CTF 2013 Web 150 SQLite union injection.gif

可知显位是2、3,然后由于手工猜测太慢,所以我们可以用burpsuite来暴力猜解表名。

1' union select null,null,null from TABLENAME--

Backdoor CTF 2013 Web 150 SQLite brute force table name.gif

可知表名为users,接下来使用同样的方法猜测列名,得到name、password两个列名。

最后payload为1' union select null,name,password from users --

可供参考的文章:PHP/Sqlite下常见漏洞浅析PHP+Sqlite注入步骤简介,另外由于sqlmap没有跑出数据就不再演示了。