0x00 前言

从某个公众号看到的

0x01正文

站库分离思路
站库分离渗透有两个渗透入口点:

  1. web网站
  2. 数据库

两种途径:
1.web站点打入进而站库分离进入数据库,内网渗透
2.数据库打入进而打入站库分离的web网站,内网渗透

一、从 Web 入口渗透

从 Web 入口通常就是通过网站的各种漏洞来 getshell,比如文件上传、命令执行、代码执行、还有 SQL 注入写入一句话(into outfile、日志备份等)。

在获得 Web 权限或者有诸如文件读取等漏洞时,我们还读数据库配置文件、对数据库内容分析、查找数据库备份,进而对数据库目标 ip 进行渗透,以便后续操作。

二、从数据库入口渗透

但是这里要说主要是外网暴露的数据库入口点弱口令;Web 网站 SQL 注入。

从数据库入口渗透,同样主要是为了获取更大的权限,或者扩展我们的渗透成果,比如从数据库里可以得到一些密码信息,用户名等,在后续的内网渗透中可以很有效的帮助我们。

站点是站库分离的,数据库和 Web 不在同一台服务器上,这时候不能写入一句话木马通过 Web 去连,因为路径没有用。如果是从 Web 端找到的 SQL 注入,那么可以通过以下这些方式去做信息收集、获取权限

MYSQL数据库

  1. 定位web端IP地址通过查询information_schema库中的PROCESSLIST可以查询数据库连接情况,因为web应用会产生数据库操作,所以在回显出来的HOST字段中会自带ip端口
    1. select * from information_schema.PROCESSLIST
  2. load_file()获取数据所在服务器敏感信息,如果没有secure_file_priv参数限制(mysql5.7以下)我们还可以load_file对文件内容读取
    1. select load_file(‘c://test.txt’)
    2. 获取网卡信息
      1. /etc/udev/rules.d/70-persistent-net.rules 网卡名称
      2. /etc/sysconfig/network-scripts/ifcfg 网卡静态IP
      3. /var/lib/dhclient/dhclient—网卡.lease

        站库分离判断

        针对获取一定权限的 sql查询
        1)查询web服务器名
        LENOVO-GH*—-select @@servername;
        (2)查询数据库服务器名
        DESKTOP-1HV**—-select host_name();
        对比两个查询结果,即可判断。相同则同站同库,不同就是站库分离
        针对可以执行命令
        直接ipconfig /all 如果是内网,可以用xp_cmdshell ‘telnet myip 80’即可