自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [BUUCTF][NPUCTF2020]ReadlezPHP

执行函数的方式挺有意思,但是平时自己就没怎么总结过各种php执行代码的方式,现在总结一下。

2022-10-28 16:56:27 311 1

原创 [BUUCTF][SWPU2019]Web1

无列名注入fuzz过滤词绕过空格。

2022-10-28 14:56:30 560

原创 [BUUCTF][网鼎杯 2018]Fakebook

BUUCTF限制了请求速率,所以扫描工具不太好使,但是字典数量巨大,因此有些文件路径是真的不太好扫出来的🥶。

2022-10-25 15:25:58 664

原创 [BUUCTF][ZJCTF 2019]NiZhuanSiWei

php语法,ctf暂时接触下来php的一些函数和一些语法要多看,遇到了才知道,如果是断网情况下,基本没戏,所以还是多积累好,本地运行一下,语法很简单写一下基本大同小异php伪协议常用的如 input , filter/read。

2022-10-23 16:16:58 222

原创 [BUUCTF][极客大挑战 2019]PHP

反序列化漏洞。

2022-10-17 18:23:56 392

原创 [BUUCTF][极客大挑战 2019]Http

在CTF中修改http头的操作常有BUUCFT另一题,常用到的值User-AgentReferer。

2022-10-13 14:28:58 682

原创 [极客大挑战 2019]Knife

我比较喜欢菜刀里面的虚拟终端功能,linux的话大部分命令都能玩.不过也要看具体用户的权限.连上去.然后找flag,熟悉下来flag一般就放在。这题应该就是给大家熟悉一下菜刀用法,有。[极客大挑战 2019]Knife。

2022-10-13 12:08:27 207

原创 BUUCTF-thinkPHP5 RCE

real题目我认为getflag是没意义的,幸运的是能从中学到一些技巧。在用大佬的poc对比官方的poc有一个细节。这题在尝试用命令执行写一句话的时候发现输入。,因此思路应该是将一句话分成两段然后拼一起。会被替换成空字符但是能单独写。

2022-10-12 18:10:18 439

原创 PWN初体验-BUUCTF test_your_nc

【代码】PWN初体验-BUUCTF test_your_nc。

2022-10-09 15:12:55 198

原创 flask_SSTI

ssti

2022-09-29 12:27:37 281

原创 BUU BURP COURSE 1

BUU BURP COURSE 1

2022-09-27 18:39:01 967

原创 CTF-SQL注入笔记

sqli笔记

2022-09-27 16:19:18 429

原创 [HCTF 2018]WarmUp

php源码审计

2022-09-22 21:55:03 70

原创 flask模版注入笔记

[flask] simple_ssti

2022-09-05 10:50:00 164

原创 go实现优先级channel

go语言基础: go实现优先级channel这题面试的时候遇到的, 具体问题是 : 下的的优先级是怎么样的,如果多个都准备就绪, 他们是怎么执行的为什么? 现在要你实现一个有优先级的————————————————版权声明:本文为CSDN博主「张志翔 ̮」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qq_19734597/article/details/121147377总结这种题目具体考核的是对go语言

2022-07-01 17:02:45 485 1

原创 golang中slice的知识点

关于golang中slice的知识点

2022-06-16 21:42:21 111

原创 go map 线程安全吗?

go map并发读写是线程不安全的

2022-06-14 11:14:18 552

原创 golang的gc

golang的gc使用的是技术这里面会有一个问题,因为标记过程和用户过程是同时进行的, 可能会导致部分被引用的对象没有正确加入到黑色集合中从而被错误清理掉, 因此加入了混合写屏障插入写屏障对象被引用时触发的机制(只在堆内存中生效):赋值器这一行为通知给并发执行的回收器,被引用的对象标记为灰色缺点:结束时需要STW来重新扫描栈,标记栈上引用的白色对象的存活删除写屏障对象被删除时触发的机制(只在堆内存中生效):赋值器将这一行为通知给并发执行的回收器,被删除的对象,如果自身为灰色或者白色,那么标记为灰色缺

2022-06-13 16:13:54 139

原创 etcd部分问题个人解答

在raft算法中,任期为上次一选举到下一次选举期间,如果cluster不发生故障,leader一直在任,那么这个leader的任期会无限长;如果follower收不到leader的心跳信号,就会变成candidate(候选人)发起选举;如果出现多个候选人均分选票竞选失败,该任期没有leader;候选人得票多的当选leader接任.raft算法状态机有三种状态:follower, leader, candidate; 所有node启动默认为follower, 等待leader发来心跳; 如果follower到

2022-06-09 14:29:17 314

原创 Redis常用数据类型及其数据结构(笔记)

作者:taobao链接:https://www.jianshu.com/p/bda05077ca88来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2022-06-08 12:54:03 102

原创 宽高隐写trick

bugku - Poker Game发现的一个图片宽高隐写的trick吧.预览图和文件图标的图片宽高内容不一样,就可以确认是隐写了

2022-03-30 11:42:09 117

原创 优雅地处理json

sublime text3pci安装pretty json,快捷键 ctrl+alt+j 格式化jsonpython处理

2021-02-23 12:07:14 83

原创 the-way-to-go day4

接口(interface) 反射 (reflection)// 定义了接口type Shaper interface { // 接口中定义方法和他的返回值 // 并不包含代码块 Area() float32 // Perimeter() float32}type Square struct { side float32}// Square实现了接口的Area()方法func (sq *Square) Area() float32 { return s

2021-01-04 16:30:02 101

原创 win10 goland踩坑日志(不更新)

因为之前搭项目需要用的go mod,设置过go env -w GO111MODULE=on,然后在goland中其实也有能进行配置到这里都没有什么问题,一切都搭好之后可以继续学习。然后问题就出现了,就是我无法导入自定义的包import "./packagetest"这中语句会导致编译出错(解决了之后再也无法复现,倒是在复现的时候又出现了新的错误提示)解决方法:cmd:go env GO111MODULE=off重启goland设置Project GOPATH为项目路径...

2021-01-04 12:10:46 696

原创 the-way-to-go day3

容器数组与切片,切片构建在数组之上,提供更加强大的能力和便捷。数组的声明与初始化var identifier [len]typevar arr1 [5]intarr1在编译时,值初始化为默认值0。索引从0开始。Go语言中的数组是值类型,和C中的指向首元素的指针不一样。对比例子func main() { // 这一步会给arr1分配一个指针 var arr1 = new([5]int) // 这一步会将arr1的指针的值赋予arr2 // 这时候 arr2和 arr1指向相同地址

2020-12-31 14:30:50 110

原创 the-way-to-go 练习 10.10

package mainimport "fmt"// 定义一个Basetype Base struct { id int}func(b Base) Id(){ fmt.Println(b.id)}// Setterfunc(b *Base) SetId(id int) { b.id = id}type Person struct { Base FirstName string LastName string}type Employee struct { Pe

2020-12-30 20:40:49 127

原创 the-way-to-go 练习 7.2.5

package mainimport ( "bytes" "fmt")func main() { sl := []byte{'h', 'e', 'l', 'l', 'o'} data := []byte{'g', 'o', 'l', 'a', 'n', 'g'} sl = Append(sl, data) fmt.Printf("%s", sl)}func Append(slice, data []byte) (byte []byte) { var buffer bytes.B

2020-12-30 11:04:20 79

原创 the-way-to-go day2

控制结构if-else在if-else结构中,if可以包含一个初始化声明if val := 10; val > max { // do something}需要注意的是使用:=声明变量的作用域只在if结构之中,如果使用if-else就在这当中。如果在变量在if之前已经存在,那么该变量原来的值会被隐藏的。package mainimport "fmt"func main() { var val int = 10 // 该变量没有被使用 if val := 20; va

2020-12-30 10:11:25 122

原创 the-way-to-go day1

前言配置好go之后可以通过go env或env来查看环境变量是否设置正确Go目录结构($GOROOT):/bin 可执行文件,如:编译器、Go工具/doc 示例文件/lib 文档模板/misc Go编译器的相关配置和cgo的示例/os_arch 标准库的包的对象文件(.a)/src 源码/src/cmd Go和C的编译器的命令行脚本调试gdb活用print/printlnfmt.Printf%+v 打印包括字段内的实例的完整信息%#v 打印包括

2020-12-29 09:51:04 88

原创 凉经

这里说一下,因为我本人很菜,刚毕业一年,工作也是转行,从安全到开发,可以说什么都没学到(血的教训),可以说是错过了校招,直接出来社招,因为没有亮眼的项目经历,社招被吊打是可以预见的。头条后端 一面(失败)自我介绍项目介绍(面试官:你的这些都是比较简单……)爬虫问题反爬虫用ip池的时候,要怎么识别你是正常还是爬虫GIL多线程多进程MySQL引擎、索引的数据结构B+和B树的区别python中的编码Redis的Zset数据结构和实现Redis分布式锁写SQL,表P有字段name,se

2020-12-23 12:37:13 259

原创 买股票的最佳时机(一次买入一次卖出,两次,多次)

一次买入和一次卖出的情况解法一:class Solution: def maxProfit(self, prices: List[int]) -> int: miniprice = float('inf') maxprofit = 0 for price in prices: miniprice = min(miniprice, price) maxprofit = max(maxprofit,

2020-12-17 21:52:08 1685

原创 334. 递增的三元子序列

class Solution: def increasingTriplet(self, nums: List[int]) -> bool: if not nums: return False else: n1, n2 = float('inf'), float('inf') for i in nums: if i <= n1:

2020-12-14 17:30:04 59

原创 300. 最长上升子序列

class Solution: def lengthOfLIS(self, nums: List[int]) -> int: if not nums: return 0 else: dp = [1 for _ in range(len(nums))] for l in range(len(nums)): for i in range(l):

2020-12-14 17:14:53 62

原创 关于HTTP学习记录

http方法GET 一般用于请求,参数在URL中POST 用于提交数据给服务器,非幂等性PUT 用于新增资源或者使用请求中的有效负载替换目标资源的表现形式,幂等的PATCH 对指定资源的部分进行修改DELETEOPTIONS 返回支持的方法选项HEAD 请求资源的头部信息, 并且这些头部与 HTTP GET 方法请求时返回的一致. 该请求方法的一个使用场景是在下载一个大文件前先获取其大小再决定是否要下载, 以此可以节约带宽资源TRACE 回显服务器收到的请求,主要用于测试或诊断CONNE

2020-12-10 20:47:03 161 1

原创 python中的dict和set的实现原理

dict和set都是无序的,他们底层是通过哈希表实现的,理论上他们的时间复杂度O(1)hash tables哈希表(hash tables)是一种数据结构,通过哈希函数将键值(key-value)对进行映射,如下图因此key都应该是可哈希的对象(不可变对象)哈希冲突因为哈希不是唯一的,不同的值经过哈希函数取余之后可能会获得相同的值,这叫哈希冲突。解决方法:开放寻址法、拉链法、再哈希法、建立公共溢出区等...

2020-12-10 15:15:47 134

原创 关于python内存管理机制

对象存储在值传递和引用传递测试过python对于不可变对象的存储采用的是缓存机制,对于相同的int、string采用缓存机制,不会为不同对象分配多个内存空间。python对于可变对象,是会分配不同内存地址的。对象引用计数器每个对象都会记录被引用的次数,被引用一次就+1,减少一个引用就-1。通过sys.getrefcount()可以查看引用器。如果是普通对象,计数器从0开始计算。当计数器=0时候,释放内存。也可以用del来删除对象,释放内存。垃圾回收a = [1, 2, 3]del a

2020-12-10 01:41:17 126

原创 python函数的值传递和引用传递

值传递和引用传递func(arg1,arg2)在函数中,定义函数的时候写的参数叫形参,调用函数传入的参数叫实参。值传递的意思是实参传递进去的其实是数据对象的一个副本,并不会对原对象产生影响,引用传递是指穿进去的是参数对象的内存地址,因此期间对参数的操作是会对原对象产生影响的。就结论而言,python的不可变对象是值传递,可变对象是引用传递。不像C,可以指定是值传递或是引用传递。python的数据类型在Python中,万物皆对象。python的数据类型可分为 不可变对象 和 可变对象。每个对象

2020-12-07 11:18:51 260

原创 设计模式个人笔记

OOP七大原则:开闭原则:对扩展开房,对修改关闭。里氏替换原则:继承必须确保超类所拥有的的性质在子类中任然成立。依赖倒置原则:要面向接口编程,不要面向实现编程。单一职责原则:控制类的粒度大小,将对象解耦,提高其内聚性。接口隔离原则:要为各个类建立专用接口,不要试图建立一个庞大的接口提供所有依赖它的类去调用。迪米特法则:只与你的直接朋友交谈,不跟“陌生人”说话。合成复用原则:软件复用时,要尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现。设计模式三大类创建型模式创

2020-11-28 15:01:00 126

原创 Docker网络(bridge)

Container Network ModelDocker 网络架构源自一种叫作容器网络模型(CNM)的方案,该方案是开源的并且支持插接式连接。Libnetwork 是 Docker 对 CNM 的一种实现,提供了 Docker 核心网络架构的全部功能。不同的驱动可以通过插拔的方式接入 Libnetwork 来提供定制化的网络拓扑。如图,Docker daemon通过调用libnetwork api来完成对网络的创建和管理。CNM主要由三个组件sandbox、endpoint和network。lib

2020-11-26 16:32:54 596 1

原创 Docker入门(三)

DockerFile构建Docker镜像的脚本,交付的标准。使用步骤:1、编写dockerfile2、docker build 通过dockerfile构建镜像3、docker run4、docker push 发布镜像编写dockerfile基础知识:dockerfile的命令都是大写从上到下执行每一个指令都会生成一个镜像层...

2020-11-26 13:39:26 74

空空如也

空空如也

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

TA关注的人

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