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; } 汇编堆栈分析过程: 预热 首先,进行最简单的…
20145314郑凯杰<信息安全系统设计基础>第9周学习总结 PART B 明确教材学习目标 注意每个系统调用的参数.返回值,会查帮助文档 阅读教材,完成课后练习(书中有参考答案),考核:练习题把数据变换一下 学习视频,掌握两个重要命令: man -k key1 | grep key2| grep 2 : 根据关键字检索系统调用 grep -nr XXX /usr/include :查找宏定义,类型定义 教材中相关代码运行.思考一下,读代码的学习方法见「代码驱动的程序设计学习」. 代码重点:课…
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郑凯杰<信息安全系统设计基础>第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郑凯杰 <Java程序设计>第10周学习总结 代码托管: 学习内容总结 网络编程 会打手机吗? 第一个问题:会打手机吗?很多人可能说肯定会啊,不就是按按电话号码,拨打电话嘛,很简单的事情啊!网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的数据,这个就是狭义的网络编程范畴.在发送和接收数据时,大部分的程序设计语言都设计了专门的API实现这些功能,程序员只需要调用即可.所以,基础的网络编程跟打电话基本上是类似…
20145314郑凯杰 <Java程序设计>实验五 实验报告 实验搭档王亦徐:http://www.cnblogs.com/1152wyx/p/5471524.html 实验要求 完成实验.撰写实验报告,实验报告以博客方式发表在博客园,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等).解决办法(空洞的方法如"查网络"."问同学"."看书"等一律得0分)以及分析(从中可以得到什么启示,有什么收获,…