1.SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意SQL命令的目的. 对于SQL注入攻击的防范,我觉得主要还是应该从代码上入手: 采用预编译语句集PreparedStatement,它内置了处理SQL注入的能力,只要使用它的setXXX方法传值即可.它的原理就是sql注入只对sql语句的准备(编译)过程有破坏作用,而PreparedStatement已经准备好了,执行阶段只是把输入串作为数据处理,…
20145216史婧瑶<网络对抗>Web安全基础实践 实验问题回答 (1)SQL注入攻击原理,如何防御 攻击原理: SQL注入攻击指的是通过构建特殊的输入作为参数传入web应用程序,而这些输入大都是SQL语法里的一些组合,程序通过执行SQL语句进而执行攻击者所要的操作.其主要原因是程序没有细致的过滤用户输入的数据,致使非法数据侵入系统. 防御方法: 对输入的数据进行过滤,将常见的sql语句的关键词:select or ' " 等字符进行过滤. 对在数据库中对密码进行加密,验证登陆的时…
20145216史婧瑶<网络对抗>Web基础 实验问题回答 (1)什么是表单 表单在网页中主要负责数据采集功能.一个表单有三个基本组成部分: 表单标签.表单域.表单按钮. (2)浏览器可以解析运行什么语言 支持HTML.XML.PHP.Javascript等脚本语言. (3)WebServer支持哪些动态语言 JavaScript.ASP.PHP.Ruby等脚本语言. 实验总结与体会 这次实验让我重温了上学期的网络安全编程基础,编写代码简直花了我百分之八十的精力,主要是在编写代码的过程中出现了…
20145216史婧瑶 <网络对抗> MSF基础应用 实验回答问题 用自己的话解释什么是exploit,payload,encode. exploit:渗透攻击模块,测试者利用它来攻击一个系统,程序,或服务,以获得开发者意料之外的结果. payload:攻击载荷模块,由一些可动态运行在远程主机上的代码组成 encode:编码器模块,对指令重新进行编码,用以实现反检测功能.指令顺利执行等 实践过程 主动攻击(ms08_067漏洞) MS08_067远程漏洞攻击实践:Shell 1.在VMware…
20145216史婧瑶<网络对抗>逆向及Bof进阶实践 基础知识 Shellcode实际是一段代码,但却作为数据发送给受攻击服务器,将代码存储到对方的堆栈中,并将堆栈的返回地址利用缓冲区溢出,覆盖成为指向 shellcode的地址. Linux中两种基本构造攻击buf的方法:retaddr+nop+shellcode ,nop+shellcode+retaddr ,缓冲区小就就把shellcode放后边,不然就放前边. 实验步骤 1.准备一段shellcode代码 2.设置环境 Bof攻击防御…
20145216 实验五<Java网络编程> 实验内容 1.掌握Socket程序的编写 2.掌握密码技术的使用 3.设计安全传输系统 实验要求 1.基于Java Socket实现安全传输 2.基于TCP实现客户端和服务器,结对编程一人负责客户端,一人负责服务器 3.使用Git进行版本控制 4.选择对称算法进行数据加解密 5.选择非对称算法对对称加密密钥进行密钥分发 6.选择合适的Hash算法进行完整性验证 7.选择合适的算法对Hash值进行签名/验证 实验步骤 1.运行TCP代码,我负责客户端…
20145216 <Java程序设计>第10周学习总结 教材学习内容总结 网络编程 一.网络概述 网络编程就是两个或多个设备(程序)之间的数据交换. 识别网络上的每个设备:①IP地址②域名(Domain Name).一个IP地址可以对应多个域名,一个域名只能对应一个IP地址. DNS服务器(域名解析):在实际传输数据以前需要将域名转换为IP地址. 端口:让一个计算机可以同时运行多个网络程序.端口的号码必须位于0-65535之间,每个端口唯一的对应一个网络程序,一个网络程序可以使用多个端口. C…
20145216 <Java程序设计>第9周学习总结 教材学习内容总结 第十六章 整合数据库 16.1 JDBC入门 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找. JDBC目的:让Java程序设计人员在撰写数据库操作程序时可以有个统一的接口,无须依赖特定的数据库API,“写一个Java程序,操作所有数据库”. 联机数据库,需要在classpath中设定JDBC驱动程序. 基本数据库操作相关JDBC接口或类是为位于java.sql包中. Connection接口的操作对…
20145216 <Java程序设计>第8周学习总结 教材学习内容总结 第十五章 通用API 15.1 日志 java.util.logging 包提供了日志功能相关类与接口,不必额外配置日志组件,就可在标准Java平台使用是其好处.使用日志的起点是Logger类,要取得Logger实例,必须使用Logger的静态方法getLogger().如: Logger logger = Logger.getLogger("cc.openhome.Main"); 调用getLogge…
20145216 <Java程序设计>第7周学习总结 教材学习内容总结 第十三章 时间与日期 13.1 认识时间与日期 就目前来说,即使标注为GMT(无论是文件说明,或者是API的日期时间字符串描述),实际上谈到时间指的是UTC时间. 秒的单位定义是基于TAI,也就是铯原子辐射振动次数. epoch为某个特定时代的开始,时间轴上某一瞬间. UTC考虑了地球自转越来越慢而有闰秒修正,确保UTC与UT相差不会超过0.9秒. Unix时间是1970年1月1日00:00:00为起点而经过的秒数,不考虑…