20145314郑凯杰<信息安全系统设计基础>GDB调试32位汇编堆栈分析 本篇博客将对第五周博客中的GDB调试32位汇编堆栈进行分析 首先放上以前环境配置的图: 图1: 测试代码: #include <stdio.h> int g(int x){ return x+5; } int f(int x){ return g(x)+3; } int main(ing argv,char *argc[]){ return f(7)+14; } 汇编堆栈分析过程: 预热 首先,进行最简单的…
GDB调试32位汇编堆栈分析 测试源代码 #include <stdio.h> int g(int x){ return x+5; } int f(int x){ return g(x)+3; } int main(ing argv,char *argc[]){ return f(7)+19; } main函数汇编代码 g函数汇编代码 f函数汇编代码 调试过程 在汇编调试中单步执行使用si,而display /i $pc该语句可以使得我们每一次单步执行时输出正在执行的语句,i r $xxx则可…
20145314郑凯杰<信息安全系统设计基础>第八周复习总结 Part A 学习知识点内容总结 复习线索:http://group.cnblogs.com/topic/73069.html 第一章重要知识点总结 本章思路: 搜索能力: man: man -k (等价于apropos) cheat find locate which whereis apt-cache search Linux简介 Linux 就是一个操作系统,也就是系统调用和内核那两层 Linux核心命令 Linux中命令格式…
20145314郑凯杰<信息安全系统设计基础>第9周学习总结 PART B 明确教材学习目标 注意每个系统调用的参数.返回值,会查帮助文档 阅读教材,完成课后练习(书中有参考答案),考核:练习题把数据变换一下 学习视频,掌握两个重要命令: man -k key1 | grep key2| grep 2 : 根据关键字检索系统调用 grep -nr XXX /usr/include :查找宏定义,类型定义 教材中相关代码运行.思考一下,读代码的学习方法见「代码驱动的程序设计学习」. 代码重点:课…
20145314郑凯杰<信息安全系统设计基础>第7周学习总结 part B 上篇博客反思与深入 首先根据本周第一篇博客,娄老师给我的评论,我开始进行局部性的深入研究: 分为两个步骤,一是知识点深入,二是用实践深入: ①知识点 1.局部性有两种形式:时间局部性(temporal locality)和空间局部性(spatial locality).在一个具有良好时间局部性的程序中,被引用过一次的存储器位置很可能在不远的将来再被多次引用:在一个具有良好空间局部性的程序中,如果一个存储器位置被引用了一…
20145314郑凯杰<信息安全系统设计基础>第5周学习总结 part B 在前四天的学习中,我主要对课本知识进行了总结,在本周后三天的学习过程中,我进行实践并截图. http://www.cnblogs.com/5314zkj/p/5958665.html 教材学习内容总结 教材第三章 上一次的博客中已经涵盖了很多知识了,今天主要做到补充及实践: ①操作数的三种类型: 立即数,也就是常数值. 在ATT格式的汇编代码中,立即数的书写方式是""后跟一个用标准C表示法表示的整数…
20145314郑凯杰<网络对抗技术>PE文件病毒捆绑(插入捆绑)的实现 一.本节摘要 简介:每个应用程序内部都有一定的空间(因为文件对齐余留的00字段)可以被利用,这样就可以保证被插入的程序"原封不动",显然更具有迷惑性和欺骗性.先对windows可执行文件PE结构进行分析,接下来可以实现用Ollydbg对PE文件进行恶意代码注入. 目标: 用汇编语言编写一个简单的对话框,并将其写入PE文件的预留字段中 将入口地址的语句修改为跳转语句. 跳转执行完对话框后再实现语句回溯,…
20145314郑凯杰<网络对抗技术>实验9 web安全基础实践 一.实验准备 1.0 实验目标和内容 Web前端HTML.能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. Web前端javascipt.理解JavaScript的基本功能,理解DOM.编写JavaScript验证用户名.密码的规则. Web后端:MySQL基础:正常安装.启动MySQL,建库.创建用户.修改密码.建表 Web后端:编写PHP网页,连接数据库,进行用户认…
20145314郑凯杰<网络对抗技术>实验5 MSF基础应用 1.0 MS08_067安全漏洞 1.1 实验目标 了解掌握metasploit平台的一些基本操作,能学会利用已知信息完成简单的渗透操作 了解漏洞MS08_067的相关知识 原理:攻击者利用受害者主机默认开放的SMB服务端口445,发送特殊RPC请求,通过MSRPC接口调用serve服务函数NetPathCanonicalize函数对进行远程访问的路径规范化,而此函数中存在栈缓冲区内存漏洞,可被利用实施远程代码执行 影响:能远程主动…
20145314郑凯杰<网络对抗技术>可选实验 shellcode注入与Return-to-libc攻击实验 1.0 实践内容 Return-to-libc攻击是一种特殊的缓冲区溢出攻击,通常用于攻击有"栈不可执行"保护措施的目标系统.本实验中我们放弃了让漏洞程序执行堆栈中的shellcode,将用system()地址替换返回地址,用它调用一个root shell. 1.1 shellcode注入实验 实验之前需要安装execstack. 设置堆栈可执行,并关闭地址随机化.…