SQLite injection
burte force
Task
|
|
Solution
基本功能就是,提供了一堆的paper下载。。一共有30个pdf。整个站的基本结构如下:
访问 https://flatscience.flatearth.fluxfingers.net/robots.txt 得到:
存在一个登陆页面: https://flatscience.flatearth.fluxfingers.net/login.php
view-source下:
访问 https://flatscience.flatearth.fluxfingers.net/login.php?debug ,得到源代码:
通过POST接收usr和pw参数。没有做任何过滤,带入sql查询。若查询的结果id字段不为空,则执行setcookie操作,会将查询的结果name字段插入到cookie中。
考虑如下数据包:
注意sqlite的注释符是--
,带入查询后,sql注入的结果是:
从and
起后面部分被注释掉。利用union联合查询sqlite系统表( sqlite_master),得到的id值其实是表的名字(name),而得到的name值其实是创建表时的语句(sql)。
即:
结合上面的这条语句,以及下面几条注入语句:
通过偏移,可以得到表中数据。
name | password | hint |
---|---|---|
admin | 3fab54a50e770d830c0416df817567662a9dc85c | my fav word in my fav paper?! |
fritze | 54eae8935c90f467427f05e4ece82cf569f89507 | my love is…? |
hansi | 34b0bb7c304949f9ff2fc101eef0f048be10d3bd | the password is password |
直接去查没查出来。结合源码:
而hint:
所以将网站上所有的pdf文件下载下来(30个吧)。利用paper中的词尝试进行爆破。最后脚本如下:
得到密码为:ThinJerboa
访问 https://flatscience.flatearth.fluxfingers.net/admin.php 登陆得到flag:
|
|