网站和数据库分离的情况 在APP渗透测试中怎么提权?



     身为一个业余渗透测试爱好者也是为了赚钱过日子,这两天这砖不搬,回来就想着给大家更

新文章了,所以希望能以帮助点击分享、赞、看以及广告的方式给大家提供一点支持,或是让

我有信心坚持下去,谢谢!@Keefe老哥写的《关于站库分离渗透的思路总结》一文,写得很好

,正好是最近帮朋友@Sin测试泰国某大学时遇到的MSSQL站库分离案例,就索性把这些常用

的方法重新测试了一下。经原作者同意后,根据自己对这篇文章的重新整理,并配上测试图,

便于以后查询,本文大部分内容还是摘自Keefe老哥的博客,笔者在此只是补充了一些方法和

思路。
 
 
什么是站库分离?
 
站库分离实际上就是管理员将网站程序和数据库分别放置在不同的内网服务器上,这样似乎

可以提高数据的安全性,但如果网站存在漏洞,攻击者仍然可以利用Web或Data通道访问内

网数据库服务器上的数据。大多数情况下都是在内网环境中,但也有少数管理员会使用公网

数据库,例如:自己建立公网数据库,建立Amazon/阿里/腾讯/华为RDS云数据库等等,并

且设置白名单IP地址来连接数据库。
 
 
网站与数据库分开的通道。
 
(1)网站通道渗透。
 
Getshell是一个站点上存在各种各样的漏洞,例如文件上载、文件包含、命令执行、代码执

行、SQL注入和写入一句话(Intooutfile,日志备份)等等,当我们获得Webshell权限或存在文

件读取等漏洞时,我们可以阅读数据库配置文件,分析数据库内容,查找数据库备份,然后

渗透到内网数据库服务器。
 
(2)数据库通道渗透。
 
利用数据库通道渗透同样可以获得更高的权限,或者扩展我们的渗透结果。例如从这个数据

库服务器上可以得到一些网站的用户信密码等数据库信息,在后续的内部网络渗透中可以非

常有效的帮助我们。在获取数据库帐户密码或使用oraclemap进入es-shell、oracle-shell时,

由于无法写入Webshell,因此无法使用反编译或嗅探C/S客户端,也无法使用Web站点SQL

注入漏洞等,因此在此数据库服务器中无法使用Webshel,但是可以使用以下方法进行信息

收集和获取权限:首先获取该数据库服务器的权限,然后尝试渗透到Web服务器和内网其他

主机。
分享: