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的主要内容,如果未能解决你的问题,请参考以下文章