举办一场CTF比赛
举办一场CTF比赛
终于从一年以前就想举办的校赛,成功实现并顺利结束了。
校赛结束了,真的比较难忘。
从平台部署到运维,到出题前后要折腾了一周。
说点好玩的,当天晚上被ddos一晚上。就是一晚上都没有给打下来,最大16w的并发量,不知道哪来这么大的仇恨。
在这里放一下出的两个题目的wp
Webwhat_is_fuck想考察put上传的,后面再出题过程中,干脆加点phpfuck的内容,让大家感受一下php的灵活性(真不是想恶心人
访问www.zip可以获取到程序源码,这里看见一共就两个文件,一共index.php,还有一个fuck.php
我们先访问一下fuck.php
发现这一堆东西可以执行,虽然上面有一堆warning
这时候再去看看index.php
第一层要去必须要PUT请求
出题的具体原理如下
123456'ArrayArray' => [].[]0 => []^[]1 => []^[[]]2 => ([]^[[]]) + ([]^[[]])NULL => [][[]]'p' => ' ...
红日靶场(vulnstack二)
红日靶场(vulnstack二)
123PC(域成员):(内:10.10.10.201 / 外:192.168.10.251)DC(域控):(内:10.10.10.10)WEB:(内:10.10.10.80 / 外:192.168.10.177)
由于没有做免杀等操作,所以将机器中的360全关了。
WEB:192.168.10.177信息搜集12345678910111213141516171819202122└─# nmap -sS 192.168.10.177 Starting Nmap 7.91 ( https://nmap.org ) at 2022-10-17 10:29 EDTNmap scan report for WEB (192.168.10.177)Host is up (0.0037s latency).Not shown: 988 filtered portsPORT STATE SERVICE80/tcp open ...
红日靶场(vulnstack一)
红日靶场(vulnstack一)
环境搭建打开虚拟机修改密码
将web服务器win7,加一个网络适配器设置为NAT,其余的虚拟机设置为VMnet1
打开虚拟网络设置将VMnet1设置为仅主机模式
win7打开phpstudy
测试内网两台机子互通,win7双卡(192.168.52.143、192.168.176.128)win7可以出网,其余两台不能出网。
访问192.168.176.128 OK
信息搜集端口扫描nmap执行如下命令,扫描开放端口,获取目标主机指定端口上开放的服务版本
1nmap -sS -p 1-65535 192.168.176.128 -sC -sV
goby
目录扫描dirsearch1python dirsearch.py -u http://192.168.176.128
扫到phpAdmin和一个beifen.rar,web设计的挺无趣的,不过是内网靶场也可以理解。
网站yxcms
弱口令admin 123456
getshell后台漏洞一堆,选一个最方便的直接getshell。
这个后台在前台模板的地方支持修改php文件 ...
春秋云镜wp day1
春秋云镜wp day1今天看到之前买了内网渗透那本书,今天看到靶场上线了,打一天玩一下,总体cve的洞很好刷,比打CTF轻松多了。
CVE-2022-32991首先登陆,点击第二个start,抓包并保存到一个txt
1python sqlmap.py -r 1.txt --dbs --random-agent -p eid
获取flag
1python sqlmap.py -r 1.txt -D ctf -T flag -C flag --dump --random-agent -p eid
Web Based Quiz System v1.0 is vulnerable to SQL Injection via welcome.php · 语雀 (yuque.com)
CVE-2022-30887
多语言药房管理系统 (MPMS) 是用 PHP 和 MySQL 开发的, 该软件的主要目的是在药房和客户之间提供一套接口,客户是该软件的主要用户。该软件有助于为药房业务创建一个综合数据库,并根据到期、产品等各种参数提供各种报告。 该CMS中php_action/editPr ...
Web(php)出题规范见附件
Web(php)出题规范见附件最近因为要出校赛题目,学习了一下docker,但是也仅仅是能用就行的水平
文件将flag保存到flag.php
12echo $FLAG > /var/www/html/flag.phprm -f /flag.sh
构建dockerfile
12345678910FROM nimmis/apache-php5:latestCOPY index.php /var/www/html/index.phpRUN rm /var/www/html/index.htmlCOPY flag.php /var/www/html/flag.phpCOPY --chown=root:root flag.sh /flag.shCMD exec /bin/bash -c "chmod u+x /flag.sh;/flag.sh;/etc/init.d/apache2 start; trap : TERM INT; sleep infinity & wait"EXPOSE 80
docker-compose
1234567version: & ...
第一次参加顶会之DFRWS
第一次参加顶会之DFRWSDFRWSDFRWS is a non-profit, volunteer organization dedicated to bringing together everyone with a legitimate interest in digital forensics to address the emerging challenges of our field. DFRWS organizes digital forensic conferences, challenges, and international collaboration to help drive the direction of research and development.
或许没有其他领域的会议那么出名,但是在电子取证领域有一定声誉
准备参加DFRWS需要在指定投递材料,从准备给顶会发材料,到完成我们总共花了三个月左右的时间,在此也十分感谢对我们提供过帮助的小伙伴。
等待通知123Your paper has been accepted for presentat ...
Java动态代理
Java动态代理在学习java反序列化的时候,往往提早开始将注意力集中在CommonsCollections,会觉得有些难理解,在此学习记录一下java接触到的两种机制。
动态代理动态代理在Java中有着广泛的应用,比如Spring AOP、Hibernate数据查询、测试框架的后端mock、RPC远程调用、Java注解对象获取、日志、用户鉴权、全局性异常处理、性能监控,甚至事务处理等。
代理模式本文将介绍的Java动态代理与设计模式中的代理模式有关,什么是代理模式呢?
代理模式:给某一个对象提供一个代理,并由代理对象来控制对真实对象的访问。代理模式是一种结构型设计模式。
代理模式角色分为 3 种:
Subject(抽象主题角色):定义代理类和真实主题的公共对外方法,也是代理类代理真实主题的方法;RealSubject(真实主题角色):真正实现业务逻辑的类;Proxy(代理主题角色):用来代理和封装真实主题;
代理模式的结构比较简单,其核心是代理类,为了让客户端能够一致性地对待真实对象和代理对象,在代理模式中引入了抽象层。
即类似出现一个中间人去实现一些与RealSubject无关的 ...
java反射
java反射反射是大多数语言里都必不不可少的组成部分,对象可以通过反射获取他的类,类可以通过反射拿到所有方法(包括私有),拿到的方法可以调用,总之通过“反射”,我们可以将Java这种静态语言附加上动态特性。
什么是反射java的反射是指在运行状态中,对于任意一个类都能够知道这个类所有的属性和方法,并且对于任意一个对象。
基本形式1234public void execute(String className, String methodName) throws Exception {Class clazz = Class.forName(className);clazz.getMethod(methodName).invoke(clazz.newInstance());}
上面的例子中,我演示了几个在反射里极为重要的方法:获取类的方法: forName实例例化类对象的方法: newInstance获取函数的方法: getMethod执行函数的方法: invoke
反射的作用:让Java具有动态性,修改已有对象的属性,动态生成对象,动态调用方法,操作内部类和私有方法 ...
ClassLoader(类加载机制)
ClassLoader(类加载机制)Java是一个依赖于JVM(Java虚拟机)实现的跨平台的开发语言。Java程序在运行前需要先编译成class文件,Java类初始化的时候会调用java.lang.ClassLoader加载类字节码,ClassLoader会调用JVM的native方法(defineClass0/1/2)来定义一个java.lang.Class实例。
ClassLoader类有以下核心方法;
1.loadClass (加载指定的java类)
2.findClass(查找指定的java类)
3.findLoadedClass(查找JVM已经加载过的类)
4.defineClass(定义一个java类)
5.resolveClass(链接指定的java类)
Java字节码严格来说,Java字节码(ByteCode)其实仅仅指的是Java虚拟机执行使用的一类指令,通常被存储在.class文件中。众所周知,不同平台、不同CPU的计算机指令有差异,但因为Java是一门跨平台的编译型语言,所以这些差异对于上层开发者来说是透明的,上层开发者只需要将自己的代码编译一次,即可运行在 ...
又是,暑假
又是,暑假
明天就开学了,半夜习惯性的失眠,让我拿起键盘来记一下这个离奇魔幻的暑假。
hw结束就有打字的冲动,终究还是被各种事耽搁了。这个暑假干了好多魔幻的事情,算是第一次去接触了社会,也经历一次一推又推的hw。多么荒唐,这个暑假是被金钱支配的暑假。
从在家焦急的等待hw开始,我的暑假仿佛就在一个不确定与未知中开始了。我现在能清楚记得我当时的状态,每天无精打采的看一些知识。眼睛不停看着各种群的消息,有消息了吗?又被推迟到了几号。终于我在7.11接到了,甲方给我打来的电话,要求我周二去北京(等等周二不就是明天吗!),慌忙去做了核酸,理了一个稍显年龄的圆寸,买了最快的高铁票,火速订好了宾馆,终于在7.12的早上,伴随着大雨我做上了去北京的高铁。到了北京天气阴阴的,正是我很喜欢的灰黑色,既然要求提前来北京,这几天顺便在北京逛一下吧。逛了两天,再一次感受到了,我认为也只有在北京,一种历史的厚重感。工作的地点在郊区,我坐车在周四去看了一下工作地点,结果突然来了通知,hw推迟了,具体时间待定。如果我的项目包住宿,我可能会沉住气。如果我手里有非常多的钱,我可能会沉住气。但是我什 ...