- 博客(101)
- 收藏
- 关注
原创 【Qt】QString字符串常用方法
在软件开发过程中,最常见的类一定是字符串类,因为程序也可以看作是对数据的处理。Qt提供了QString来存储字符串,基本单位是一个16位的QChar类型,默认字符编码为Unicode,注意不是UTF-8,是UTF-16,也就是说一个QChar可以表示65535个字符QString使用了"写时复制"技术,减少了内存消耗。
2025-01-04 10:53:58
225
原创 【Qt】如何保证线程安全(以日志写入为例)
如下,大家仔细思考就会发现,万一在写入日志过程中使用了return,函数提前结束,是不是就会出现没有解锁的情况,这肯定是不安全的。在近日学习中发现,如果开发一个单例模式的日志系统,难免会出现多个线程记录日志的情况,这个时候线程可能导致竞争,或者始料未及的情况发生。如同注释,离开这个作用域,锁会被自动打开。看了具体解释,现在我来具体使用,假设我有一个Logger.h文件,在下面添加一个QMutex mutex_;通过学习,如果要保证线程安全,要使用互斥锁QMutex,和QMutexLocker。
2025-01-04 09:59:55
487
原创 【QT】实现RestFul接口
到这里,我们已经创建了一个基本的 HTTP 服务器,它可以处理简单的请求,并返回响应。你可以根据需要扩展更多的路由、请求类型以及错误处理逻辑。是一个非常适合用来快速搭建 HTTP 服务的工具,尤其适合在 Qt 项目中集成网络功能。
2025-01-02 19:34:32
752
原创 【Qt】Qt+Visual Studio 2022环境开发
在使用Qt Creator的过程中,项目一大就会卡,所以我一般都是用VS开发+Cmake开发,在上一篇文章中,我已经安装了CMake,如果你没有安装就自己按一下。地址栏中输入cmd进入命令行界面,输入。双击打开就可以使用VS来开发了。
2024-12-16 14:39:17
460
原创 【Qt】qt安装
在工作一年之后,还是想做一个Qt的教程,遥想研一刚刚接触Qt,从0到1学习,没有什么参考书籍,网上的资料也不多,幸好Qt官方文档写得好,加上自己肯研究,才堪堪入门。在Qt的安装中,要根据自己的开发目的选择不同组件,当年我因为这个问题,兜兜转转了很久,而且要可以debug也要选择debug组件,不然就无法debug。现在我想自己写一个Qt系列,补充当年的遗憾,让后来人学习的时候不那么恼火,也是为自己的学习做一个总结吧。或者从清华大学开源镜像站点下载,我一般选择从镜像站下载,比较方便,不用注册,
2024-12-16 14:12:22
574
原创 【C++】使用标准库生成UUID
1.UUID的定义:UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为。简单来说:由于UUID是一个128位的长的标志符,为了便于阅读和显示,通常会将这个大整数转换成32(不包含连接符)个。中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。组织在分布式计算环境领域的一部分。2.知道了结构,我们结合C++的随机数生成即可。类定义(放在.cpp文件)
2024-12-09 10:00:00
762
原创 【网络安全】actuator漏洞修复
在渗透测试或者基线扫描中,开发者往往会忘记actuator的配置,导致被扫出未授权漏洞。为了解决这个问题,我记录一种修复的方法,最好用的是“一刀切”。因为计算机的端口在1-65535,所以配置端口为-1,永远无法监听到。
2024-09-27 21:27:20
512
原创 [编程]C/C++安全删除内存的宏
在C/C++开发中,经常会释放内存,但是每次都判断一次指针是否为空很不方便,所以我参考ParaView写了一个安全的删除宏,方便使用。
2024-09-27 21:20:36
154
原创 [底层原理] C/C++获取时间(将时间戳转换为年月日)?
前言大家都知道,计算机中存储的时间是一个整数,在现在的编程语言中,可以很方便地将时间戳(整数)转换为字符串,但是如果没有这些我们该如何自己计算出呢?刚好以前研究过Nginx的源代码,我以他的代码为例,说明其背后的数学原理。当然在工程实践中,没有必要花时间自己实现转换的函数,所以本文用作一些底层原理的研究,说明计算机的背后其实是数学的原理组成的。我这里采用C语言,如果是其他语言,也是类似的转换方法。本文分为两个部分源代码和源代码解析。环境:Visual Studio 2022,Win11。
2024-08-24 18:25:54
2206
原创 [编码规范]我的Visual Studio设置(亲测有效)
在昨天看到一本书,讲的是微软的编码规范,按照设置之后,编码生产力提高了很多,看起来界面非常顺眼,那么我把这些配置分享出来,如果是其他IDE也可以根据以下的标准设置。3.限制一行代码的最大长度,可以设置为90,增强代码的可阅读性。1.使用定宽字体:Courier New,大小为12。2.代码使用四个空格代替制表符。
2024-08-24 17:29:46
368
原创 【dotnet】Ubuntu 24.04安装dotnet 8.0报错
我的环境是Ubuntu 24.04,64位,使用azure的虚拟机。在github上找到了修复方式,并且我自己也成功了。
2024-08-22 17:09:00
650
原创 WPF如何获取DataGrid的选中行
然后ViewModel中委托OpenWindowCommand命令,如图所示obj就是选中的当前行的对象。在DataGrid中加入这一行。
2024-08-20 21:41:57
1314
原创 【C++】-获取某个目录下的所有文件名
在前段时间,师兄在维护一个MFC的老项目,C++只可以使用14版本的,提了一个需求,遍历某个目录下的所有文件名(去掉后缀),因为他用MFC始终遍历有问题,让我来解决。于是我提出的解决方案就是直接使用标准库来写。但是标准库的filesystem在C++ 17被引入,项目又不能升级到C++ 17。通过搜索资料发现,filesystem在14和11的expermental就有了,所以这样写就可以。需求是:1.遍历某个目录的所有文件。我其实也不懂MFC,由于是老项目,里面很多东西不敢碰。
2024-08-19 22:40:05
418
原创 网络安全-pikachu之SQL注入漏洞(数字型注入)
SQL注入漏洞主要形成的原因是在数据交互中,前端的数据传入到后台处理时,没有做严格的判断,导致其传入的“数据”拼接到SQL语句中后,被当作SQL语句的一部分执行。在owasp发布的top10排行榜里,注入漏洞一直是危害排名第一的漏洞,其中注入漏洞里面首当其冲的就是数据库注入漏洞。SQL注入在网络上非常热门,也有很多技术专家写过非常详细的关于SQL注入漏洞的文章,这里就不在多写了。实战中确定这里有注入点之后,可以直接使用sqlmap来跑,但是我这里是学习,所以就手动注入来得到结果。
2024-02-21 20:08:53
1033
1
原创 telnet教程
Telnet(Telecommunication Network Protocol)最初起源于1969年的ARPANET,是最早的互联网应用之一。在网络安全领域中,经常有telnet无密码连接的情况,但是我虽然知道此漏洞非常多,但是我只会ssh,连telnet连接的命令都不知道,所以我需要去记录并且了解这个协议。端口打开的情况下,链接成功,则进入telnet页面(全黑的),证明端口可用。telnet不安全的原因是明文传输数据,后续的SSH就对传输的数据进行了加密。telnet使用TCP协议,不是UDP。
2024-02-21 19:41:32
551
原创 网络安全-pikachu之文件上传漏洞1
当用户点击上传按钮后,后台会对上传的文件进行判断 比如是否是指定的类型、后缀名、大小等等,然后将其按照设计的格式进行重命名后存储在指定的目录。如果说后台对上传的文件没有进行任何的安全判断或者判断条件不够严谨,则攻击着可能会上传一些恶意的文件,比如一句话木马,从而导致后台服务器被webshell。如果要防护需要在后段进行判断,除了判断文件,还要重命名文件,并且将上传的目录可执行权限进行限制。所以,在设计文件上传功能时,一定要对传进来的文件进行严格的安全考虑。--验证文件的上传方式;使用antsword连接。
2024-02-20 15:20:13
899
原创 网络安全-pikachu之文件上传漏洞2
先知道MIME type是什么,通过查找资料发现是:Content-Type是返回消息中非常重要的内容,表示后面的文档属于什么MIME类型。例如最常见的就是text/html,它的意思是说返回的内容是文本类型,这个文本又是HTML格式的。进入到第二个文件上传漏洞,发现名字是MIME type,并且查看前端源代码没发现限制,所以是后段,盲猜通过抓包就可以绕过后段限制。打开bp抓包,发现此请求的content-type为text/php,明显无法通过验证。text/xml :XML格式。
2024-02-20 09:35:06
702
原创 网络安全-nc(Netcat)工具详解
经常在反弹shell的时候使用nc命令,但是从来没有了解过,今天翻书看到了,准备记录一下。使用nc来监听端口,等待被控制的服务器发起连接。所以运行nc的服务器一般要在公网才可以。nc全称Netcat,是TCP/IP连接的瑞士军刀。哈哈我最喜欢瑞士军刀了。-l,代表listen,监听的意思,-v代表详细输出。有一个比较偏的知识点,nc还可以探测目标的端口是否开放,目标机执行反弹shell的几种姿势,留着以后再学习吧。比如如下, 其80端口是开放的。
2024-02-19 14:39:02
859
原创 网络安全-再谈nmap
sV,使用SYN扫描,模拟的是TCP握手的端口扫描技术,因为UDP是无连接的,所以对UDP协议是无效的。SYN可以显示出端口是否开放,但是无法探测端口的应用程序的版本,比如是SMB的什么版本。--min-rate,设置最小扫描速度,如果不设置这个扫描一台主机大概要十几分钟,设置为5000的时候一分钟以内可以完成,当然速度快了容易被封ip,具体设置什么值需要看情况。以下是扫描baidu的80端口结果,这里肯定是不会有版本的,人家是大厂,只是做一个示例。-sU,和名字一样,用来探测UDP协议的端口。
2024-02-19 14:31:10
723
原创 网络安全-一句话木马
大家在知道了常规一句话的木马之后,就可以通过关键字或者更高级的方式来查看服务器是否存在木马。php7中此命令是不行的,可以拼接命令绕过。这也显示了攻防的对抗和进化。此分享主要用于交流学习,请勿用于非法用途,一切后果自付。一切未经授权的网络攻击均为违法行为,互联网非法外之地。请严格遵守网络安全法相关条例!不用''的asp一句话。可以躲过雷客图的一句话。最经典的 php一句话。不用双引号的一句话。
2024-02-18 14:54:53
942
1
原创 网络安全-端口扫描和服务识别的几种方式
在日常的渗透测试中,我们拿到一个ip或者域名之后,需要做的事情就是搞清楚这台主机上运行的服务有哪些,开放的端口有哪些。如果我们连开放的端口和服务都不知道,下一步针对性地使用nday漏洞就无从谈起。本篇文章介绍几种识别开放端口和服务的工具。
2024-02-04 19:14:13
1339
原创 网络安全-kkFileViews任意文件读取漏洞原理解析
在学习的过程中,了解到kkFileView存在任意文件读取、SSRF、文件上传漏洞。为了更深刻的理解其原理,我从git拉取了项目,由于该漏洞在最新版本已经修复,所以这只是历史版本中存在的。写这篇文章来提醒自己代码中容易出问题的地方。
2024-02-04 13:43:32
4370
原创 各位大佬看看这是不是macos的一个bug啊
打开mac自带的命令行,先输入man less,显示没问题,再输入man more,发现出现的是less的说明,这里出了问题。第一张图是man less,第二张图是man more。请各位大佬看看是不是一个bug啊,
2024-01-04 10:24:36
389
原创 蓝队应急响应- windows常用命令
在蓝队日常中,免不了被入侵,那么就需要对目前的主机或者服务器进行检查,在日常生活中,人们使用最多的还是windows,比如客服的电脑中了木马,这个时候就需要蓝队去进行溯源等后续操作。//多引擎在线病毒扫描⽹ v1.02,当前⽀持 41 款杀毒引擎。9. 打开任务管理器或者命令行输入tasklist查看可以的进程,//腾讯哈勃分析系统。
2023-12-29 19:35:00
616
原创 渗透测试中常见的端口及其服务
9200,9300 elasticsearch 参考WooYun: 多玩某服务器ElasticSearch命令执行漏洞。9200,9300 elasticsearch 参考WooYun: 多玩某服务器ElasticSearch命令执行漏洞。在渗透中端口扫描的收集主机那些服务很重要,这里收集到一些常见的的服务端,如果不知道端口服务是什么可以查找下面的内容。7001,7002 WebLogic默认弱口令,反序列。7001,7002 WebLogic默认弱口令,反序列。
2023-12-29 10:59:02
631
原创 nmap常用命令详解
比如我上周复测防火墙端口就用到了nmap,但是我还不知道如何使用绿盟的系统,况且他们的系统扫描一台主机要使用接近半个小时,我修复了一个漏洞,是通过只允许信任主机通过该端口实现的,所以这种情况我直接用nmap简单复测了一下,发现端口已经被filter了,也就是过滤了,也及时给领导说了我简单复测的结果,果然绿盟的系统结果也是一样的,因为领导要得急,这个时候运用工具的能力就体现了专业度。nmap可以快速对目标主机进行扫描和探测,可以发现主机开放的端口、使用的服务、系统类型等关键信息。
2023-12-20 21:58:30
494
原创 防火墙-iptables详解
最近的工作中,需要对防火墙进行配置,但是很多地方都是老机器,有的用iptables,有的用firewalld,我写下这篇文章,彻底地了解这两个应用软件的使用方法。在以后的工作中,相信很多人都会遇到配置防火墙的问题,希望这篇文章对您有帮助。注意firewalld和iptables底层都是调用的Linux内核中的netfilter,所以不用去争谁好谁坏,底层原理都是一样的。
2023-12-20 16:30:24
410
原创 一次应急响应记录
经过这次事件,我学习到了:1. 在企业中防火墙非常重要,iptables一定要学会,新机器也可以用firewalld,但是经典就是经典,就像ak47,是战士亲密的战友。2.扫描器扫出来的漏洞的修补中,要尽量了解到主机的环境,了解其他相似主机的环境,找到其差异的地方,大部分情况下扫描器都是扫出了版本问题,如果类似openssh这种,我们有堡垒机就可以通过防火墙来过滤,如果是某些应用,可能只有升级。3.解决问题的过程中,需要灵活应变,多想几种方法,尽量了解事件的全貌,然后做出判断,着手解决。
2023-12-18 10:42:30
113
原创 【网络安全】vulhub靶场搭建与一个漏洞的简单示例
vulhub是一个经典的靶场,里面大约包含了200个不同的漏洞,可以说是安全从业者必刷。无需docker知识,简单执行一条命令即可编译、运行一个完整的漏洞靶场镜像。于是我通过命令lsof来查看被谁占用了,并且杀死了这个进程。开始漏洞复现,以nginx的路径穿越为例,先进入到目录。接下来查看本机ip地址以供接下来在浏览器访问。但是我提示端口8081被占用了。我的环境是CentOS 7。下载并解压vulhub。
2023-12-10 16:59:31
486
原创 安全众测-内网渗透常用的工具和命令
我现在掌握的方法:第一scaninfo,然后rdp查看,然后看hydra爆破,第二使用msf直接exp,第三手动查看网页应用。记住:渗透测试的本质是信息收集,信息越多,出现漏洞的可能性就越大,一直到收集到所有资产为止。最近参加企业内部的众测,我是一名新手,所以先学习使用工具扫描的方法。如下是我的一些经验。,是一个全球代理的Go模块资源包,在这里可以下载所有被墙的第三方工具包。scaninfo:内网扫描的神器,缺点是速度较慢,但是容易出成果。whatweb:web应用指纹识别工具,在Kali中可用。
2023-12-06 21:18:19
1519
1
原创 iptables入门
今天我的工作遇到了巡检网络配置的任务,这次巡检的主机都是运行十多年的机器,并不是新的firewalld,基本都是iptables,上学的时候以为这些都没人用,所以没有认真学习,现在需要用到了,所以写一篇文章记录下。
2023-12-05 21:10:53
102
原创 QT QStringList类常见用法
8.替换字符,QStringList支持普通字符替换和正则表达式。5.首尾的删除和添加,其实大部分qt的类都具有这个函数。3. 和QString相互转换。4.查看是否包含某个值。
2023-12-04 23:18:03
1048
原创 任意文件上传漏洞实战和防范
文件上传漏洞广泛存在于Web1.0时代,恶意攻击者的主要攻击手法是将可执行脚本(WebShell)上传至目标服务器,以达到控制目标服务器的目的。
2023-12-04 17:31:06
563
原创 kali常用命令
1.常用命令passwd 修改密码passwd root 修改root用户密码date 显示系统日期sudo 后面加命令 就可以调用管理权限apt-get update 更新软件列表这个命令,会访问源列表里的每个网址,并读取软件列表,然后保存在本地电脑。我们在新立得软件包管理器里看到的软件列表,都是通过update命令更新的。apt-get upgrade 更新软件这个命令,会把本地已安装的软件,与刚下载的软件列表里对应软件进行对比,如果发现已安装的软件版本太低,就会提示你更新。
2023-12-01 09:35:10
514
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人