自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(109)
  • 收藏
  • 关注

原创 【Langchain实践】Few-shot examples for chat models 学习记录

langchain实践中的few-shot examples for chat model总结

2024-05-09 22:57:27 598

原创 【Langchain实践】FewShotPromptTemplate实践总结

langchain的FewShotPromptTemplate实践总结。

2024-05-08 08:59:40 934

原创 matplotlib画图

【代码】matplotlib画图。

2024-01-23 16:22:59 545

原创 无法访问github的问题与解决方法

有时想去github下载一个文件,或者查看一个教程,已经通过搜索引擎搜到相关内容,可是却无法打开github网站。现在有一些镜像网站或者流量转发网站可以缓解这个网络访问问题。在使用这些网站时,注意个人隐私的保户。

2024-01-07 15:51:45 1180

原创 chatglm部署问题

【代码】chatglm部署问题。

2024-01-06 19:20:39 552 1

原创 NSSCTF Round#6 WP

漏洞点在思路:生成一个软链接,通过软链接链接到/flag文件,然后将软链接打包成tar文件上传,之后再读取文件,读取文件时,由于extractall提取出来的是一个软链接,后面读取的时候就是/flag文件写个脚本上传文件。

2022-10-19 23:37:34 929

原创 # NewStarCTF 公开赛赛道 WEEK4

payload注意用url编码将base64编码后的特殊字符编码。文件上传+phar反序列化。生成下payload就能打。简单的反序列化题,用。

2022-10-17 14:25:15 1342

原创 CTF中tricks集合

这种情况很可能是禁止用伪协议中的base64编码,如下例子。这种情况下可以采取其他的编码方式进行读取。

2022-09-26 23:50:41 446

原创 文件上传记录

文件上传总结

2022-09-25 13:19:22 290

原创 在awd中实用的脚本

【代码】在awd中实用的脚本。

2022-09-07 15:50:16 1213

原创 # NSSCTF Round#V

这次比赛的题目逻辑不是很难,但是需要自己去思考怎么如何利用,通过这样的题目可以去训练利用漏洞的思维,所以花了很多时间去复现(ps:naive calculator利用eval反弹shell没成功,后面有时间再研究)...

2022-08-29 23:01:46 1204

原创 OFCMS代码审计

这次搭建环境比较顺利,没有遇到什么坑点,于是将前面学的应用到实际的框架审计中。

2022-08-19 10:44:06 944

原创 Java中String、Character、char、int的一些辨析

将String对象转换成char数组取String中第i个字符,返回类型为char将String里所有的字符变成小写将String里所有的字符变成大写。

2022-08-11 16:47:08 834

原创 BUU刷题记录

这个文章的知识点包括 sql注入中的异或盲注、preg_match的绕过(%0a绕过,prce限制)、basename去掉ascii码字符的情况。

2022-08-10 16:21:53 457

原创 Java代码审计-SQL注入

在执行executeQuery()方法时,如果没有对输入的数据进行提前处理,而是直接拼接到sql语句中,就可能造成sql注入,可以看做executeQuery()就是执行sql语句,而不会进行任何检查。这几个阶段,在预编译的过程中,数据库首先接收到的是带有占位符(?)的语句,解析生成语法树,并且缓存在cache中,然后接受对应的参数信息,从cache中取出语法树,设置参数,再执行优化和执行操作,占位符来代替数据的位置,注意先预编译再拼接数据,而不是拼接完数据之后再预编译(这样的预编译不起作用)...

2022-08-10 11:03:16 637

原创 ctfshow 七夕杯(复现)

最终执行命令的语句是 $num1$symbol$num2 拼接起来的,而且过滤()不能调用函数,所以根据语言结构是 include、require、echo这种语句,试着去包含文件。这个题可以理解为注入,在整个计算语句中注入我们想要执行的命令语句,只不过是过滤()之后不能调用函数执行。我开始这样做了,但是最后并没有做出来的原因是:我一直在网站根目录下看有没有生成文件,实际上这条命令执行在api这个目录下,生成的文件也在这个目录下,所以需要到/api这个目录下去寻找是否生成文件。,尝试别的地方,发现。...

2022-08-07 00:38:19 1861 3

原创 IDEA基本使用-创建和删除项目

newproject=>空项目=>创建src目录=>在项目目录里添加为源文件夹=>写程序=>配置项目=>选application(应用,就是用javac编译)=>根据配置页面配置好(主要jdk版本与项目的jdk,sdk版本一致)

2022-08-02 11:33:55 707

原创 # Dasctf 7月赋能赛 WP

每次通过比赛都能学到很多东西,对于之前的知识点有一知半解的地方重新认识了,比如ssti的盲注,以前只知道{{}}、{%%}能执行语句,但是没有想过他们的区别,通过一道ssti的题目就能更加深入地区分这两者的区别。...

2022-07-27 16:35:09 631

原创 HF2022-EzPHP复现

由于程序是运行时动态加载链接的库,如果让程序加载一个恶意的文件,那么就可以劫持程序的运行,从而可以绕过disable_function,执行命令。LD_PRELOAD,是个环境变量,用于动态库的加载,动态库加载的优先级最高,一般情况下,其加载顺序为。构造更大的二进制文件,通过在一个so文件尾部追加脏字符。...

2022-07-27 15:56:31 452

原创 Java-maven换源

找到settings.xml文件,idea自带的maven的路径在。

2022-07-24 00:01:12 402

原创 LeetCode-栈和队列刷题

复习完栈和队列的基础知识,然后通过leetcode的几道题目加深理解,更多的是对于栈和队列的运用,而没有对于栈和队列操作的具体实现。

2022-07-20 21:42:13 338

原创 NepCTF

这次用百度做出来两道Web题,记录一下。

2022-07-19 23:43:43 227

原创 Java代码审计-Java的反射机制

在程序运行时,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性。这种动态的获取信息以及动态调用对象的方法的功能称为 java 的反射机制。类 主要方法是,Runtime可以调用exec()方法执行命令;​ 每个java程序中都有一个Runtime实例,这个Runtime实例调用getRuntime方法,返回Runtime对象,这个对象拥有exec执行命令的方法获取类的对象 构造任意类的对象 调用任意实例对象的方法: 一段利用反射构建的具有

2022-06-24 07:52:50 477

原创 Java代码审计-Filter核心技术

核心内容:Filter的作用:用于拦截请求Filter的执行顺序:先web.xml,在注解Filter的拦截:filter工作在servlet之前,提供过滤功能Filter的配置:web.xml和基于注解的方式Servlet API提供了一个Filter接口,Filter 对web资源进行拦截,通常是拦截request请求待补充...

2022-06-22 23:03:25 227

原创 第二十五周记录

注意:要想修改成只能公钥登录,可以更改配置文件1.2 ln命令全称:make links between files, ln取的是link的两个字母利用方法:ln 链接上 下载的文件(公钥)和 /root/.ssh/authorized_keys,然后就可以用ssh以root身份登录1.3 echo命令输出内容 去掉echo后面的换行符 反斜杠转义生效单引号、双引号、不加引号的区别对内容进行base64编码和解码2 python写程序调试执行程序的时候 用 python -i targ

2022-06-22 10:43:54 178

原创 Java代码审计-Servlet学习

1.2 基于注解的方式配置启用注解支持web.xml 的顶层标签 中有一个属性:metadata-complete,该属性用于指定当前 web.xml 是否是完全的。若该属性设置为 true,则容器在部署时将只依赖 web.xml,忽略所有的注解。若不配置该属性,或者将其设置为 false,则表示启用注解支持。在第一次创建servlet的时候被调用,如果servlet已经初始化,那么会跳过这一个方法;也就是说init方法在servlet生命周期中只执行一次传入参数: ServletCo...

2022-06-20 20:52:22 183

原创 Java代码审计-环境搭建

1、java环境配置JAVA_HOMEjava -version //查看版本,验证是否配置成功2、docker使用一款开源的项目,更方便搭建环境windows下可以用 Docker Desktop常见docker命令docker pull image-name //从远程拉取一个镜像,但不会生成一个容器docker ps [-a] // 展示当前运行的容器,-a显示所有的docker images // 列出本地获取的镜像文件(里面的时间是镜像制作的时间)docker rmi

2022-05-29 00:00:47 590

原创 剑指Offer 30. 包含min函数的栈

写在前面:有时看一看数据结构与算法题,加深对于数据结构的理解,同时也是开阔自己的思路题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)题目分析这个题目中关键点在于实现 min函数的时间复杂度是O(1),一般得到栈中的最小值是要遍历整个栈的,现在要求达到O(1)的时间复杂度,采取空间换时间的做法定义节点,增加一个最小值属性(这个的意思是以当前节点为栈顶,栈中元素的最小值)class Node

2022-05-28 00:01:12 309

原创 2022DASCTF MAY 出题人挑战赛

fxxkgo(复现)原题参考知识点:go语言的SSTI注入、jwt伪造dockerfile目录里面的信息main.go里面包含的包思路:通过ssti拿到secret,然后伪造jwtGolang SSTI参考文章ssti的利用点在register 路由注册{{.}}用户, {{.}}就是泄漏secret的payloadauth 路由\ 路由用得到的secret伪造jwtflag路由拿到flag...

2022-05-22 13:15:02 470

原创 剑指Offer-09.用两个栈实现队列

题目描述:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )分析思路两个栈来实现队列,因为队列是先进先出,而栈先进后出,设置两个栈(s1, s2),进行如下操作压栈操作都是将数据 压入 S1出栈操作都是将数据从 S2 弹出数据从 S1 到 S2 的过程:当遇到弹栈操作的时候,如果S2里面有数据,那么直接弹出 栈顶元素;如果S

2022-05-19 22:52:12 151

原创 Java反射-调用构造方法、获取继承关系、动态代理

文章目录一、调用构造方法二、获取继承关系三、动态代理一、调用构造方法1、通过Class类提供的newInstance()方法可以实例化一个类Person p = Person.class.newInstance();//局限性在于 实例化只能调用 public属性的 无参构造方法2、通过构造器来调用构造方法 Constructor 对象getConstructor(Class...):获取某个public的Constructor;getDeclaredConstructor(Class..

2022-05-19 20:47:50 1350

原创 Java反射-调用方法

调用方法与访问字段类似,通过Class实例的方法获得Method实例 getMethod()、getDeclaredMethod()、getMethods()、getDeclaredMethods()(这里的方法与获得Field字段的时候的用法是一致的)通过Method实例可以获得有关方法的信息 getName()、getReturnTypes()、getParameterTypes()、getModifiers() (方法的名字、返回类型、参数类型、修饰符)通过Method实例调用某个对象的方法

2022-05-18 00:33:19 16342

原创 第二十一周记录

关键词:面向切面编程、指针函数与函数指针、java的基本数据类型及其包装类1、面向切面编程(AOP)面向过程编程面向对象编程(OOP)面向切面编程 (AOP)2、c语言的声明符int *p = 3; //声明一个指针,指向的数据赋初值为3, 类型为intint (*foo)(double); //声明一个指针,指向的数据为foo函数(接受参数类型为double)的返回值, 类型为intint (*(*foo)(double))[3];3、java获取数据类型Integer

2022-05-17 23:59:20 313

原创 java反射-访问字段

1、在 java.lang.reflect 下有个 Field 类,因为反射是通过Class类得到的,所以访问字段的方法是在Class类中的方法,得到的类型都是Field类型,一共有四种方法:获取单个 public 属性 的字段(包含父类) Field getField(name)获取单个字段(不包含父类) Field getDeclaredField(name)获取所有 public属性 的字段(包含父类) Field[] getFields()获取所有字段(不包含父类) Fiel

2022-05-15 18:31:03 801

原创 python的int、bit和byte操作

1、python的bin()函数作用:将一个整数转变为一个前缀为“0b”的二进制字符串(返回的结果是一个字符串类型)>>> bin(3)'0b11'>>> bin(-5)'-0b101'去除前面的0b前缀方法>>> format(3, 'b')'11'>>> format(3,'#b')'0b11'>>> bin(3)[2:]'11'2、python的bytes操作函数bytes.he

2022-05-10 23:22:44 7184

原创 2022年春秋杯网络安全联赛春季赛勇者山峰-Mercy-code[WEB]

Mercy-code这道题参考这篇博客打开环境,很明显的无参数rce类型的题思路一 读文件,一般是要构造 . … / 能改变目录,进行文件读取思路二 RCE,可以利用请求头里面的字段等传入命令<?phphighlight_file(__FILE__);if ($_POST['cmd']) { $cmd = $_POST['cmd']; if (';' === preg_replace('/[a-z_]+\((?R)?\)/', '', $cmd)) {

2022-05-09 09:00:00 1106

原创 编译原理知识总结

文章目录编译原理知识总结1、基本概念1.1 编译器与解释器1.2 编译器前端1.3 遍的概念1.4 习题编译原理知识总结1、基本概念1.1 编译器与解释器翻译器 包含编译器和解释器,是一个更大的概念,跟平常英文翻译成中文一样,这里的翻译是将高级程序语言翻译成机器能识别的机器码(汇编指令)编译器 想到C语言,程序要执行,就要先编译成机器码,然后才能执行解释器 python为代表,程序一边翻译成机器码,一边执行1.2 编译器前端词法分析器 涉及到 正则、DFA(确定的

2022-05-07 23:56:22 1233

原创 Java反射-Class类

反射思考:有没有方法,能在程序运行时去操作一个新建的类?反射可以做到,反射是java的一种操作类的机制,反射就是通过Class实例获取对应class的信息反射基本框架Class newclass= Class.forname(className);//获取类的Class对象(包括类的详细信息)//注意className必须是全限定名(全称)Constructor constructor = newclass.getConstructor();// 通过Class 对象获取构造方法对象(

2022-05-07 21:21:14 268

原创 python-socket编程-一个简单的嗅探器

一个嗅探器sniff.py import socketHOST = socket.gethostbyname(socket.gethostname())#gethostname 返回当前运行python解释器的机器名#gethostbyname 将主机名转换成IPv4格式地址,s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_IP)#这是socket的类型,采用raw类型的套接字,接收 IP报文, 还

2022-05-06 23:57:12 1189 1

原创 python-socket编程

一、基本原理1、创建socket对象s = socket.socket([family[, type[, proto]]])参数类型:family: 套接字家族,可以使AF_UNIX或者AF_INET。type: 套接字类型,根据是面向连接的还是非连接分为SOCK_STREAM或SOCK_DGRAM,也就是TCP和UDP的区别。protocol: 一般不填默认为0。2、socket对象操作方法服务端s.bind(host, port) #绑定主机和端口号 连接远程vps

2022-05-06 00:52:43 633 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除