hxndg Blog

Thinking will not overcome fear but action will.

2023-12-21-数据库基础知识

I'm programmer

数据库基础知识 POSTGRESQL基础部分 1.1 SQL语法 SQL是一种声明式语言,和命令式编程语言不通,声明式编程语言是描述用户需要做什么,需要得到什么结果,而不是像命名式编程语言给出过程怎么做,过程是什么。类比join,就能反映出来,join实际上是将不同的行拼凑为了新的结果,并最终执行检索操作。 SQL分为三种分类 DQL DML 插入 ...

2023-08-21-工程师修养

I'm programmer

工程师修养 0 灵魂型工程师修养 技术是为了灵魂服务的,术服务于道,在当前我认为有两点需要工程师具备 云原生技术层面素养 安全服务(价值观)技术层面素养 什么才是灵魂型工程师呢,我摘抄自瑞典马工的公众号消息 决策层需要提出有说服力的价值主张。 产品团队需要管理企业客户需求。 行销团队需要明确企业客户的画像。 销售队伍需要和企业客户真实对话的能力。 ...

2023-06-11-程序员修养

I'm programmer

开发个人检查清单 下面的内容我实际上是抄的代码大全2检查清单的内容,因为没看到哪里有所有的检查清单的内容。所以利用OCR+AI来拿出来所有的文字,除此之外,补上了部分我自己的检查内容,斜体是我自己的内容。 1 需求 具体的功能需求 是否指定了系统的所有输入,包括其来源、精度、值的范围和出现频率? ...

2023-03-31-架构之路

I'm programmer

架构之路 经历 华耀面临的难题是非常具体的技术问题,面向协议,语言层面。需要对tls,密码学基础知识,计算机体系结构比较熟悉。一个难题的例子是移植ZX5580CPU遇到的汇编无符号证书除法稳定出错的问题,表现形式为证书生成失败,难度在于从私钥/公钥计算,证书签发中等一系列流程怎么精确找到出错的地点,毕竟出错的地方是一个特定条件才会触发的div汇编除法错误。 技...

2023-03-28-devsecops实践

I'm programmer

devsecops实践 1 SAST实践 1.1.1 SAST PARTS 目前问题总结 目前CI的Clang-Tidy Check开启的Checker不充足,需要扫描代码库检查存在哪些代码问题,从而判断开启哪些Checker。 Clang-Tidy Check只针对用户编辑的文件进行扫描,用户不编辑的文件无法发现问题。 使用场景: 每天定时触发一次对on...

去tm的八股文

去tm的八股文 打不过就加入。。。 1 C/C++部分 const的作用 const修饰变量,说明变量不可被更改;修饰指针要么是指向常量的指针const char* p,这个就是一个变量,它指向的是const char*即常量,要么是自身是常量的指针(常量指针)char* const p,这里的const修饰p;修饰成员函数,说明该成员函数内部不...

2023-03-25-folly学习笔记

I'm programmer

folly学习笔记 1 ThreadLocal 部分 参考的代码commit at 77e08c29d9f3b60b55dd74c1ceede35a8297e586,第一个就看ThreadLocal,是因为这几天解BUG涉及到这块,所以就先写了 1.1 ThreadLocal的结构 参考folly自己对于threadlocal的描述,可以发现实际上针对每种Tag类型,只会占用一个pt...

2023-03-14-reverse4fun

防守+进攻?

reverse4fun Reverse Part 1 license checker 0x03 crackme的下载路径在这里:https://crackmes.one/crackme/62072dd633c5d46c8bcbfd9b,本身的代码非常直接,所以可以直接看disass出来的代码 (gdb) disass Dump of assembler...

2023-02-15-安全二进制学习

防守+进攻?

安全二进制学习 2网络攻击攻击的原理和基本防护手段 2.1 XSS攻击 本质是将恶意脚本嵌入到网页并执行的攻击,产生的主要原因是网站对用户提交的数据检查不严格。一般分为 反射性跨站:将用户输入的数据通过URL的形式直接或未经过完善的安全过滤就在浏览器输出 存储型xSS:将用户输入保存在服务器的数据段或者文件里,网页查询数据时会展示 DOM型跨站攻击 XSS攻击IDE...

2023-02-15-安全二进制学习

防守+进攻?

安全二进制学习 逆向相关 简单的elf注入方式 最简单,但是限制最多,直接硬编码hard code LD_PRELOAD修改共享库,注意LD_PRELOAD只能使用绝对路径,且不能注入静态链接的函数 实现的历程实际上是个hook过去代码的地址,然后调用load dlsym函数,获取指向共享库函数的指针,做一些检查再把流程传递回原本的流程。从而能够方便的注...