文章教程

C++语言类的详解和示例

超女选秀的例子我们玩了很久,为了教学的需要,暂时离开美眉们,我将采用实际项目开发的例子。在C语言基础知识中已学习过文件操作,在实际开发中,我会把文件操作封装成一个类,类的声明如下:类的声明和成员函数的定义都是类定义的一部分,在实际开发中,我们通常将类的声明放在头文件中,而将成员函数的定义放在源文件中。类成员的访问权限C++通过 public、protecte …

格式化字符串漏洞及利用_萌新食用

前言格式化字符串漏洞 具有 任意地址读,任意地址写。printfprintf --一个参数:情况1当参数 只有 1个字符串的话(含有%?), ? 即 i, x, s 等等<br>第一个参数 作为 格式化字符串,而这个格式化字符串里含有解析 字符串的 %p ,它将第一个参数作为 格式化字符串,第二个参数 作为 格式化字符串的参数表 中的第一个参数 …

日子越来越有判头了?用DLL劫持,搞点事情

0x01 dll简介在Windows系统中,为了节省内存和实现代码重用,微软在Windows操作系统中实现了一种共享函数库的方式。这就是DLL(Dynamic Link Library),即动态链接库,这种库包含了可由多个程序同时使用的代码和数据。每个DLL都有一个入口函数(DLLMain),系统在特定环境下会调用DLLMain。在下面的事件发生时就会调用d …

Linux网络编程:原始套接字编程及实例分析

linux服务器开发相关视频解析:100行代码搞定用户态协议栈10道经典面试题的剖析, 技术方向如何决定职业方向|cc++|linux一、原始套接字能干什么?通常情况下程序员接所接触到的套接字(Socket)为两类:流式套接字(SOCK_STREAM):一种面向连接的Socket,针对于面向连接的TCP 服务应用;数据报式套接字(SOCK_DGRAM):一种 …

缓冲区溢出浅析

许多程序员在编程时都没有遵循一条规则,即操作字符串时,边界检查是必需的。否则,就有可能出现堆栈缓冲区溢出。不管你是一个开发人员,还是测试或研究人员,理解缓冲区溢出的原理都很重要。尽管操作系统和编译器已经提升了安全性,但最好的安全还是自己能够识别并消除这种潜在的编程错误。本文将通过一个编程例子,简要分析堆栈缓冲区溢出的原理和利用。下面是一段对特定目标进行Nma …

嵌入式编程中的浮点数处理

什么是浮点数浮点数是指一种既包含小数又包含整数的数据类型。浮点型变量分类浮点型分为单精度(float型)和双精度(double型)。浮点型变量使用定义。如下:float a;声明单精度浮点型变量double b;声明双精度浮点型变量单精度(float型)与双精度(double型)的区别float 单精度浮点数内存中占 4 个字节,用 32 位二进制描述。do …

恶意代码常见的编程方式

恶意代码的分类包括计算机病毒、蠕虫、木马、后门、Rootkit、流氓软件、间谍软件、广告软件、僵尸(bot) 、Exploit等等,有些技术经常用到,有的也是必然用到。恶意代码常见功能技术如下:进程遍历,文件遍历,按键记录,后门,桌面截屏,文件监控,自删除,U盘监控。知己知彼,百战不殆。这里旨在给反病毒工程师提供参照。病毒作者请绕过。0x01进程遍历进程遍历 …

避雷心经 | Coredump排查入门

作者:garrycai,腾讯PCG后台开发工程师| 导语 想必每一位 C++ 选手在工作中都难免会踩中 Coredump 地雷,而我作为 C++ 新手也与 Coredump 有过激烈的战斗,下文正是我在排查 Coredump 过程中总结的一些心得经验。1. 概念Coredump(核心存储)是进程异常终止或崩溃时的内存快照,操作系统会在程序发生异常而异常在进程 …

以Twig模板为例浅学一手SSTI

什么是SSTISSTI:开局一张图,姿势全靠ySSTI,即服务器端模板注入(Server-Side Template Injection)常见的注入有:SQL 注入,XSS 注入,XPATH 注入,XML 注入,代码注入,命令注入等等。sql注入已经出世很多年了,对于sql注入的概念和原理很多人应该是相当清楚了,SSTI也是注入类的漏洞,其成因其实是可以类比 …

IOC-golang 的 AOP 原理与应用

AOP 与 IOC 的关系AOP (面向切面编程)是一种编程设计思想,旨在通过拦截业务过程的切面,实现特定模块化的能力,降低业务逻辑之间的耦合度。这一思路在众多知名项目中都有实践。例如 Spring 的切点 PointCut 、 gRPC的拦截器 Interceptor 、Dubbo 的过滤器 Filter。AOP 只是一种概念,这种概念被应用在不同的场景下 …