自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Go读取文件n行的思路之旅

【问题】最近想在一个10G的文件上读取最后100行数据,用了多种方式去实现,发现还是逆向读取比较香一点【方法】分别尝试了两种方式:双端队列和逆读文件

2024-04-19 00:19:11 369

原创 优先队列处理文件的锁定和自动解锁

最近要做一个防篡改的功能,一开始是采用事件型的方式实现的,结果发现会有一种情况"如果某个文件短时间一直被外部进行多次恶意操作"时,一直防也不是个事,应该在加一层防护—文件锁定,这样就舒服多了

2024-04-16 00:02:21 226

原创 go优雅读取zip压缩包-进阶2

看到这里就晓得了,之前那一一篇文章[go优雅读取zip压缩包]依旧还是有些问题,接下来,我就开始描述下本文章讲述的内容:> 1. 面对需要多次读取多个zip压缩包里的指定文件内容,如何提升读取的速度;> 2. 在提升速度的过程中,如何一步步找到内存占用和读取速度的平衡点;

2024-04-01 23:33:28 1051

原创 Go build 交叉编译-实现多平台兼容

✔是不是很简单呀,确实是的,接下来就解释一下【平台有哪些】、【架构有哪些】、【为什么go程序可以兼容不同架构的那些事情】直接上干货,直接执行下面的指令,将GOOS(平台)和GOARCH(架构)就可以解决大部分架构兼容问题。PC段:linux、windows、darwin(苹果系统 Mac os)、aix(IBM操作系统 如AIX 5L)程序交叉编译后就可以在各操作系统执行,非Java或Python依赖虚拟机,Go编译后不依赖虚拟机。,架构性能好,耗电多、电压高,主要用于PC机、【X86,64位是指什么?

2024-03-30 00:16:38 506

原创 systemctl 和 ps -aux之间为什么显示的内存占用不相同?

粗略解读了下【systemctl】和【ps -aux】所输出的内存使用情况有那么大的差距,并进一度了解RSS等进程内存知识。我最近在写一个go程序的小demo,结果发现go程序占用内存太大了,尝试减低内存占用情况,结果发现……

2024-03-25 23:08:18 467

原创 Go 实现fsnotify

如何优雅地用go实现文件监控功能,当然是用fsnotify这个第三方库

2024-03-24 23:37:06 387

原创 go优雅读取zip压缩包

这种会出现一个问题,如果站点文件极多的情况下,内存会溢出,而且扫描速度很慢,都是秒级的,效率太慢了。【最终效果】 读取文件控制到ms级,相对于循环遍历来说,效率快的太多了。,需要查询的时候,就直接定位文件内存地址即可读取相关内容。【需求】 读取压缩包里的指定文件内容,并输出。【解决方法】 遍历循环 -> 内存地址读取。【改进方法】采用map存储压缩包的。

2024-03-24 23:32:17 413

原创 有关java连接数据库报错的解决方案

“Exception in thread “main“ java.lang.ClassNotFoundException: com.mysql.jdbc.Driver.java”解决方案

2023-10-08 21:07:59 447

原创 ctfshow—1024系列练习

输入读取的路径: /var/www/bushihtml/index.html执行指令: ls /base64编码下放包操作,查看结果好像少了什么东西,看看题目有没有提示,添加上去即可。

2023-10-02 15:46:09 552

原创 RASP hook&插桩原理解析

在一个测试jar包执行前,提前执行编写好的permain函数,将原本的测试jar的字节码,替换成自己想要的字节码,然后再放回去,JVM只执行我修改好的class文件,转义后,这个代码就拥有自我监控和拦截功能,就达成了无入侵自我保护。注意:OpenRASP是启动前加载的,所以所有的类模块加载都是在启动前就已经换成自己想要的字节码了,每当调用关注类时,就不会调用原来的代码,而是调用编写好的代码强化的代码模块。ASM主要是通过字节码进行修改,而javassist是通过java代码进行修改的。

2023-09-24 21:31:30 386

原创 RASP初识

rasp的基本常识学习

2023-09-24 21:30:39 192

原创 upload-labs第13关~20关详细解析

二次渲染是这一关的最大特点,将上传的文件重新生成为新的文件,这很容易出现“图片马被打乱,重新生成一张普通的jpg文件”四个文件:一句话木马php文件+一张jgp格式照片+包含一句话木马的jpg照片shell_jpg+.py文件。后面,我尝试直接用图片马上传,发现没有二次渲染~~ ,直接用AntSword连接图片马,成功了。后面了解到了,直接将php代码段插入到一个图片里,对于jpg不太显示,jpg不稳定。我发现用普通的图片马+自带的文件包含,就可以实现文件上传漏洞。不行,直接被拦截了,这里会显示一片空白。

2023-02-13 13:29:26 1481 1

原创 upload-labs第3关~10关 黑名单限制绕过

上传文件时,生成上传文件的绝对路径是用file_name 拼接上去,但file_name 只删除了尾点,我们可以利用Win10的特性,会自动忽略掉尾部空格和点号。,会通过in_array函数的验证,生成绝对路径时 变成 XXX.php_. ( **_表示空格 **) ,win10会忽略掉这两个。这里就会有一个问题:如果我上传文件后,通过了黑名单验证,就可以上传成功,这里可以利用配置文件.改成 **XXX.php. . ** ,但提交后发现不可行,报错,未找到原因。

2023-02-13 13:27:37 1065

原创 upload-labs第1~2关 小试牛刀

浏览器并不认得这是什么类型,也不知道应该如何展示,只知道这是一种二进制文件,因此遇到content-type为application/octet-stream的文件时,浏览器会直接把它下载下来,在这个靶场就是直接保存在本地文件夹。相对于第一关,这一关将文件类型判断放在了后端代码上,我们可以通过MIME验证绕过,说说人话,就是。在这里,如果我们想直接上传php文件,且不被拦截到,可以通过burp修改数据包的文件类型,便可以实现。上传一句话木马的jpg,再用burp抓包,把上传的文件名改成。

2023-02-13 13:25:27 1067

原创 sqli-labs进阶篇 32关~38关

本文章主要讲述sqli-labs靶场第32关到38关的通关心得,从三方面讲述如何通关,分别是注入点判断、源码分析、注入过程。文章若有不恰当之处,望指出~~

2023-02-06 10:39:28 893

原创 sqli-labs进阶篇 29关~31关

本文章主要讲述sqli-labs靶场第29关到32关的通关心得,从三方面讲述如何通关,分别是注入点判断、源码分析、注入过程。文章若有不恰当之处,望指出~~

2023-02-06 10:35:46 604

原创 sqli-labs进阶篇 25_28关

一、如何判断单/双引号注入??id=1' 报错了,一定是单引号注入-- 解析下①如果是双引号注入:"XXX" 输入:?id=1" or 1=1 执行:"1" or 1=1 " 结果:报错②如果是单引号注入:'XXX' 输入:?id=1" or 1=1 执行:'?id=1" or 1=1' 结果:id=1,执行成功二、如何判断闭合注入?以单引号为例三、怎么绕过一些字符?一般是使用3种方法进行绕过,分别是URL编码、大小写、重写(1)URL编码的常见字符%09

2023-01-30 15:42:27 881

原创 sqli--labs 进阶篇 23_24关

直接登录进入,通过注册一个含有特殊字符的账号,再修改密码,从而修改掉原本的数据库中已存在的账号信息。到这里,自己没有什么思路,不知道怎么注入,看了下题目讲到二阶注入,猜测我们需要在。pass_change.php 登录成功后,有更新操作的处理。源码文件,重要的只有四个,下面就依次看一下源码文件的具体功能。更新账号密码时,账户信息没有过滤,是直接更新的,可以利用!注册一个新的,账号:admin’# ,密码:123。进一步确定自己的推论,源码中,存在过滤掉一些注释语句。

2023-01-30 15:32:51 524

原创 Sqlmap工具使用心得

在练习sqli-labs靶场时,用到了sqlmap,便记录了下常见的sqlmap指令

2023-01-23 09:10:42 991 1

原创 sqli-labs基础篇 第18~22关

sqli-labs基础篇 第18~22关,主要学习内容:burp抓包、数据包修改

2023-01-23 09:09:09 2320 1

原创 sqli-labs基础篇 第11~17关

sqli-labs基础篇 第11~17关

2023-01-23 09:07:16 1348

原创 sqli-labs 基础篇 第8~10关

sqli-labs 基础篇 第8、9、10关

2023-01-13 21:35:53 457

原创 sqli-labs基础篇【第七关】详细解析

sqli-labs基础篇【第七关】详细解析,环境配置和注入判定

2023-01-11 09:43:03 3041 3

原创 笔记本部分WIFI信号搜索不到问题

笔记本部分WIFI信号搜索不到问题

2023-01-09 18:51:07 2253

原创 sqli-labs 基础篇1~4关 详细通关解析

在这里,就直接看到答案了,主要是因为他的源码构成的,当输入id=1时,会输出一个数据,恰好我们需要的账号和密码就是第一条数据,不过我们要按照顺序,慢慢爆。id=1’ ”,报错’ 1’ ') LIMIT 0,1 ,根据我们注入的sql语句,可以判断出源码存在括号。根据《Web安全深度剖析》上,讲到sql数字型注入存在验证方式,大致分为三步,满足三句话,即可能存在sql注入。id=1‘ ”,发现报错 ’ LIMIT 0,1。上述分析,我们注入时,不加分号,故接下来的数据库结构判断的sql注入语句是……

2023-01-08 08:26:47 668 2

转载 MySQL每张表最好不超过多少条数据,性能最大化

我说MySQL每张表最好不超过2000万数据,面试官让我回去等通知?

2023-01-04 10:04:15 850

原创 httpOnly对于抵御Session劫持的个人小结

cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,主要防护的攻击手段:XSS不能通过document对象直接获取cookie。

2022-11-18 20:20:43 720

原创 CTFHUB之Web安全 密码口令

CTFHUB之Web安全 密码口令

2022-10-25 20:50:53 1428

原创 CTFHUB之Web安全—信息泄露

本模块有十道题目录遍历phpinfo备份文件下载(4道)网站源码bak文件vim缓存.DS_StoreGit泄露SVN泄露HG泄露

2022-10-24 14:24:16 2926

原创 CTFHUB前置知识——http协议

CTFHUB前置知识——http协议

2022-10-21 14:15:01 1069

原创 抓包工具BurpSuit日常使用指南(持续更新)

BurpSuit工具日常使用指南

2022-10-21 13:52:07 1003

原创 删除链表的节点

问题描述给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。解题思路代码如下class Solution { public ListNode deleteNode(ListNode head, int val) { if(head.val == val) return head.next; ListNode pre = head; ListNode remove_val = head.next;

2022-05-02 10:25:52 523

原创 17. 打印从1到最大的n位数

问题描述输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。解题思路1、题目坑点2、解法一、普通解法:使用数组存储1~10^n-1,再输出二、dfs代码如下第一种class Solution { public int[] printNumbers(int n) { int num = (int)Math.pow(10, n)-1; int[] list = new int[n

2022-05-01 17:20:18 167

原创 14- I. 剪绳子【力扣~剑桥】

参考大佬解题思路问题描述给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]…k[m-1] 。请问 k[0]k[1]…*k[m-1] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。代码如下class Solution { public int cuttingRope(int n) { if(n <= 3).

2022-04-26 08:02:12 229

原创 13. 机器人的运动范围【力扣~剑桥】

经典路径问题:运用DFS+剪枝 或 BFS参考博主问题描述地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+3+7=18。但它不能进入方格 [35, 38],因为3+5+3+8=19。请问该机器人能够到达多少个格子?解题思路第一种:DFS深度搜索.

2022-04-25 09:33:20 128

原创 12. 矩阵中的路径

问题描述给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。解题思路算法:DFS(深度)+ 剪支代码如下class Solution { public boolean exist(char[][] board, String word) {

2022-04-24 11:11:25 207

原创 旋转数组的最小数字

问题描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。给你一个可能存在 重复 元素值的数组 numbers ,它原来是一个升序排列的数组,并按上述情形进行了一次旋转。请返回旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一次旋转,该数组的最小值为 1。注意:数组 [a[0], a[1], a[2], …, a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2], …, a[n-2]] 。解题思路:1、根据

2022-04-24 10:08:33 204

原创 算法学习 | 03. 数组中重复的数字【Java】

找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。

2022-04-19 07:53:26 361

原创 算法学习 | 169. 多数元素【Java】

问题描述给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。个人思路第一种:摩尔投票法思路初始化,第一个nums[0]为候选人ans,票数n = 0遍历数组,遇同n+1,不同n-1当n为0时,更换候选人,并n为0最终结果就是ans代码如下/* 第一种:摩尔投票法思路第二种:移位*/class Solution { public int majorityE

2022-04-18 09:22:14 501

原创 算法学习 | 136. 只出现一次的数字【Java】

问题描述给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?个人思路第一种先将数组排序把首尾因素考虑进去用for循环查找,该元素与左右元素是否相等第二种:异或原理:二进制数中各位数相同为0,不同为1代码如下第一种import java.util.Arrays;class Solution { public int singleNumber(i

2022-04-17 10:17:26 576

空空如也

空空如也

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

TA关注的人

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