- 博客(23)
- 收藏
- 关注
原创 Håstad 广播攻击
相同消息 m相同小加密指数 e不同模数 N_i (互素)密文数量 k ≥ e攻击工具:中国剩余定理不依赖:分解 N_i 或计算私钥。
2025-11-24 21:00:17
701
原创 1.2演示案例
在提示符>后直接输入域名,可查到该域名的A记录(也可以用set type=a指令设置)输入set type=cname,再输入域名,可查询CNAME记录。2. Burpsuite抓包分析---监听端口和ip设置。输入set type=ns,再输入域名,可查询NS记录。,邮件交换记录,它指向一个邮件服务器,用于电子邮件系统。输入set type=mx,再输入域名,可查询MX记录。6. 修改浏览器的代理服务器---本地,8888端口。8. 将模拟器抓包复制到浏览器的抓包---同样可行。
2025-11-04 21:36:19
414
原创 Day1基础名词概念
顶级域名(TLD):如.com.org或国家代码.cn。二级域名:在TLD前的一部分,如baidu.com中的baidu。用户通常注册的是二级域名。多级域名(子域名):在二级域名前添加前缀,如。理论上可无限扩展(如DNS(Domain Name System,域名系统)是互联网的“电话簿”,用于将人类可读的域名(如)转换为机器可识别的IP地址(如192.0.2.1其核心作用是通过分层分布式数据库实现域名解析,避免用户记忆复杂IP。
2025-10-28 21:49:51
705
原创 AddressSanitizer (ASan) 全面指南
AddressSanitizer (ASan) 是由Google开发的一种内存错误检测工具,用于检测C/C++程序中的各种内存错误。可以检测如下问题:使用释放后的内存 (use-after-free)堆缓冲区溢出 (heap-buffer-overflow)栈缓冲区溢出 (stack-buffer-overflow)全局变量溢出 (global-buffer-overflow)内存泄漏 (memory leaks)通过环境变量设置:./program。
2025-10-21 00:26:57
796
原创 BUU-ciscn_2019_n_8
readgsdword(0x14u):编译器内置函数,用于从GS段寄存器的偏移0x14处读取一个4字节的值(栈保护值),用于检测栈溢出攻击,程序启动时会随机生成该值,并在函数返回前检查是否被篡改。检查从var[13]开始的4字节,前面需要填充:var[0]到var[12]共需要填充13个元素,13*4字节(var是一个DWORD数组,每个元素4字节)*(_QWORD *)&var[13]:这是把var[13]的地址强制转换为_QWORD*(32位指针,4字节),读取其值。4,构造payload。
2025-03-04 21:58:16
317
1
原创 BUU:[第五空间2019 决赛]PWN5
如果用户输入中包含格式说明符(如%x、%n等,可以通过%x泄露栈上的数据,或者用%n写入内存,修改某些关键变量,比如dword_804C044的值,或者在栈上覆盖返回地址),可能导致内存泄露或覆盖内存地址,这是常见的安全漏洞点。//这里读取最多0xF(15)字节到nptr中,然后使用atoi(nptr)将其转换为整数,并与之前从urandom读取的dword_804C044比较。第7行:p32(0x0804C044)占用了4个字节,所以此时输出的字符数为4(也就是要输入的密码是4)。srand(v1);
2025-03-01 10:45:23
1098
原创 BUU:pwn1_sctf_2016
大概意思是:用户输入,对输入的内容进行处理(出现了strcpy函数,输入I会处理成you,1字节会替换为3字节),输出处理后的结果。char s[32]意味着s缓冲区大小是32字节,fgets输入s只能输入32字节,而s到返回地址有0x3C+0x04,即64字节。所以该文件是32位的elf格式的可执行文件,LSB表示小端序(处理器存储多字节值的顺序)。x+y+8<=32且3x+y=64 解得x=20,y=4。2,文件拖入IDA32,进入main函数。设x为'I'的个数,y为'A'的个数。
2025-02-25 21:11:46
183
1
原创 数字签名&数字证书
而我用我的私钥做了个假签名,说这是Alice的签名(实际上并不是她的签名),给别人我的公钥验证,验证成功,可是这并不是Alice的签名。手写签名是传统的签名方式,是个人用书写工具亲手写下自己的名字,用于确认身份或表示同意文件内容等,比如在合同、信件上签名。颁发者(某个权威机构)+主体(颁发对象,比如Alice)+公钥(PK)+有效期+用途。1.Alice,消息M,Alice的一对密钥(私钥SK,公钥PK)1.Alice,消息M,Alice的一对密钥(私钥SK,公钥PK),那么证明s是Alice对M的签名。
2024-12-20 08:59:40
257
原创 buuctf xor
当两个输入值相同,异或结果为0,不同为1,即1 ^ 1 = 0,0 ^ 0 = 0,1 ^ 0 = 1。得到flag{QianQiuWanDai_YiTongJiangHu}双击globall,双击100000F6Eh。放进ida64,找到main函数,f5。(记录一下脚本&简单说说异或)现在要做的就是找到global。选中,shift e导出。
2024-12-19 08:32:56
196
1
原创 XSS基本知识
比如,在一个网站的评论区,攻击者插入一段恶意脚本,当其他用户访问包含此脚本的页面时,浏览器就会执行该脚本。当你看卡片时,“坏咒语”(恶意脚本)就生效了,可能会偷走你的钱包(用户信息)等,不过这个“坏咒语”只对拿了这张特殊卡片(点击恶意链接、提交恶意表单)的你起作用。比如,你(使用网页的普通用户)在城堡的一个小窗口(输入框)放入一个特殊的小积木(输入内容),这个小积木会让城堡内部的一些结构(DOM树)发生错误的变化,然后就像触发了一个隐藏的“捣蛋陷阱”(恶意脚本),这个陷阱就在城堡里(浏览器)搞破坏。
2024-12-18 08:29:39
396
原创 汇编3内存段
另外有一个房间是放你做菜的时候用到的案板、锅碗瓢盆这些工具(程序堆栈)的,这个房间就是保存程序堆栈的段。就好像是一个预先准备好的空盒子,里面一开始都是0,就像你有一个新的盒子(.bss部分),里面都用0(零填充)来占满位置,等后面需要的时候再把真正的数据放进去。.text部分:这是程序代码住的地方,就像一个图书馆的书架(固定区域),专门用来放书(指令代码)。想象它是一个小推车,你去超市买东西(调用函数、过程)的时候,就把买的东西(数据值)放在这个小推车上,方便在程序里面传来传去。
2024-12-07 19:41:44
324
原创 汇编2基本语法
可以把汇编程序想象成厨师,汇编语言指令或伪操作呢,不是让锅碗瓢盆(处理器)干活的具体做法,而是给厨师的一些提醒,像提醒厨师做菜的时候要注意啥顺序、用啥调料这些,它们本身不是让厨具干活的,所以不会变成厨具(处理器)能直接执行的指令。comment”是注释部分,就像你在菜谱步骤旁边写的小提示,比如“这一步要小心,别弄洒了”,它是给人看的,用来解释这个指令是干嘛的,对机器执行指令没有影响,也可以不写。第一部分是指令名称(助记符),这是关键的动作词,告诉机器要进行什么操作,比如“加法”“减法”这样的操作名称。
2024-12-07 18:06:23
462
原创 PHP1简介
DNS服务器会在其数据库中查找该域名对应的IP地址,比如“192.168.1.1”,然后把这个IP地址返回给计算机,这样计算机就能根据这个IP地址找到对应的服务器并获取相应的网页内容等信息。服务器,用于存储网页文件和数据;特点:1.加载快,无复杂的服务器处理 2.较安全,基本不涉及数据库交互风险 3.易被检索,内容固定方便搜索引擎抓取 4.交互性差,内容固定,无法实时响应用户操作。后面的部分是查询字符串,用于向服务器传递参数,这些参数会被服务器端脚本(如PHP)接收并处理,从而动态地生成网页内容。
2024-12-05 01:33:28
354
1
原创 汇编简介1
对于 0725H ,如果把它拆分为两个字节,写成二进制形式, 0725H 是 00000111 00100101 ,那么前面的 00000111 (即十六进制的 07H )部分是高位字节,后面的 00100101 (即十六进制的 25H )部分是低位字节。正确的做法是添加校验位“0”,得到“10100”,此时这个数据单元中1的个数是2(偶数),符合偶校验规则。计算机存储中,最小的存储单位是位, 其值只能是0或1,代表两种不同的状态,就像电路中的“开(ON,用1表示)”和“关(OFF,用0表示)”。
2024-12-03 23:59:08
1316
原创 栈的简单了解
现在我们有这个数组,可以定义一个int变量int top,这个变量负责保存当前栈顶元素的下标,如当前栈顶元素40的下标为2,int top = 2,如果在40上面放个元素50,那么就让 top+1,此时 top = 3,再要往上放元素,只需要 top+1,让它指向4的位置,然后data[top]= 60,就是给4的位置放上元素60(如下图)当栈空的时候,下一个放进来的元素应该放在栈的最底部(元素20的位置),最底部的下标是0,所以栈空的时候,栈顶指针 top + 1 = 0,即 top = -1。
2024-12-03 00:02:33
463
原创 攻防世界 适合作为桌面
pyc是一种二进制文件,是由Python文件经过编译后所生成的文件,它是一种byte code,Python文件变成pyc文件后,加载的速度有所提高,而且pyc还是一种跨平台的字节码因为py文件是可以直接看到源码的,但是一般情况下开发出来的商业软件都不可能直接把源码泄漏出去,这样我们就需要把它编译成pyc文件来保护源码。选择Pyc文件后,点击下载,我们可以得到一个py文件,然后我们可以在PyCharm中输入py文件中的内容,稍微修改一下(比如加上下面的最后两行,或者其他方法),输出就得到flag啦。
2024-11-17 01:17:39
2039
原创 初步了解RSA
RSA的加密、解密及数字签名过程均基于同余定理,如加密公式C=M^e (mod n)和解密公式M=C^d (mod n)- 欧拉函数:对于正整数n,φ(n)表示1
2024-11-15 14:08:35
442
原创 初步了解SQL注入1
1.使用and 1=1和and 1=2来判断在交互的时候,如果用的是keke这种字符串,那它一定是字符型如果用的是整型的数字,那么有可能是字符型,有可能是数字型,这时候使用and 1=1和and 1=2来判断:如果是字符型,and 1=2页面仍然能够正常显示,如果是数字型,and 1=2页面不能正常执行。2.如果输入1查询出来的是keke,输入2查询出来的是xingxing,如果它是数字型,那么输入2-1查询出来的结果应该是输入1的结果keke,如果是字符型,那它是不能被运算的。‘ “ ‘) “ ) 等。
2024-11-05 01:18:58
424
1
原创 初步了解逆向分析1
当函数执行完,会有一个“ret”指令,它的意思是“好啦,函数执行完了,我们回到之前的地方继续吧”先进去的东西被压在最底下,后放进去的东西在最上面。当你要拿东西的时候,只能拿最上面的,就像一摞盘子,你放盘子的时候一个个往上叠,拿的时候只能从最上面的开始拿。在计算机里,栈主要用于存储一些临时的数据,比如函数调用时的一些信息,包括函数的参数、返回地址等。并且,会把这次函数调用相关的参数等从栈中清除,就好像把盒子里属于这个函数调用的那一层东西拿走一样,栈又回到了之前的状态,准备下一次的函数调用或者其他操作。
2024-11-05 00:48:24
386
1
原创 newstar ctf decompress
代表不知道的,我们现在知道密码有五位,第四位是已知的0-9的数字,其它四位用?表示,每次修改数字(4是对的哦)下载附件后,最后会得到一个加密的文件和一个文本,文件要求输入密码,我们点开文本看看能得到什么信息。注意攻击类型选择掩码(我们上面已经分析出密码的一些信息)\d表示数字,后面没有{ }说明只有一位数字。接下来我们输入这个密码就得到flag啦。[a-z]{3}表示三位a到z的字母。misc decompress详解。我们使用暴力破解密码工具(下图)[a-z]表示一位a到z的字母。
2024-10-19 20:52:43
308
原创 newstar ctf BGM坏了吗?
频谱图上面的频率对应DTMF频率表上侧的频率,下面的频率对应频率表左侧的频率,可以把频谱图放大去对应更准确,用flag形式输出就好啦。这里应该就是得到flag的关键,我们用到DTMF频率表(下图),其频率最小为697 hz,频率最大为1633 hz。你会发现它最后有奇怪的地方,ctrl+鼠标滚动 放大看看。下载附件,是一个音频,我们把它脱到audacity中。单击右键,点击频谱图设置,改一下最低频率和最高频率。misc BGM坏了吗 详解。
2024-10-19 20:09:18
259
原创 newstar ctf会赢吗?
点击按钮会显示已封印,访问源代码,重要部分复制粘贴问AI,右键菜单,点击检查,选择元素,找到里面的已封印,改为解封,再点击该页面的解封,会得到第三部分的flag以及要访问的网址。显然,根据这个界面,我们得不到有用信息,Ctrl u访问源代码,有用的信息一般在body和script,如果看不懂代码,可以复制粘贴问AI。在这里,我们得到flag第一部分,以及下一个需要访问的网址信息,访问网址得到如下界面。复制粘贴问AI,接下来的操作是,返回上一个页面,右键菜单,点击检查,选择控制台。
2024-10-17 19:07:25
433
1
原创 如何在虚拟机和宿主机之间复制粘贴
3.在虚拟机设置框中选择“选项”,点击客户机隔离,将启动拖放和启动复制粘贴选中即可。刚开始接触kali linux,欢迎大家的评论和指点~(≧▽≦)1.关闭虚拟机,但是不关闭vmware软件。如何在虚拟机和宿主机之间复制粘贴。2.点击虚拟机,点击设置。
2024-10-12 08:04:47
1987
18
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅