gdb

堆重启_uaf_hacknote

让人想犯罪 __ 提交于 2020-10-28 15:42:53
参考链接 http://blog.eonew.cn/archives/490 https://blog.csdn.net/weixin_44864859/article/details/107181869 这里记录下经典的含有后门的UAF漏洞程序。 //hacknote 最简单的堆题目 libc 2.23 以及 含后门的UAF漏洞程序 //hacknote先看第一个含有后门的UAF漏洞程序: 查看文件相关属性及开启保护 32位elf程序,没有去符号。// 给源代码会更香。 只开启了NX保护。 $ file hacknote_backdoor hacknote_backdoor: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=44ee75c492628b3691cdcdb07759e9bbe551644a, not stripped $ checksec hacknote_backdoor [*] Arch: i386-32-little RELRO: Partial RELRO Stack: No canary found NX: NX

Linux工具

若如初见. 提交于 2020-10-28 13:18:03
Linux工具 Linux下还是有很多超棒的开发工具的。 在Linux日常使用中,最常用的命令自然是sudo, ls, cp, mv, cat等,但作为后台开发者,上述命令远远不够。从我的理解来看,合格的C/C++开发者至少需要从开发及调试工具、文件处理、性能分析、网络工具四个方面针对性使用一些开发工具。这里我罗列了一些,大部分都是开发中经常需要使用的命令,有些功能比较简单的命令我会给出一些基本用法,有些本身自带体系(比如vim, gdb等)的命令只能附上链接了。 开发及调试工具介绍了从“编辑 -> 编译 -> 分析目标文件 -> 追踪调用过程”的全套命令,文件处理部分介绍了查找、统计、替换等基本文本操作命令,性能分析介绍了查看进程信息、CPU负载、I/O负载、内存使用情况等基本命令,网络工具介绍了可以查看“链路层 -> 网络层 -> 传输层 -> 应用层”信息的工具。除此以外,其他命令中也列出了开发者经常会用到的一些命令,基本可以满足日常开发需要。 目录 Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 开发及调试 文件处理 性能分析 网络工具 其他 开发及调试 编辑器:vim 编译器:gcc/g++ 调试工具:gdb 查看依赖库:ldd 二进制文件分析:objdump ELF文件格式分析:readelf 跟踪进程中系统调用

盒马鲜生,快而准确的秘密!

随声附和 提交于 2020-10-27 17:54:00
图数据库GDB精彩详情 在6月9日的“全速重构”2020阿里云·线上峰会中,阿里云智能数据库事业部的资深产品专家斗佛开启了全球首发4款云数据库新产品——云数据库专属集群、图数据库GDB、云数据库Cassandra版、云数据库ClickHouse。今天小编为大家深度揭秘图数据库GDB助力盒马构建商品图谱知识引擎的案例。 盒马鲜生 是阿里巴巴对线下超市完全重构的新零售业态。盒马既是超市,也是餐饮店,还是菜市场。消费者可到店购买,也可以在盒马App下单。而盒马最大的特点之一就是快速配送:门店附近3公里范围内,30分钟送货上门。 盒马鲜生基于门店、人群、商品、食材、菜谱等数据,以及相互间的关联关系数据,借助阿里云图数据库GDB,构建了商品图谱知识引擎。用于优化菜谱搭配、生鲜搭配、以及标品搭配等,沉淀盒马图谱数据,完善盒马推荐和导购能力,提升转化率。 经过近几年高速增长,目前规模已经成型。摆在当下更重要的事情是,需加强商品数字化建设,完善商品管理体系,使各个链路向垂直化、精细化运营,进而升级为 数据和技术驱动 的新零售平台。而如何借助门店、消费人群、商品、食材、菜谱间,数以亿计的海量关联关系数据,构建商品图谱,并进一步为终端客户提供智能推荐服务,使客户获得方便快捷的购物体验是摆在面前的一大挑战。 图数据库在处理海量关联关系数据方面具有查询效率高,模型直观,编程简便的独有优势,在知识图谱

C++

一笑奈何 提交于 2020-10-27 09:17:40
一.变量 1)全局变量与static变量?(作用域、生存周期) 2) static函数与普通函数的区别? 3)两个文件中声明两个同名变量?(使用了与未使用extern?) 4)全局数组和局部数组的初始化? 5) 指针和引用的区别 ?(代表意义、内存占用、初始化、指向是否可改、能否为空) 6) C/C++中的强制转换 7) 如何修改const变量、const与volatile 8)静态类型获取与动态类型获取( typeid 、dynamic_cast:转换目标类型必须是引用类型) 9) 如何比较浮点数大小? ( 直接使用==比较出现错误的例子 ) 二.函数 1)重载( 参数必须不同(const修饰形参) 、重载与作用域、继承中的重载(using)、重载与const成员函数) 三.类 1)面向对象的三大特性(封装、继承、多态) 2) struct和class的区别? 3) 访问权限说明符 ?(目的是加强类的封装性) 4)类的静态成员(所属?静态成员函数不能声明成const、类类型的成员、定义时不能重复使用static、具有类内初始值的静态成员定义时不可再设初值) 5)构造函数相关 有哪些构造函数(默认、委托、拷贝、移动) 合成的默认拷贝构造函数(默认行为?什么情况下不会合成?怎么解决?如果成员包含类内初始值,合成默认构造函数会使用该成员的类内初始值初始化该成员) 拷贝构造函数(调用时机

Linux常用命令

限于喜欢 提交于 2020-10-27 08:37:03
参考 linw7的github 《鸟哥的Linux私房菜》 一.文件管理 1.文件查找:find 2.文件拷贝:cp 3.打包解包:tar 二.文本处理 1.(显示行号)查看文件:nl 2.文本查找:grep 3.排序:sort 4.转换:tr 5.切分文本:cut 6.拼接文本:paste 7.统计:wc 8.数据处理:sed 9.数据处理:awk 三.性能分析 1.进程查询:ps 2.进程监控:top 3.打开文件查询:lsof 4.内存使用量:free 5.shell进程的资源限制:ulimit 四.网络工具 1.网卡配置:ifconfig 2.查看当前网络连接:netstat 3.查看路由表:route 4.检查网络连通性:ping 5.转发路径:traceroute 6.网络Debug分析:nc 7.命令行抓包:tcpdump 8.域名解析工具:dig 9.网络请求:curl 五.开发及调试 1.编辑器:vim 2.编译器:gcc和g++ 3.调试工具:gdb 4.查看依赖库:ldd 5.二进制文件分析:objdump 6.ELF文件格式分析:readelf 7.跟踪进程中系统调用:strace 8.跟踪进程栈:pstack 9.进程内存映射:pmap 六.其他 1.终止进程:kill 2.修改文件权限:chmod 3.创建链接:ln 4.显示文件尾:tail 5