Linux C/C++开发常见错误及其漏洞(一)

一、通用规范1、代码简洁精炼,美观,可读性好,高效率,高复用,可移植性好,高内聚,低耦合,没有冗余, 不符合这些原则,必须特别说明。2、规范性,代码有规可循。特殊排版、特殊语法、特殊指令,必须特别说明。二、常见的错误1、复制、粘贴当错误产生时会发生什么结果?错误的数据/返回数据、条件丢失、难以调试、肉眼难辨2、 ?:?:优先级小于前置的 | 、+等运算符,使语义发生变化此类运算符与其他运算符结合使用时请使用()。3、无意义的指针与0比较
分类: 其他 发布时间: 11-29 08:47 阅读次数: 0

Linux C/C++开发常见错误及其漏洞(二)

上篇介绍了一些常见的便错错误导致的漏洞,下面捎带讲解下相关的漏洞利用。由于有部分内容可能需要实际操作,所以可能无法介绍清晰,还请见谅!一、基础汇编介绍之前首先带大家了解下基础的汇编语法以及基础知识。对于64位系统,系统地址空间变大同时增加了多个通用寄存器被扩展到64位的通用寄存器为:RAX,RBX,RCX,RDX,RSI和RDI被扩展为64位的指令指针,基地址指针,栈指针分别为RIP,RBP和RSP提供的额外寄存器:R8到R158字节宽的指针在栈上push/pop为8字
分类: 其他 发布时间: 11-29 08:47 阅读次数: 0

linux 嵌入式环境使用iptables防火墙的一些体验

近期刚刚转到linux服务器开发组,因为需求问题需要开发一部分内网环境路由、策略控制方面的内容,走了很多弯路,现在总结一下!完全是随笔,比较乱。这里不介绍如何下载安装!路由方面由于初期不清楚linux内核提供IP转发功能,去选择开源路由器源码去学习,比如quagga、番茄等,但是分割其中的内容加入现有系统比较麻烦,quagga还是不错的,属于进程模块也比较方便加入系统,操作上比较类似Ci
分类: 其他 发布时间: 11-29 08:47 阅读次数: 0

MD5算法(Linux C实现)

基础算法,源码实现如下:#include <linux/types.h>#include <linux/skbuff.h>#include <linux/init.h>#include <linux/module.h>#include <linux/kernel.h>#include <linux/ctype.h>#define MD5_BLOCK_LENGTH 64#define MD.
分类: 其他 发布时间: 11-29 08:47 阅读次数: 0

AES-128 Linux C源码(内核态)

#include <linux/types.h>#include <linux/skbuff.h>#include <linux/init.h>#include <linux/module.h>#include <linux/kernel.h>#include <linux/ctype.h>#include <linux/spinlock.h>#define AES_BLOCK_SIZE 1...
分类: 其他 发布时间: 11-29 08:47 阅读次数: 0

RSA算法 Linux C (内核态)

/* bignum.h */#include <linux/types.h>#include <linux/skbuff.h>#include <linux/init.h>#include <linux/module.h>#include <linux/kernel.h>#include <linux/ctype.h>typedef uint64_t dbn_t;typedef uint32_t bn_t;#.
分类: 其他 发布时间: 11-29 08:47 阅读次数: 0

Linux C SHA256 (内核态)

Linux C/C++算法实现 SHA256
分类: 其他 发布时间: 11-29 08:47 阅读次数: 0

Linux C HMAC-SHA256 (内核态)

Linux C 内核态 hmac-sha256 算法实现
分类: 其他 发布时间: 11-29 08:46 阅读次数: 0

Linux C 字符串快速搜索(内核态)

/* 字符串快速搜索 */#include <linux/types.h>#include <linux/init.h>#include <linux/module.h>#include <linux/kernel.h>#include <linux/ctype.h>#define MAX_CHAR 256#define SIZE 256#define MAX(x, y) (x) > (y) ? (x) : (y)in.
分类: 其他 发布时间: 11-29 08:46 阅读次数: 0

立即执行函数的预编译

1.立即执行函数再预编译就执行GO{a:function a(){a=100;console.log(a)}}2.当立即执行函数中有一个变量1.未经声明就赋值2.并且变量名和立即执行函数名相同这个变量就自动忽略,相当什么用都没有所以最终结果就是 function a(){a = 100;console.log(a);} 10...
分类: 其他 发布时间: 11-29 08:46 阅读次数: 0

offsetLeft是怎样取值的?

会将dom元素.style.left的小数部分四舍五入
分类: 其他 发布时间: 11-29 08:46 阅读次数: 0

渡一领跑计划错题集

1++报错,常量是固定值,不可以加加NaN.toString()NaN.toString()不会像3.string先被识别浮点数,所以不报错,并且调用Number.prototype原型上的toString方法
分类: 其他 发布时间: 11-29 08:46 阅读次数: 0

渡一模拟重力场:多方向运动,重力加速度,碰撞反弹,能量损失

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Doc
分类: 其他 发布时间: 11-29 08:46 阅读次数: 0

渡一雪花效果

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Doc
分类: 其他 发布时间: 11-29 08:46 阅读次数: 0

chrome登录账号问题

chrome浏览器登录账号问题1、打开Ghelper链接下载压缩包2、解压之后,将下图的插件拖进Chrome的拓展程序中记得要打开开发者模式3、打开插件(如下图),注册账号,然后进入按步骤操作4、注册及登录谷歌账号...
分类: 其他 发布时间: 11-29 08:46 阅读次数: 0

昨天学习:jquery中ready多种写法,与onload,DOMContentLoaded方法的区别,以及入门

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document&lt
分类: 其他 发布时间: 11-29 08:46 阅读次数: 0

昨天直播消化

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document&lt
分类: 其他 发布时间: 11-29 08:46 阅读次数: 0

三栏布局!

左右固定,中间计算<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <ti
分类: 其他 发布时间: 11-29 08:46 阅读次数: 0

VUE路由 url中#问题

分类: 其他 发布时间: 11-29 08:46 阅读次数: 0

VUE 导航

vue-router提供了全局的组件RouterLink,它的渲染结果是一个a元素写法<router-link to=""></router-link><RouterLink to=""></RouterLink>相当于<a href=""></a> 原理内部使用a标签,为了避免刷新页面,vue-router实际上为a标签添加了点击事件,并阻止了默认行为(实现无刷新跳转),在事件内部使用history api(hist
分类: 其他 发布时间: 11-29 08:46 阅读次数: 0