目录 [第九周学习总结] 教材内容总结 [第八周课上测试] (一)求命令行传入整数参数的和 (二)练习Y86-64模拟器汇编 (三)基于socket实现daytime(13)服务器和客户端 参考资料 第九周学习总结 课堂内容总结 (一)学习目标 理解虚拟存储器的概念和作用 理解地址翻译的概念 理解存储器映射 掌握动态存储器分配的方法 理解垃圾收集的概念 了解C语言中与存储器有关的错误 (二)学习内容 (1)虚拟存储器 概念:虚拟存储器,又称虚拟内存(VM),是对主存的抽象概念 能力:①高效使用主…
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分)以及分析(从中可以得到什么启示,有什么收获,…
20145314郑凯杰 <Java程序设计>实验二 实验报告 实验要求 完成实验.撰写实验报告,实验报告以博客方式发表在博客园,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等).解决办法(空洞的方法如"查网络"."问同学"."看书"等一律得0分)以及分析(从中可以得到什么启示,有什么收获,教训等).报告可以参考范飞龙老师的指导 严禁抄袭,有该行为者实验成绩归零,并附加其他惩罚措施. 实验内容 使…
20145314郑凯杰 <Java程序设计>第8周学习总结 教材学习内容总结 代码已托管 第十五章 通用API ①日志: 日志对信息安全意义重大,审计.取证.入侵检测等都会用到日志信息 使用日志的起点是Logger类,Logger类的构造函数标示为protected,不是java.util.logging同包的类不能直接以new创建. 注意:无法使用构造方法生成Logger对象. Logger logger = Logger.getLogger("xxx"); getLev…
20145314郑凯杰 <Java程序设计>第7周学习总结 教材学习内容总结 首先放上代码托管图片和本地代码图片: 插图4: 插图5: 插图6: 第十三章 时间与日期 13.1 认识时间与日期 时间的度量 格林威治标准时间GMT(Greenwich Mean Time)时间:现在不是标准时间 世界时(Universal Time,UT):1972年UTC出来之前,UT等价于GMT 国际原子时(TAI):秒的定义 世界协调时间(Corrdinated Universal Time, UTC):…
20145314郑凯杰 <Java程序设计>第5周学习总结 教材学习内容总结 托管的代码: 电脑上的代码: try与catch 简单来说,try与catch是两个块,java的程序会把正常程序的流程放入try块里,把非正常的放入catch块中.然后错误信息会被储存到Exception里,这样十分保证错误的程序可以完整地跑下来,而且还有利于我们找错误.调试程序时可以使用. 错误都会被包装为对象,这些对象都是可throw的. 异常继承架构 设计对象都继承自java.lang.Throwable类.…
20145314郑凯杰 <Java程序设计>第4周学习总结 所有代码已上传: 教材学习内容总结 ①继承 设计程序中,因们需要设计多个模块,我想到了李晓东以前教我们的三个字"模块化". 在JAVA中,我们用父类和子类进行模块的设计,对于一个整体程序,我们需要在一个项目中建立不同的文件,用关键字extends进行相互地继承,达到模块化的效果. 下面直接引用书上的例子,首先有Role.java(见托管).我们再用剑士和马猴师来对其进行继承: 这里只给上剑士的继承代码: publi…
20145314郑凯杰 <Java程序设计>第3周学习总结 所有代码均已托管 地址https://git.oschina.net/qiaokeli26/codes 按照下面程序结果中的代码名来对应即可. 教材学习内容总结 1.定义类 按照书上的形象比喻,知道的关系是:类是对象的设计图,对象是类的实际类型.另外,定义时用class,建实例用new. 这里引用书上的一段代码来理解: class Clothes { String color; char size; } public class Fi…
20145314郑凯杰<网络对抗技术>恶意DLL注入进程(进程捆绑)的实现 一.本节摘要 简介:在这部分里,要实现将恶意后门悄无声息地与进程进行捆绑,通过和已运行的进程进行捆绑,达到附着攻击执行的隐蔽效果.更进一步,结合前面的资源捆绑的方式,还可以实现免杀恶意注入EXE的效果. 目标: 制作一个恶意DLL(手工免杀方法打造,不会被杀出来) 通过进程注入的方式,将这个恶意DLL注入到已运行的进程中去 在进程中编写一个回调函数,一运行就直接执行恶意代码 将这个恶意DLL直接绑定于我们的注入程序的资…
20145314郑凯杰<网络对抗技术>实验8 WEB基础实践 一.实验准备 1.0 实验目标和内容 Web前端HTML.能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. Web前端javascipt.理解JavaScript的基本功能,理解DOM.编写JavaScript验证用户名.密码的规则. Web后端:MySQL基础:正常安装.启动MySQL,建库.创建用户.修改密码.建表 Web后端:编写PHP网页,连接数据库,进行用户认证…
20145314郑凯杰<网络对抗技术>可选实验 shellcode注入与Return-to-libc攻击实验 1.0 实践内容 Return-to-libc攻击是一种特殊的缓冲区溢出攻击,通常用于攻击有"栈不可执行"保护措施的目标系统.本实验中我们放弃了让漏洞程序执行堆栈中的shellcode,将用system()地址替换返回地址,用它调用一个root shell. 1.1 shellcode注入实验 实验之前需要安装execstack. 设置堆栈可执行,并关闭地址随机化.…
20145314郑凯杰<网络对抗技术>实验1 逆向及Bof基础实践 1.1 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串. 该程序同时包含另一个代码片段,getShell,会返回一个可用Shell.正常情况下这个代码是不会被运行的.我们实践的目标就是想办法运行这个代码片段. 我们将学习两种方法 利用foo函数的Bof漏洞,构造一个攻击输入字符串,覆盖返回地址,触发getShell函数.…
20145314郑凯杰 <Java程序设计>课程总结 每周读书笔记链接汇总 ①寒假预习--"helloworld" ②第一周读书笔记 ③第二周读书笔记 ④第三周读书笔记 ⑤第四周读书笔记 ⑥第五周读书笔记 ⑦第六周读书笔记 ⑧第七周读书笔记 ⑨第八周读书笔记 ⑩第九周读书笔记 ⑩第十周读书笔记 实验报告链接汇总 ①实验一 Java开发环境的熟悉(Windows + Eclipse)实验报告 ②实验二 Java面向对象程序设计实验报告 ③实验三 敏捷开发与XP实践实验报告 ④…
20145314郑凯杰 <Java程序设计>第9周学习总结 教材学习内容总结 第十六章 ①JDBC(Java DataBase Connectivity) 即java数据库连接,是一种用于执行SQL语句的Java API. JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序. 插图1: 对于JDBC,其使用有两个步骤,一是首先进行驱动程序的装载,再进行连接的建立. 驱动的四种类型: JDBC-ODBC Bridge Driver Native API…
20145314郑凯杰 <Java程序设计>实验四 实验报告 实验要求 完成实验.撰写实验报告,实验报告以博客方式发表在博客园,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等).解决办法(空洞的方法如"查网络"."问同学"."看书"等一律得0分)以及分析(从中可以得到什么启示,有什么收获,教训等).报告可以参考范飞龙老师的指导 严禁抄袭,有该行为者实验成绩归零,并附加其他惩罚措施. 实验内容 使…
20145314郑凯杰 <Java程序设计>实验二 实验报告 实验要求 完成实验.撰写实验报告,实验报告以博客方式发表在博客园,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等).解决办法(空洞的方法如"查网络"."问同学"."看书"等一律得0分)以及分析(从中可以得到什么启示,有什么收获,教训等).报告可以参考范飞龙老师的指导 严禁抄袭,有该行为者实验成绩归零,并附加其他惩罚措施. 先在实验楼中…
20145314郑凯杰 <Java程序设计>实验一 Java开发环境的熟悉(Windows + Eclipse)实验报告 实验要求 •使用JDK编译.运行简单的Java程序: •使用Eclipse编辑.编译.运行.调试Java程序. 实验内容 •命令行下Java程序开发 •Eclipse下Java程序开发.调试 •练习(通过命令行和Eclipse两种方式实现,在Eclipse下练习调试程序) •实现求正整数1-N之间所有质数的功能,并进行测试. 实验知识点 JVM.JRE.JDK的安装位置与区…
20145314郑凯杰 <Java程序设计>第6周学习总结 教材学习内容总结 本次就不放上每个程序的运行结果了,在下面的问题探究里会写出的.代码托管如下: 第十章 InputStream与OutputStream 流(Stream)是对「输入输出」的抽象. read:每次会尝试读入byte数组长度的数据,并返回实际读入的字节.为-1时即为未读取到数据. write:指定要写出的byte数组.初始索引与数组长度. 标准输入输出//这部分已经很熟悉了 System.in: 标准输入,默认关联到键盘…
---恢复内容开始--- 20145314郑凯杰 <Java程序设计>第2周学习总结 代码开始! 教材学习内容总结 跟着教材的顺序开始总结我学过的内容: 1编辑.编译.运行教材上代码 这部分的所有内容在我等一会的博客内容中会出现,也会将代码托管到开源中国. 运行结果1 10与5的关系 运行结果2 2的次方.我觉得除了上课和卢晓明说的那种改进方法之外,留着最后一个number=也不是一种方法,结果是一样的. 给个代码吧: package adc; public class adc { publi…
20145314郑凯杰 <Java程序设计>第1周学习总结 教材学习内容总结 跟着教材的顺序开始总结我学过的内容: 1.三大平台 JAVA SE ,JAVA EE,JAVA ME 从毕向东老师的视频中我可以发现,这咱们现在学习的是JAVA SE,日后可能会向JAVA EE发展,因为SE是标准版而EE是企业版,当然想成为一名白领程序猿喽. 2.Java SE四个组成部分 分为JVM .JRE. JDK和Java语言 3.了解JVM.JRE.JDK JVM:加瓦的虚拟机,实现JAVA可以跨平台的重…
2017-2018-1 20155326 <信息安全系统设计基础>第四周学习总结及myod改进版的补交 学习内容 补充完成课上没有完成的内容 学习教材附录A,第十章内容 参考别出心裁的Linux系统调用学习法,学习视频,掌握两个重要命令: man -k key1 | grep key2| grep 2 : 根据关键字检索系统调用 grep -nr XXX /usr/include :查找宏定义,类型定义 完成head,tail的使用,相关API的分析,伪代码,产品代码,测试代码的编写(3分)…