当前位置: 首页 > news >正文

网站做第三方登录域名seo站长工具

网站做第三方登录,域名seo站长工具,附近旧模板出售市场,安徽省铜陵市建设银行网站一、实验目的 熟悉软件安全需求分析方法,掌握软件安全分析技术。 二、实验软硬件要求 1、操作系统:windows 7/8/10等 2、开发环境:VS 6.0(C)、OllyDbg 三、实验预习 《软件安全技术》教材第3章 四、实验内容&#…

一、实验目的

熟悉软件安全需求分析方法,掌握软件安全分析技术。

二、实验软硬件要求

1、操作系统:windows 7/8/10等

2、开发环境:VS 6.0(C++)、OllyDbg

三、实验预习

《软件安全技术》教材第3章

四、实验内容(实验步骤、测试数据等)

1. 目标:教材实验3_2、3_3、3_5、3_6。

2. 实验说明:

(1) 实验3_2:栈溢出修改相邻变量;

说明:fun()函数实现了一个基于口令认证的功能:用户输入的口令存放在局部变量str数组中,然后程序将其与预设在局部变量password中的口令进行比较,以得出是否通过认证的判断(此处仅为示例,并非实际采用的方法)。

  1. 当用户输入“ABCDE”时,程序返回OK
  2. 当用户数去“AAAAA”时,程序返回No
  3. 当用户输入“aaaaaaaaaaaaa”时,程序返回OK
  4. 当用户输入“aaaabbbbccccddddeeeefff”时,程序提示错误

(2)实验3_3:栈溢出修改返回地址

说明:将例3-2程序稍作修改,程序输入改为读取密码文件password.txt;如果在password.txt文件中,存入23个字符“aaaabbbbccccddddeeeefff”,程序运行的效果将与从键盘输入一致。

将password.txt文件中最后4个字节改为Attack()函数的入口地址0x0040100F。(得到函数的入口地址方法很多,可以利用OllyDbg工具查看)利用十六进制编辑软件UltraEdit打开password.txt文件,将最后4字节改为相应的地址,程序返回Attack函数结果

  1. 实验3_5:利用格式化串漏洞读取内存数据

  1. 实验3_6:用printf向内存写数据

3. 步骤:

(1) 安装VS 6.0、OllyDbg;

(2) 新建工程,添加CPP文件。

(3) 编写实验代码,并进入调试环境

(4) 按教材操作流程完成代码调试和实验操作

(5) 过程、结果截图,完成实验报告

4. 要求:提供实验步骤说明即相应截图,完成实验报告。

五、实验步骤

(1) 实验3_2:栈溢出修改相邻变量;

实验代码

  1. #include <stdio.h>  
  2. #include<string.h>  
  3. void fun()  
  4. {  
  5.     char password[6] = "ABCDE";  
  6.     char str[6];  
  7.     gets(str);  
  8.     str[5] = '\0';  
  9.     if (strcmp(str, password) == 0)  
  10.         printf("OK.\n");  
  11.     else  
  12.         printf("NO.\n");  
  13. }  
  14. int main()  
  15. {  
  16.     fun();  
  17.     return 0;  
  18. }  

1-1当用户输入“ABCDE”时,程序返回OK

1-2当用户数去“AAAAA”时,程序返回No

1-3当用户输入“aaaaaaaaaaaaa”时,程序返回OK

1-4当用户输入“aaaabbbbccccddddeeeefff”时,程序提示错误

  1. 实验3_3:栈溢出修改返回地址

实验代码

  1. #include <stdio.h>  
  2. #include<string.h>  
  3. #include<stdlib.h>  
  4. void Attack()  
  5. {  
  6.     printf("Hello!:-):-):-)\n");  
  7.     exit(0);  
  8. }  
  9. void fun()  
  10. {  
  11.     char password[6] = "ABCDE";  
  12.     char str[6];  
  13.     FILE *fp;  
  14.     if(!(fp=fopen("password.txt","r")))  
  15.     {  
  16.         exit(0);  
  17.     }  
  18.     fscanf(fp,"%s",str);  
  19.   
  20.     str[5] = '\0';  
  21.     if (strcmp(str, password) == 0)  
  22.         printf("OK.\n");  
  23.     else  
  24.         printf("NO.\n");  
  25. }  
  26. int main()  
  27. {  
  28.     fun();  
  29.     return 0;  
  30. }  

2-1实验准备,需要将“aaaabbbbccccddddeeeefff存入password.txt,而password.txt需要复制到如下图位置,以供Ollbdg试调

2-2将password.txt复制到如下图位置,以供vc6++运行

2-3打开Olldbg,导入文件,查找文件,发现Attack位置00401005

2-4利用十六进制编辑软件,点开password

2-5修改最后4个字节,修改成相应的地址05 10 40 00

2-5保存退出

2-6打开Ollbdg,直接运行

2-7打开vc6++运行程序,函数Attack()被正常执行,说明溢出修改返回成功

  1. 实验3_5:利用格式化串漏洞读取内存数据

实验代码

  1. #include"stdio.h"  
  2. int main(int argc,char * *argv)  
  3. {  
  4.     printf(argv[1]);  
  5.     return 0;  
  6. }  

3-1向程序中传入普通字符串(“security”),将输出字符串security

3-2向程序中传入普通字符串(“buffer overflow”),将输出字符串中的第一个单词buffer

3-3向程序中传入字符串带有格式控制符,printf会打印出栈中的数据。输入%p,%p,%p,%p,%p,%p,%p,可以读出栈中的数据。

%p控制以十六进制整数方式输出指针。

(4)实验3_6:用printf向内存写数据

实验代码

  1. #include"stdio.h"  
  2. int main()  
  3. {  
  4.     int num=0x61616161;  
  5.     printf("Before:num=%#x \n",num);  
  6.     printf("%.20d%n\n",num,&num);  
  7.     printf("After:num=%#x \n",num);  
  8.     return 0;  
  9. }  

4-1按下F9,写入断点

4-2按下F5,进入试调

4-3将下文的num值转为十六进制,并在下文右侧输入num,监视可疑变量num

4-4点击step into(F11),代码往下运行一行,发现num值改变改变

4-5-1在下方的右侧输入&num,获取num的地址

4-5-2点开memory,开启内存窗口,输入num,直接跳转到num地址

4-6这里需要按step over(F10)来进入下一行代码(第1条printf语句),如果按step into(F11)了话,系统会跳出一个窗口让我去找printf.c文件,但按step over(F10)就不会有这个问题

4-7点开registers,跳出窗口,参数从右向左依次压栈

4-8执行第3条语句(第2条printf语句),参数压栈,内存布局如下

4-9执行第3条printf语句,变量num的值已经变成了0x00000014(对应十进制为20)。

这是因为程序中将变量num的地址压入栈,作为第2条printf()的第2个参数,“%n”会将打印总长度保存到对应参数的地址中去,打印结果如下。

0x61616161的十进制值为1633771873,安装“%.20d”格式输出,其长度为20。

执行第3条printf语句后的内存布局如下。

五、实验体会(遇到的问题及解决方法)

实验比较旧,无法在vc2019等版本软件上运行,实验进行的溢出漏洞已经被修复,显示栈溢出的警告。实验参考的教材有些错误,误导实验进程,已靠经验解决。实验过程中,也曾出现软件版本老旧陌生、操作不懂、编译语言掌握不熟等问题,但都已解决。

实验比较老旧,希望下次实验能比较新,比较实用些。

http://www.fp688.cn/news/161341.html

相关文章:

  • 深圳东风大厦 网站建设百度注册入口
  • 利用淘宝视频服务做视频网站自媒体
  • 用老域名做新网站 权重怎么传递想学编程去哪里找培训班
  • 大冶市建设局网站全面网络推广营销策划
  • 织梦做电子商务网站少儿编程
  • 织梦更新网站地图友情链接检测工具
  • 备份文件wordpress武汉seo人才
  • 网站建设招聘启事百度图片搜索
  • 东莞网站系统后缀全网媒体发布平台
  • 加强主流新闻网站建设seo搜索优化是什么呢
  • 网站制作现在赚钱么seo优化推广技巧
  • wordpress 缓慢信阳seo优化
  • 长春仿站定制模板建站百度问答优化
  • 如何自己做网站一年赚一亿旅游营销推广方案
  • 电子政务网站建设公司外链购买交易平台
  • cms网站每日舆情信息报送
  • 做免费网站教程下载百度地图2022最新版
  • 做网站哪家公司好引擎优化是什么工作
  • 自己做网站什么类型的比较好济南seo官网优化
  • 滁州建设厅网站新东方英语培训机构官网
  • 雄县做网站电商运营助理
  • 日本亲子游哪个网站做的好处网络销售怎么找客户
  • 建材 团购 网站怎么做关键词搜索爱站网
  • 网站模板带后台 下载爱网站关键词挖掘工具
  • 用java做网页如何建立网站厨师培训机构
  • 苏州网站搜索引擎优化南昌百度seo
  • 电脑可以做服务器部署网站吗贵阳网络推广外包
  • 怎么制作网站网页谷歌paypal下载
  • 汉化主题做网站谷歌浏览器手机版下载
  • 济南网站开发wuliankj平台外宣推广技巧