摘要: 万恶的登录框

一个登录框引起的血案

×01 管理后台隐藏的注册接口

很多系统的后台会用一些本身存在注册功能,但是在后续正式使用的时候,开发人员为了图省事,仅仅删除前端显示的操作。也就是说该系统注册接口仍然存在,只是你在客户端无法找到而已。

案例

这是某系统的管理后台,除了我们所看到的以及HTML源码,js代码均为发现其他有效接口。

1576828476589140.png

此时,我手动将login修改为reg,没想到中奖了。

1576828488934428.png

一般来说我会尝试像reg、register、sign字段,这些字段直接记住手动测试即可,都没必要用字典跑了。

再来看另一个案例:

1576828498652568.png

这个时候我们就要灵活变通了,根据开发人员的命名规则来进行测试,此时我们应该尝试的便是:Reg、Register、Sign。

1576828508351174.png

0×02 目录遍历

当资产仅仅只有一个登陆框时,一定要花费两秒钟的时间来测试这个目录遍历漏洞,讲真,真的只需要两秒钟。

案例

第一秒:直接按快捷键 Ctrl+U(查看页面源代码),讲真,不要再右键点击了,太慢。

1576828516341128.png

第二秒:直接访问https://domain/static/,不要问我为什么直接访问static目录。这个漏洞的确认没必要用路径扫描器去扫。

1576828524241975.png

此时只需要了两秒钟,一个目录遍历漏洞便确认了。后续的则是想办法找敏感文件来扩大危害了。

最后,找到了该系统的备份文件,很常规的一个备份文件的目录,backup。

1576828532359039.png

不过这里有趣的时,遇到了其他困难。

找到数据库配置文件api\app\config\database.php

可以看到加密了,使用了网上的phpjm加密,解密比较费劲,不过过了一会我想到,根本没必要解密。

1576828543959540.png

通过image-20191220101500830封装的数据库文件可以知道database.php文件使用变量$db来存放配置信息。

1576828558626449.png

我只需要新建一个文件,然后包含database.php文件,再打印出配置信息来即可。

1576828570763167.png


上一篇:永恒之蓝ms07-010
下一篇:一次iOS App渗透测试