WEB渗透测试中回显的一些技巧

congtou 2017-6-28 渗透技巧 0 0

在很多场景中,WEB是渗透测试的一个相对容易的入口。通常经过测试授权后,我们会先尝试拿到一个WEBSEHLL,然后再通过各种方法提权,来控制一台内网机器,然后利用这台内网机器控制整个内部网络。

在进行WEB渗透的时候,我们通常会通过后台弱口令、SQL注入、XSS、任意文件上传等漏洞来进行攻击测试。在测试的时候我们会根据服务器返回信息来判断漏洞是否存在,也是根据服务器返回的信息来判断我们能否成功执行命令,能否成功读取服务器上的文件。因此我们在进行渗透测试的时候,能否及时获得服务器相应的反馈信息尤为重要。本文将通过实际研究,来寻找各种及时获得服务器响应数据的技术、方法,为渗透测试铺平道路。下面将模拟一个实例来进行研究分析。

假如在渗透测试的时候,我们通过对主域名进行C段扫描,发现了一个子域名,并且该子域名存某处存在sql注入漏洞,通过测试发现,该注入点支持UNION查询如图:

1

从返回信息我们能够知道数据库版本,也知道了数据库服务器是windows操作系统。但是给服务器发送HTTP请求后,返回数据包如下:

1

通过返回的数据,我们判断服务器是LINUX系统。从目前的信息来看,WEB服务器在一台LINUX系统上,然而它使用的数据库在一台WINDOWS系统上。这样我们就无法直接通过数据库操作来获得一个WEBSHELL了。接下来我们的思路是想办法来控制这台数据库服务器,从而获得一台内网服务器的权限,然后再去渗透其他内部服务器。
首先我们对数据库当前用户的权限进行判断:

1

返回正常信息,由此我们判断数据库当前用户具有系统管理员权限。这个时候本以为简单地用sqlmap跑一下 就直接可以结束工作了。

1

我们可以看到这个时候sqlmap并没有正常工作,可见sqlmap无法直接对https的连接进行注入。这里有个小技巧,我们让sqlmap通过代理访问网络就可以达到目的。首先配置好burp让burp可以成功抓取https数据包,然后用burp作为代理,在执行sqlmap时加上参数 –proxy http://127.0.0.1:8080,这样应该就可以了。实际测试时候发现,sqlmap自带的useragent 导致请求的数据包没有返回信息,因此我们加入了参数—user-agent ‘’ ,我们测试如下:

1

Sqlmap这时候非常不给力,我们执行的命令根本没有返回结果,也可能命令根本并没有执行成功。这时候只有我们自食其力了。
数据库具有系统管理权限,sqlmap执行os-shell时已经提示了xp_cmdshell恢复成功,我们想到的首先就是通过xp_cmdshell执行命令。当然我们是无法看到命令执行结果的,我们通过ceye.io申请了一个账户,准备通过DNS记录来看执行命令成功与否。通过ping 然后查询dns记录来判断命令知否执行成功

1

1

通过查看ftp服务器日志 可以判断是否下载成功。

1

文件名带入了ping请求里了,这时我们看看DNS日志记录:
成功读取到了文件名

1

文章出处: admin 疯猫网络

 

转载请注明来自华盟网,本文标题:《WEB渗透测试中回显的一些技巧》

喜欢 (0) 发布评论