随笔分类 - 漏洞挖掘和复现
摘要:日常业务中,经常会生成随机数,这里以C++为例,常见的随机数生成方法如下:原理很简单,先生成一个随机数生成器,指定种子,然后生成随机数; #include <iostream> #include <windows.h> int main() { printf("time(0)=%d",time(0)
阅读全文
摘要:1、(1)数字分两种:整数和小数。之前介绍了整数溢出,本文介绍小数(浮点数)的存储和表示方法;整数的表示方法很简单:按照一定的计算方式转成二进制即可,比如10进制的9转成二进制1001,内存中最小存储单元是字节,也就是8bit;如果用1byte存储9,那么转成二进制就是00001001,这个应该不难
阅读全文
摘要:1、本想拿windows下整数溢出做漏洞实战,奈何没找到合适的windows版本镜像,看不到实际效果,只能作罢;遂拿ctf的整数溢出学习;xctf下面有个int_overflow题不错,可以拿来练手! 这里建议把int_overflow下载到本地测试,不要通过网络远程测试(坑得一b);我用的是kal
阅读全文
摘要:1、CPU算术计算原理介绍 (1)CPU叫"central process unit",中文叫中央处理器,内部主要的功能模块之一就是算术逻辑单元,专门负责做各种快速的算术计算;由于硬件原理限制(再说细一点就是数字电路原理限制:一般情况下高电平表示1,低电平表示0),CPU只能读取、识别和处理二进制数
阅读全文
摘要:上个月做了一个栈溢出执行cmd shell的例子(https://www.cnblogs.com/theseventhson/p/13933230.html),当时在代码中通过数组显式调用了shell函数(a[x] = (int)shell),即把shell函数的地址放在了数组中,只需要通过超(溢)
阅读全文