- 博客(95)
- 收藏
- 关注
原创 def坑点:文件句柄未能正常释放
因为 defer 语句在函数结束时才会执行,而不是在每次循环结束时执行,又因为这段函数是一直在运行中的,所以是不会自动断开句柄的,导致每次恢复一个文件,就出现句柄未释放的问题,详细的参考文献:https://blog.csdn.net/micl200110041/article/details/82116440。**【结论】**def 不要在for循环,或者是无限循环代码块中使用。后面调整为手动释放,即可在每次循环结束时显式关闭文件句柄。案例:监控文件删除行为,并做文件恢复(基础版)
2024-08-17 00:40:02
183
原创 Linux快速切换/完善内核
看到标题就晓得是为啥而写的吧,没错,它就是记录Linux的内核切换的一些常见问题,尽可能把平时一些经验和真实有效的心得写下来,同时也希望可以给需要切换内核版本的大伙带来方便,感受到"小小内核切换"竟然如此简单……友情提醒:如果是真实服务器,还是要谨慎切换为好……ubuntu、centos、debian相关内核切换的方法,
2024-08-08 23:49:03
370
原创 Linux镜像源更换合集【待完善】
写这篇文章,主要是为了收集和总结最近更换镜像源的经验,近期,centos停服的影响,导致很多厂商关闭了自己的镜像源,更换镜像源又是一个简单又容易出错的问题,故写下此篇,作为记录。
2024-08-08 23:29:32
322
原创 “version `GLIBC_2.34‘ not found“错误处理
golang本地的开发环境和引用的模块不同.结果发现编译的文件在服务器上运行报了下面的错误。
2024-08-08 00:12:35
117
原创 go程序在windows服务中优雅开启和关闭
> 本篇主要是讲述一个go程序,如何在windows服务中优雅开启和关闭,废话不多说,开搞!!!> 使用方式:go程序 + net服务启动
2024-07-25 22:52:16
845
1
原创 OpenSSH RCE (CVE-2024-6387) | 附poc | 小试
OpenSSH 远程代码执行漏洞(CVE-2024-6387),该漏洞是由于OpenSSH服务器 (sshd) 中的信号处理程序竞争问题,未经身份验证的攻击者可以利用此漏洞在Linux系统上以root身份执行任意代码。
2024-07-02 21:37:28
2943
1
原创 第三篇—基于黑白样本的webshell检测
> 本篇为webshell检测的第三篇,主要讲的是基于黑白样本的webshell预测,从样本收集、特征提取、模型训练,最后模型评估这四步,实现一个简单的黑白样本预测模型。> 若有误之处,望大佬们指出
2024-06-16 15:09:19
756
原创 webshell检测第二篇——静态检测
静态检测常见的就是两种,分别为正则匹配、文件md5匹配## Ⅰ 正则表达式 其中正则匹配时最为常见的,需要有大量的正则匹配作为检测数据,这一过程可以作为第一个进行webshell检测。下面是一个基础的正则表达式的检测方式
2024-06-16 00:29:30
249
原创 Linux—小小内核升级
- 内核(kernel):这是Linux操作系统的核心部分,它负责管理系统的硬件和软件资源,提供各种服务给软件应用程序;- 内核开发包(kernel-devel):这个包包含了内核头文件,这些文件可以用来构建内核模块- 内核头文件包(kernel-headers):这个包包含了指定Linux内核与用户空间库和程序之间的接口的C头文件。这些头文件定义了构建大多数标准程序所需的常量结构和常量
2024-06-05 23:46:17
677
原创 Webshell检测初识
属于木马其中一种类型,主要是攻击者通过web端,上传一些恶意代码文件,尝试获取服务器信息和权限的文件,一般的,利用能够执行系统命令、加载代码的函数,或者组合一些普通函数,完成一些高级间谍功能的网站后门的脚本,叫做 Webshell 大致分一句话木马、小马(通常比较简单)、大马(代码量大,可以更好获取服务器信息,但易被发现)
2024-06-03 23:26:27
220
原创 Go读取文件n行的思路之旅
【问题】最近想在一个10G的文件上读取最后100行数据,用了多种方式去实现,发现还是逆向读取比较香一点【方法】分别尝试了两种方式:双端队列和逆读文件
2024-04-19 00:19:11
445
原创 优先队列处理文件的锁定和自动解锁
最近要做一个防篡改的功能,一开始是采用事件型的方式实现的,结果发现会有一种情况"如果某个文件短时间一直被外部进行多次恶意操作"时,一直防也不是个事,应该在加一层防护—文件锁定,这样就舒服多了
2024-04-16 00:02:21
244
原创 go优雅读取zip压缩包-进阶2
看到这里就晓得了,之前那一一篇文章[go优雅读取zip压缩包]依旧还是有些问题,接下来,我就开始描述下本文章讲述的内容:> 1. 面对需要多次读取多个zip压缩包里的指定文件内容,如何提升读取的速度;> 2. 在提升速度的过程中,如何一步步找到内存占用和读取速度的平衡点;
2024-04-01 23:33:28
1138
原创 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
739
原创 systemctl 和 ps -aux之间为什么显示的内存占用不相同?
粗略解读了下【systemctl】和【ps -aux】所输出的内存使用情况有那么大的差距,并进一度了解RSS等进程内存知识。我最近在写一个go程序的小demo,结果发现go程序占用内存太大了,尝试减低内存占用情况,结果发现……
2024-03-25 23:08:18
567
原创 go优雅读取zip压缩包
这种会出现一个问题,如果站点文件极多的情况下,内存会溢出,而且扫描速度很慢,都是秒级的,效率太慢了。【最终效果】 读取文件控制到ms级,相对于循环遍历来说,效率快的太多了。,需要查询的时候,就直接定位文件内存地址即可读取相关内容。【需求】 读取压缩包里的指定文件内容,并输出。【解决方法】 遍历循环 -> 内存地址读取。【改进方法】采用map存储压缩包的。
2024-03-24 23:32:17
455
原创 有关java连接数据库报错的解决方案
“Exception in thread “main“ java.lang.ClassNotFoundException: com.mysql.jdbc.Driver.java”解决方案
2023-10-08 21:07:59
512
原创 ctfshow—1024系列练习
输入读取的路径: /var/www/bushihtml/index.html执行指令: ls /base64编码下放包操作,查看结果好像少了什么东西,看看题目有没有提示,添加上去即可。
2023-10-02 15:46:09
627
原创 RASP hook&插桩原理解析
在一个测试jar包执行前,提前执行编写好的permain函数,将原本的测试jar的字节码,替换成自己想要的字节码,然后再放回去,JVM只执行我修改好的class文件,转义后,这个代码就拥有自我监控和拦截功能,就达成了无入侵自我保护。注意:OpenRASP是启动前加载的,所以所有的类模块加载都是在启动前就已经换成自己想要的字节码了,每当调用关注类时,就不会调用原来的代码,而是调用编写好的代码强化的代码模块。ASM主要是通过字节码进行修改,而javassist是通过java代码进行修改的。
2023-09-24 21:31:30
494
原创 upload-labs第13关~20关详细解析
二次渲染是这一关的最大特点,将上传的文件重新生成为新的文件,这很容易出现“图片马被打乱,重新生成一张普通的jpg文件”四个文件:一句话木马php文件+一张jgp格式照片+包含一句话木马的jpg照片shell_jpg+.py文件。后面,我尝试直接用图片马上传,发现没有二次渲染~~ ,直接用AntSword连接图片马,成功了。后面了解到了,直接将php代码段插入到一个图片里,对于jpg不太显示,jpg不稳定。我发现用普通的图片马+自带的文件包含,就可以实现文件上传漏洞。不行,直接被拦截了,这里会显示一片空白。
2023-02-13 13:29:26
1613
1
原创 upload-labs第3关~10关 黑名单限制绕过
上传文件时,生成上传文件的绝对路径是用file_name 拼接上去,但file_name 只删除了尾点,我们可以利用Win10的特性,会自动忽略掉尾部空格和点号。,会通过in_array函数的验证,生成绝对路径时 变成 XXX.php_. ( **_表示空格 **) ,win10会忽略掉这两个。这里就会有一个问题:如果我上传文件后,通过了黑名单验证,就可以上传成功,这里可以利用配置文件.改成 **XXX.php. . ** ,但提交后发现不可行,报错,未找到原因。
2023-02-13 13:27:37
1168
原创 upload-labs第1~2关 小试牛刀
浏览器并不认得这是什么类型,也不知道应该如何展示,只知道这是一种二进制文件,因此遇到content-type为application/octet-stream的文件时,浏览器会直接把它下载下来,在这个靶场就是直接保存在本地文件夹。相对于第一关,这一关将文件类型判断放在了后端代码上,我们可以通过MIME验证绕过,说说人话,就是。在这里,如果我们想直接上传php文件,且不被拦截到,可以通过burp修改数据包的文件类型,便可以实现。上传一句话木马的jpg,再用burp抓包,把上传的文件名改成。
2023-02-13 13:25:27
1107
原创 sqli-labs进阶篇 32关~38关
本文章主要讲述sqli-labs靶场第32关到38关的通关心得,从三方面讲述如何通关,分别是注入点判断、源码分析、注入过程。文章若有不恰当之处,望指出~~
2023-02-06 10:39:28
962
原创 sqli-labs进阶篇 29关~31关
本文章主要讲述sqli-labs靶场第29关到32关的通关心得,从三方面讲述如何通关,分别是注入点判断、源码分析、注入过程。文章若有不恰当之处,望指出~~
2023-02-06 10:35:46
635
原创 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
942
原创 sqli--labs 进阶篇 23_24关
直接登录进入,通过注册一个含有特殊字符的账号,再修改密码,从而修改掉原本的数据库中已存在的账号信息。到这里,自己没有什么思路,不知道怎么注入,看了下题目讲到二阶注入,猜测我们需要在。pass_change.php 登录成功后,有更新操作的处理。源码文件,重要的只有四个,下面就依次看一下源码文件的具体功能。更新账号密码时,账户信息没有过滤,是直接更新的,可以利用!注册一个新的,账号:admin’# ,密码:123。进一步确定自己的推论,源码中,存在过滤掉一些注释语句。
2023-01-30 15:32:51
571
原创 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
693
2
原创 httpOnly对于抵御Session劫持的个人小结
cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,主要防护的攻击手段:XSS不能通过document对象直接获取cookie。
2022-11-18 20:20:43
755
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人