PatriotCTF-WEB-WP
又到了一月一更的时候了:(
giraffe notes123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154<?php$allowed_ip = ['localhost', '127.0.0.1'];if (isset($_SERVER['HTTP_X_FORWARDED_FOR' ...
手把手教你在树莓派5上装parrot
前几天到手一个树莓派5,想着没刷过parrot,这机会不就来了。
烧入镜像下载parrot镜像:在parrot官网有支持树莓派的arm镜像,要注意的是记得选IoT
这里根据需求选择版本,如果不知道选啥就选home
下载完后,到树莓派官网下载烧录工具。
https://www.raspberrypi.com/software/
傻瓜式下载后
设备选择树莓派5,注意选择操作系统要拉到最低下,选择Use custom,然后选择刚刚下载的parrot镜像即可,SD卡的话,把要烧录的sd卡需要提前插入到U盘,插入电脑。然后选择相应的磁盘即可。
在编辑设置这边,因为我没买显示器,所以要在烧录时候就把ssh配置配完:
等待烧录即可,烧入结束,如果没有自动弹出U盘,window可能会报错,要求格式化U盘,这时候不用管,直接把sd卡插入树莓派即可。
SSH连接配置window共享网络,如果你是直接把网线插到路由器,那直接在路由后台找到树莓派ip就可以ssh上去了。我这边用网线接到自己笔记本,然后开启网络共享也可以。
在wife属性中开启共享,注意这个网络连接的以太网编号, ...
CISCN华东南WEB-Polluted
线下打的时候,没网,有些细节没弄好,最后没搓出来,有点可惜。
环境搭建:
给出了源代码:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667from flask import Flask, session, redirect, url_for,request,render_templateimport osimport hashlibimport jsonimport redef generate_random_md5(): random_string = os.urandom(16) md5_hash = hashlib.md5(random_string) return md5_hash.hexdigest()def filter(user_input): blacklisted_patterns = ['init', 'glob ...
SPEL
0x 01 简介在Spring 3中引入了Spring表达式语言(Spring Expression Language,简称SpEL),这是一种功能强大的表达式语言,支持在运行时查询和操作对象图,可以与基于XML和基于注解的Spring配置还有bean定义一起使用。在Spring系列产品中,SpEL是表达式计算的基础,实现了与Spring生态系统所有产品无缝对接。Spring框架的核心功能之一就是通过依赖注入的方式来管理Bean之间的依赖关系,而SpEL可以方便快捷的对ApplicationContext中的Bean进行属性的装配和提取。由于它能够在运行时动态分配值,因此可以为我们节省大量Java代码。SpEL有许多特性:
使用Bean的ID来引用Bean
可调用方法和访问对象的属性
可对值进行算数、关系和逻辑运算
可使用正则表达式进行匹配
可进行集合操作
0x 02 SpEL定界符SpEL使用#{}作为定界符,所有在大括号中的字符都将被认为是SpEL表达式,在其中可以使用SpEL运算符、变量、引用bean及其属性和方法等。这里需要注意#{}和${}的区别:
#{}就是SpEL的 ...
fastjson
0x 01 简介12Fastjson 是阿里巴巴公司开源的一个高性能 JSON 库,用于 Java 应用程序中的 JSON 解析和生成。它提供了快速且简洁的方式将 Java 对象与 JSON 数据之间进行序列化和操作。由于其高效的性能和广泛的功能,Fastjson 被许多开发者所采用。
0x 02 Demo一个简单的Fastjson的demo:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849import com.alibaba.fastjson.JSON;class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public Person(){ } ...
Mybatis 快速入门
Mybatis配置mybatis-config.xml文件。
123456789101112131415161718192021222324<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "https://mybatis.org/dtd/mybatis-3-config.dtd"><configuration> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <da ...
谁偷吃了我的外卖WP
下载拿到就一张图片
用foremost分离一下,得到
一眼base64,将用户_后面的字符提取出来
1234567891011121314import zipfileimport re zipfile=zipfile.ZipFile('外卖箱.zip','r')filenames=zipfile.namelist()filenames=filenames[5:]dic={}for i in filenames: if re.search(r'(\d+)_(.*)', i).group(1)=="1": dic[int(re.search(r'(\d+)_(.*)', i).group(1))]=" " continue dic[int(re.search(r'(\d+)_(.*)', i).group(1))]=re.search(r'(\d+)_([A-Za-z0 ...
NewStart WEEK2 WEB
游戏高手控制台修改gameScore参数值,然后挂掉就行。
ez_sqlSQLmap直接出
Unserialize?反序列化,只要注意它是私有属性就行
exp:
12345678910<?phphighlight_file(__FILE__);// Maybe you need learn some knowledge about deserialize?class evil{ private $cmd="nl /th1s_1s_fffflllll4444aaaggggg";}$a = new evil();echo urlencode(serialize($a));?>
R!!C!!E!!题目提示要扫,那就扫!!!
dirsearch启动
扫出来发现.git无法直接访问,但是可以访问它目录下的其他文件,
在.git/COMMIT_EDITMSG目录下发现 bo0g1pop.php
源码
1234567<?phphighlight_file(__FILE__);if (';' === preg_r ...
PHP原生类的利用
适用类型在PHP反序列化中,没有POP链或者POP链构造到一半无法进行下去,使用原生类进行XSS等。
使用Error/Exception类进行XSSError内置类
适用php7版本
开启报错情况
利用关键:
Error类中内置有_toString方法,在反序列化中经常调用,如果POP构造不了,就可以使用。
举例说明:
1234<?php $a=unserialize($_GET['input']); echo $a;?>
POC:
123456<?php$a = new Error("<script>alert('hello')</script>");$b = serialize($a);echo urlencode($b); ?> //O%3A5%3A%22Error%22%3A7%3A%7Bs%3A10%3A%22%00%2A%00message%22%3Bs%3A31%3A%22%3Cscript%3Ealert%28%27hello%27%2 ...
羊城杯Serpent
一共大概分作三步。
flask的session伪造
Pickle反序列化
利用SUID的文件读取flag文件
题目内容提示下载网站备份文件www.zip,下载后发现是app.py,打开后果然是flask框架。
123456789101112131415161718192021from flask import Flask, sessionfrom secret import secret@app.route('/verification')def verification(): try: attribute = session.get('Attribute') if not isinstance(attribute, dict): raise Exception except Exception: return 'Hacker!!!' if attribute.get('name') == 'admin' ...