对网站和数据库分离的渗透测试经验分享

见过一篇有关web和数据库分离网站相关的渗透讨论,想在下面总结一下收集信息的技巧。有关站库分离形式网站的文章暂时在网上找不到,所以想试着记录下有关站库分离形式网站的渗透思路。分离型的对站图书馆一般有两个渗透入口点。


实际上数据库渗透思想也是比较常规的。但这两个入口点也不外乎两条路。一般,在网站入口中,getshell会利用网站中的各种各样系统漏洞,如文件上载、命令执行、代码执行、SQL注入写操作(intooutfile、日志备份等等)。


当获取web权限或存在文件读取等系统漏洞时,我们也会阅读数据库配置文件,分析数据库内容,寻找数据库备份,然后深入到数据库目标ip,以便后续操作。


从数据库的入口渗透进去。但这一般指的是外网地址显现出的数据库入口点弱口令;Web站点SQL注入。利用数据库入口渗透,同样一般也是为了获得更大的权限,或者扩展我们的渗透效果,比如从数据库中能够 获得一些口令信息,用户名等等,在后续的内网渗透中能够 非常有效地帮助我们。网站与站库是分开的,数据库和web不在同一个服务器上,此时不能写一个单词木马利用web连接,因为路径不可用。如果您在web端发现了SQL注入,那么您可以用下面的方法来收集信息,获得许可。


定位web端ip地址,利用查询information_schema库中的XACESTRIST,能够 看到MYSQL的当前连接状态。由于web应用程序生成查询数据库操作,因此将目标ip:port返回到回显的host字段。我们可以在ip获得web端之后再向web端渗透。在没有secure_file_liter参数限制(MySQL5.7之下)的情况下(load_file)获取数据库所在服务器的敏感信息,也可以采用load_file()函数读取文件内容。利用MSSQL的存储过程,我们可以执行系统命令,并在尝试直接提升权限之后渗透到其他主机,经常采用的两种形式:XP_CMDSHELL和SP_OACREATE,它们能够 探测数据库服务器是否已出网,利用执行ping或curl查看是否已出网,并且经常会遇到MSSQL直接利用命令执行联机。另外,数据库中自然也有一些敏感信息,为了进一步渗透,能够 对密码本或其他信息进行整理。


分享: