渗透题writeup

平台上两道渗透题writeup

0x0 FuckMySQL1(Rank:300)

Hint: 是渗透题!这是渗透题!虽然也有web的成分!但是这是渗透题!!!

打开题目链接,会随机出现一张图片,图片库中有9张,就是说9张中随机出现一张(不过这些no egg use)

这题我是用扫描器扫到一个admina.php文件,不过正规的思路应该是试着访问 ‘robots.txt’,然后从中发现admina.php

然后是一个登录界面,,用户名是lightless,密码靠社工,或者爆破吧。6位纯数字密码,开头是9

然后跳转到新页面,(这里我发现,如果用扫描器直接扫到这个页面,就可以跳过前面的登录界面。。)

从 管理员的TODO LIST 中得知一个新页面信息,然后用的是vim编辑器

跳到新页面,因为用的是vim,所以尝试php后面加~ 成功下载当前页面的源码,然后就是代码审计了

需要post给后台两个值:key1 & key2。。。

数据库中查询key1的值,因为并不知道key1是多少,所以这里用注入 '='

需要返回一行数据,经过实验,表中只有一行数据,所以只要注入成功就好了,然后需要返回的key2值等于你输入的key2值,,但是我们并不知道key2值。。。所以这里需要黑魔法

这里的黑魔法是 group by xxx with rollup ,,要是我自己,,怎么也想不到’with rollup’这鬼东西,,还是ak大神告诉我的。。。

接着就是需要返回一行,而且是第二行的数据,用到limit,所以payload为: key1='='' group by key2 with rollup limit 1 offset 1%23&key2=

GET Flag!

0x1 FuckMySQL2(Rank:200)

Hint: 是渗透题!这是渗透题!虽然也有web的成分!但是这是渗透题!!!

上题flag下面有这题的提示,base32解密,然后得知前面的那张猫的图片有猫腻。。

下载到本地,在linux系统中直接用命令strings 图片,,得到一个新页面

然后是命令行注入,研究了半天,知道把空格过滤了。。可是我linux的修为还是太差了。。并不知道什么可以代替空格。。。

然后又是ak大神告诉了我一个黑魔法’${IFS}’

所以是127.0.0.||ls${IFS}img

看到img文件夹中又flag文件。

然后就是127.0.0.||cat${IFS}img/flag

GET Flag~~

Summary:两题渗透题,让我学到了三个东西with rollup && offset && ${IFS}