首先收集必要的信息
发现存在php探针,phpinfo,phpmyadmin
常用的垃圾弱口令登录失败。
尝试登录后台,网站使用帝国cms7.2系统
弱口令登录失败,使用网络上帝国cms的通用漏洞,行不通失败。
在知道绝对路径的情况下,dba权限的sql注入可以直接执行os-shell命令拿shell(下载帝国下来看!)。
扫描开放端口,反查域名,寻找最可能存在sql注入的网站。
经过多次尝试,发现了一个联合查询型。且为dba权限的注入点。
sql注入的利用
已知绝对路径,且注入点为dba权限,在平时的大多数渗透中,就已经意味着getshell了。
然而,在这次渗透中,os-shell并没有执行成功。
经过多次尝试都以失败告终,猜测某种waf起了作用。
尝试使用sqlmap的写文件命令(--file-write 本地文件地址 --file-dest 写入地址),直接写入文件到网站目录下。没有找到文件,多次尝试sqlmap无法成功写入文件。
尝试使用sql-shell执行sql语句写入文件。失败,显示不支持非查询语句。
肉到嘴边吃不到呢,这感觉不好,sqlmap中所有能getshell的方法,都试的差不多了,依然没有成功。
这时突然想起了网站存在phpmyadmin,也许可以通过phpmyadmin拿shell。
不知道数据库密码,需要通过sqlmap的--file-read命令读取网站的配置文件。一般情况下网站配置文件的位置是没法确定的,然而,网站使用了帝国cms,一般配置文件的位置是固定的。帝国cms7.0后配置文件在e/config/config.php
成功读取到网站配置信息。
phpmyadmin的利用
使用获取到的密码登录phpmyadmin
执行sql语句写入文件。
执行成功。
访问生成的文件,可以访问到。