awd攻防训练赛1

Posted hunpi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了awd攻防训练赛1相关的知识,希望对你有一定的参考价值。


前言

  学校战队的几个人简单尝试了一下bugku的线上awd攻防赛,做个记录。

1.服务器运维

  下载Web源码:xftp连接192-168-1-247.pvp254.bugku.cn/,在/var/www/html目录下有网站源代码.zip,下载。

  连接服务器主机:ssh连接服务器,以team2身份在根目录下寻找主机上的flag文件。

	find / -name "*flag*"

2.攻击环节

探测其他队伍主机

  编写Python脚本扫描存活主机:

import requests
for x in range(2,255):
    url = "http://192-168-1-{}.pvp254.bugku.cn/".format(x)
    try:
        r = requests.post(url)
        print(url)
    except:
        pass

  存活主机

http://192-168-1-135.pvp254.bugku.cn/
http://192-168-1-141.pvp254.bugku.cn/
http://192-168-1-247.pvp254.bugku.cn/	# 247是本机

攻击

  在Github上搜索thinkcmf漏洞,找到两个漏洞项目。
下载项目代码:ThinkCMF_getshell 框架上的任意内容包含漏洞,根据提示进行利用。
成功获取并提交flag,flag{b57cd1869b87b1aaeecd8d3a85a66835}。

  百度搜索,发现果然像学长说得,Web不可能单单只有一个漏洞。
只需要普通注册用户,存在 前台SQL注入、前台代码执行、前台文件上传 等漏洞。

  本想编写py脚本,批量利用漏洞并批量提交flag,发现bugku会对这样的行为封禁IP。。
意识到以后验证猜测,又被封了一个IP。

总结反思

  不足:没有连接mysql数据库,没有接触弱口令的修复、利用。

  增强信心:Web漏洞不只一个,会有多个Web漏洞。

  赛后简单地写了一个脚本,可以作为Web服务探测、批量利用提交的模板。

import requests

def http_detect(url):  # 在局域网中寻找Web服务
    for x in range(256):    # 填充地址
        url = url.format(x)
        try:
            r = requests.post(url)
            print(url)
        except:
            pass

def batch_flag(url):       # 功能:批量请求flag,并批量提交。输入:Web服务的模板地址。
    for x in range(256):
        url = url.format(x)

        try:    # 获取flag的Payload
            r = requests.post(url).text
            flag = r[r.find("flag{"):-6]
            print(flag)

            r = requests.post("https://ctf.bugku.com/pvp/submit.html?token=65af75ca919cc1f73e21aec9cf417b92&flag={}".format(flag))
            print(r.text)
        except:
            pass

if __name__ == '__main__":  # 两处输入:url地址模板,以及payload函数
    url = ""        # URL地址模板,例如http://192.168.1.{}
    # http_detect(url)
    # batch_flag(url)

以上是关于awd攻防训练赛1的主要内容,如果未能解决你的问题,请参考以下文章

AWD平台搭建--Cardinal

AWD攻防工具脚本汇总

国赛分区赛awd赛后总结-安心做awd混子

国赛分区赛awd赛后总结-安心做awd混子

python中的后渗透也可用于AWD攻防--shell管理

对抗样本攻防战,清华大学TSAIL团队再获CAAD攻防赛第一