作者:myles007

预估稿费:300RMB

投稿办法:发送邮件至linwei#360.cn,或上岸网页版在线投稿

jsp数据写入数据库数据库衔接池信息泄漏引起的主机失守实战记载 Python

本篇实战文档紧张是跟大家互换分享学习一份由于一个由于“xml配置文件”的信息透露在合营各种配置不当和平台漏洞的情形下,终极引发的一起主机沦陷的个人渗透测试学习条记,仅为个人的学习总结,希望各位途经大大多多指示。

1.xml配置文件信息透露

通过前期的信息网络,创造了配置文件web.xml直接暴露在网络中,通过读取创造了“数据库连接池”与“后台管理”的访问目录信息。

2.数据库连接池账号密码暴露

通过前面数据连接池目录/pool/的挖掘,我们可以直接访问本目录,通过目录信息的读取,我们创造平台直接连接后台数据库的账号和密码信息。

3.管理后台暴露

通过前面配置文件信息透露的后台管理路径信息,我们直接访问目录/admin,可以直接找到后台的管理界面,详细信息如下。

4.数据库上岸考试测验

我们在获取数据库上岸账号后,直接考试测验连接数据库管理后台,通过考试测验创造竟然可以直接登录成功,并成功读取了数据库root账号的密码以及后台管理账号的密码信息。

4.1.数据库管理账号信息挖掘

4.2.后台管理账号密码挖掘

5.考试测验写入jsp脚本测试

我们在获取后台数据库掌握权限后,为进一步获取主机的掌握权限,首先想到考试测验利用数据库的写入操作权,直接写入jsp脚本,获取主机的掌握权限。

5.1.考试测验写入jsp脚本

5.1.1.写入路径查找

对付写入路径查找,最直接的方法便是访问系统登录页面的的图片路径,网络其存放的的路径信息,当然这里的路径信息可能是相对路径信息,而非物理路径信息,不过我们可以直接测试下,大概我们的运气比较好呢。

图片存放路径网络:/eis/images/login/default/

5.1.2.写入jsp脚本考试测验

我们在获取图片存放路径后,直接考试测验进行测试文件的写入,考试测验后创造写入失落败,详细截图如下。

报错小结:写入报错,回显显示,没有创建和写入权限,那么一样平常涌现这个情形的可能有两种:

1. 我们写入的路径是一个相对路径,并非真实的网站物理路径,故没创建和写入权限;

2. 这个路径的确是物理路径,但是我们真的没有写入权限;

有了以上的总结,我们现在直接写入jsp脚本的想法就泡汤了,接下来我们还是按部就班的去找下apache配置文件,从配置文件中网络站点的真实物理路径信息。

5.1.3.Apache中间配置文件的读取考试测验

由于我们已经获取了数据库的后台管理权限,此时我们可以通过后台管理权限进行数据库的“mysql安装目录”、“mysql数据存放目录”以及“mysql的插件目录”,然后进行apache配置文件信息的预测和读取,详细操作如下。

(1)数据库干系路径信息网络

>select @@datadir;#数据库存放路径查询>select @@basedir;#数据库安装路径查询>select @@plugin_dir; #数据库第三方插件存放路径查询

(2)apache配置文件的读取

通过上面数据库干系目录信息的读取,我们可以预测apache中间配置文件的路径可能是:/opt/thirdsoft-2.0/apache2/conf/httpd.conf

此时我们通过数据库文件读取函数进行配置文件信息的读取,这里由于直接命令行读取时文件显示不全,这里直策应用了一个数据库管理软件进行登录操作。
可能我们的人品比较好,竟然真的读取到了apached的配置文件httpd.conf的内容,我们从个中的DocumentRoot找到的网站的真实存放路径,且到这里我们知道了前面图片路径信息网络时,网络到的路径”/eis”,实在它是个“别名路径”,这里做的还是很到位的。

12DocumentRoot \"大众/home/ema/ema-3.4.1/web\公众Alias /eis \公众/home/ema/ema-3.4.1/web\公众

通过apache配置文件的读取,我们看到站点物理路径是:/home/ema/ema-3.4.1/web/

接下来,便是考试测验找到一个可以写入文件的路径,我直策应用数据库写入函数进行jsp脚本的写入了。

5.2.再次考试测验写入jsp脚本

首先我们考试测验写入一个测试文本,看是否有写入权限,操作如下。

运气差了点,还是没有写入权限,估计是数据库进程运行权限被降权了,无写入权限。

6.考试测验通过udf自定义函数提权测试

6.1.plugin 插件目录查询

6.2.考试测验写入文件测试

通过写入函数,写入测试数据,写入失落败,操作过程如下。

测试结果:写入测试文件失落败,可能还是由于当前数据库运行权限过低或目标做事器上并没有plugin目录,默认情形下5.0以上版本是没有此目录的。

7.上传点getshell测试

以上各种测试失落败后,我们考试测验直接登录后台查找上传点,查找可以上传jsp脚本的利用点,这里笔者实际测试中测试了多个上传点,末了在平台首页定制的位置找到一个上传点,并成功获取了webshell,且其权限为root权限,有关详细测试利用过程如下。

7.1.图片上传测试

通过在获取直接上传图片测试,看是否可以找到真实图片的物理访问路径。

7.1.1.测试过程

(1)图片上传

直接进行1.jpg图片文件的上传,网络上传后做事返回的干系信息。

(2)物理路径信息网络

通过图片上传成功后,我们网络到了图片上后的“物理访问路径信息”,详细信息如下:

1http://x.x.x.x/eis/images/login/custom/1.jpg

7.1.2.测试结果

找到图片上传的物理访问路径:http://x.x.x.x/eis/images/login/custom/1.jpg

7.2.直接上传1.jsp脚本测试

7.2.1.测试过程

我们现在直接上传1.jsp木漏洞本,测试是否可以上传成功。

7.2.2.测试结果

直接上传1.jsp木漏洞本失落败了,进过测试创造该当是运用后台对文件类型有安全过滤与检测。

7.3.考试测验抓包改包进行1.jsp上传测试

直接上传1.jsp脚本失落败后,我们接下来考试测验利用抓包改包绕过的办法,测试脚本上传的可能。

7.3.1.测试过程

增加文件类型(jsp)测试

通过抓包,我们可以创造当前我们直接上传1.jsp文件的数据包中,有关文件类型仅有图片类型:jpg|gif||png|bmp,故我们测试增加一种jsp文件类型的支持,然后重新发包测试是否可以上传1.jsp成功,经由测试创造1.jsp上传成功。

7.3.2.测试结果

通过增加上传文件类型的支持,直接绕过了后台的检讨,上传1.jsp恶意脚本成功,只要后续能过正常解析1.jsp,即可直接拿下做事。

7.4.直接上菜刀getshell

7.4.1.测试过程

此时我们直接访问1.jsp的物理访问路径,测试其是否可以正常解析,访问情形截图如下。

通过上面的访问测试,可以获取1.jsp可以被正常解析,接下了便是上菜刀,直接getshell了。

7.4.2.测试结果

通过菜刀连接可以获悉,我们直接拿到做事器的root掌握权限,做事器彻底沦陷。

8.主机沦陷回顾

8.1.本次主机沦陷的全体过程:

(1)首先,是由于“xml敏感信息透露”引发数据库连接池目录与管理后台目录信息的透露;

(2)随后,由于数据库连接池映射目录的暴露,导致数据库管理账号与密码信息直接暴露在web页面;

(3)而后,由于数据库的管理许可远程的登录访问,在网络了数据库账号密码信息的情形,又导致了数据库的沦陷;

(4)再次,便是由于后台管理系统管理账号密码的被读取,导致后台的沦陷;

(5)末了,我们在后台上找到了上传点的存在,终极导致了平台主机的沦陷。

8.2.安全加固建议

(1)对付敏感目录要设置访问掌握策略,禁止WEB页面的直接访问,对付不须要的目录连接信息可以考虑删除操作;

(2)对付管理后台,应下发相应的访问掌握策略,当然是在业务许可的条件下进行;

(3)对付数据库管理,该当想法严格的访问掌握,禁止外网的直接登录访问,将数据库的外在威胁降到最低;

(4)末了是运用平台,也应进行相应的整改,加强对付上传文件的内容进行后台检讨,禁止jsp这类脚本文件直接上传的可能;