基础问题回答 1.SQL注入攻击原理,如何防御 原理:它是利用现有应用程序,将恶意的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入恶意SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句,最终达到欺骗服务器执行恶意的SQL命令. 本质:基于文本解析的机制无法分辨代码是否是恶意代码,仅仅是顺序读取和执行,因为通常文本解析的语言并不会进行编译. 防御:既然可以看到注入类攻击的核心原因是因为很多语言的顺序执行机制,和文本解析的本质,那么我只需要打…
基础问题回答 (1)什么是表单 表单在网页中主要负责数据采集功能.一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法. 表单域:包含了文本框.密码框.隐藏域.多行文本框.复选框.单选框.下拉选择框和文件上传框等. (2)浏览器可以解析运行什么语言. html,css,javascript等脚本语言 (3)WebServer支持哪些动态语言 ASP语言,PHP语言和JSP语言 实验过程记录 Apache (一)环境配置 apache是k…
实践内容 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 1.1一个主动攻击实践,如ms08_067; 1.2 一个针对浏览器的攻击,如ms11_050: 1.3 一个针对客户端的攻击,如Adobe: 1.4 成功应用任何一个辅助模块. 预备知识 1.MSF的六种模块 Exploit模块 : 是利用发现的安全漏洞或配置弱点对远程目标系统进行攻击,以植入和运行攻击载荷,从而获得对远程目标系统访问权的代码组件. 形象点来说就是攻击模块 Payload…
实验要求 (1)使用netcat获取主机操作Shell,cron启动 (0.5分) (2)使用socat获取主机操作Shell, 任务计划启动 (0.5分) (3)使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell(0.5分) (4)使用MSF meterpreter(或其他软件)生成获取目标主机音频.摄像头.击键记录等内容,并尝试提权 (2分) (5)可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1…
实验后回答问题 (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. 答:我会使用sysmon工具来进行监控,可以每天晚上查看一下监控到的信息,还可以利用筛选工具对数据进行分析,监控网络连接,是否创建新的进程,注册表项目以及系统日志. (2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息. 答:最简单的方法就是使用Virscan等网站进行扫描进行分析,复杂一点的话,可以自己使用…
实践内容 本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法.具体实践有 1,简单应用SET工具建立冒名网站 2.ettercap DNS spoof 3.结合应用两种技术,用DNS spoof引导特定访问到冒名网站 基础问题回答 问:通常在什么场景下容易受到DNS spoof攻击? 答:同一局域网下,以及各种公共网络. 问:在日常生活工作中如何防范以上两攻击方法? 答:DNS欺骗攻击是很难防御的,因为这种攻击大多数本质都是被动的.通常情况下,除非发生欺骗攻击,否则你不可…
实践内容 1.各种搜索技巧的应用 2.DNS IP注册信息的查询 3.基本的扫描技术:主机发现.端口扫描.OS及服务版本探测.具体服务的查点 4.漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞 基础问题回答 1.哪些组织负责DNS,IP的管理. 顶级的管理者是Internet Corporation for Assigned Names and Numbers (ICANN). 目前全球有5个地区性注册机构: ARIN主要负责北美地区业务 RIPE主要负责欧洲地区业务 APNIC主要负责亚太…
报告内容 2.1.基础问题回答 (1)杀软是如何检测出恶意代码的 ? 1:基于特征码 一段特征码就是一段或多段数据.(如果一个可执行文件(或其他运行的库.脚本等)包含这样的数据则被认为是恶意代码) 杀毒软件有自己专门的特征码库,在检测一个程序是否是恶意代码时就看这个程序中的是否包含有特征码库中的特征码,如果有就进行查杀.但是特征码库并不是总是能第一时间更新,如果出现了特征码库中没有的新特征码,那么就无法通过这种比对的方法进行查杀. 2.启发式恶意软件检测 在课堂上,老师让王昊同学翻译了这个句子.…
实践目标 本次实践的对象是linux的可执行文件 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串. 该程序同时包含另一个代码片段,getShell,会返回一个可用Shell.正常情况下这个代码是不会被运行的.我们实践的目标就是想办法运行这个代码片段.我们将学习两种方法运行这个代码片段,然后学习如何注入运行任何Shellcode. 实践内容 手工修改可执行文件,改变程序执行流程,直接跳转到getShell函数. 利用foo函数的Bof漏洞,构造一个攻击输入字…
教材内容详解 这一次主要学习的是第十章与第十一章的内容.主要讲述了串流,字符处理和线程以及并行API. 输入输出 串流:Java中的数据有来源(source)和目的地(destination),衔接两者的就是串流对象2串流设计:在不知道限定数据来源和目的地时,也可以依赖抽象的InputStream和Outstream来编写一个dump()方法,方便以后使用3InputStream和OutputStream:在java中,输入串流代表对象为java.io.InputStream实例,输出串流代表对…
教材内容总结 这一周学习的进度和前几周比较的话是差不多的,都是学习两章. 异常处理 1.理解异常架构 2.牚握try...catch...finally处理异常的方法 3.会用throw,throws 4.理解Collection和Map架构 5.会用常见的数据结构和算法 6.了解Lambada和泛型 第八章内容主要是对Java的异常处理 Java的异常处理是通过5个关键字来实现的:try,catch,throw,throws,finally. Throws: throws总是出现在一个函数头中…
在网络界,攻击事件发生的频率越来越高,其中相当多的都是由于网站密码泄露的缘故,或是人为因素导致,或是口令遭到破解,所以从某种角度而言,密码的安全问题不仅仅是技术上的问题,更主要的是人的安全意识问题. 实验目的: 了解Windows口令破解原理 对信息安全有直观感性认识 能够运用工具实现口令破解 实验人数 每组一人 系统环境 windows 实验工具 LC5 SuperDic 实验原理 口令破解方法 口令破解主要有两种方法:字典破解和暴力破解. 字典破解是指通过破解者对管理员的了解,猜测其可能使用…
教材内容总结 网络编程 定义:网络编程就是在两个或两个以上的设备之间传输数据. 计算机网络概述: 网络编程的实质就是两个(或多个)设备(例如计算机)之间的数据传输. 网络中的每个设备都会有一个唯一的数字标识,这个就是IP地址.在计算机网络中,现在命名IP地址的规定是IPv4协议,该协议规定每个IP地址由4个0-255之间的数字组成,例如10.0.120.34 为了方便记忆,有创造了另外一个概念--域名(Domain Name),例如sohu.com等.一个IP地址可以对应多个域名,一个域名只能对…
教材内容介绍 一 JDBC简介 JDBC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商则对接口进行操作,开发人员无须接触底层数据库驱动程序的差异性 JDBC标准分为两个部分:JDBC应用程序开发者接口.JDBC驱动程序开发者接口 厂商在操作JDBC驱动程序时,依照操作方式可以将驱动程序分成四类 - Tpye 1:JDBC-ODBC Bridge Driver 驱动程序将JDBC调用转换为对ODBC驱动程序的调用,由ODBC驱动程序操作数据库 - Tpye 2:Native…
教材学习内容总结 本周学习的主要是第十四章,第十五章的内容. NIO与NIO2 同步非阻塞IO(Java NIO) : 同步非阻塞,服务器实现模式为一个请求一个线程,即客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求时才启动一个线程进行处理.用户进程也需要时不时的询问IO操作是否就绪,这就要求用户进程不停的去询问. 异步阻塞IO(Java NIO): 此种方式下是指应用发起一个IO操作以后,不等待内核IO操作的完成,等内核完成IO操作以后会通知应用程序,这其实就是同步…
教材学习内容总结 Lambda 一种匿名方法 表达式构成 括号以及括号里用逗号分隔的参数列表 仅有一个参数的可以省略括号 ->符号 花括号以及花括号里的语句 仅有一条语句时可以省略花括号,并且这条语句的值将作为return返回值. 作用域 进行变量捕捉 时间的度量 格林威治标准时间(GMT),现已不作为标准时间使用,即使标注为GMT(格林威治时间),实际上谈到的的是UTC(Unix时间)时间. 在1972年引入UTC之前,GMT与UT是相同的. 秒的单位定义时基于TAI.也就是铯原子辐射的振动次…
教材内容总结 这次我们学习的还是两章的内容,学习任务量跟上次比的话大体上来讲是差不多的. 继承与多态 继承 继承也符合DRY(Don't Repeat Yourself)原则 Role role1 = new SwordsMan() SwordsMan swordsman = role1; //x SwordsMan swordsman = (SwordsMan)role1; //ok Java中只有单一继承,也就是只能有一个父类 要实现C++中的多重继承,要使用第七章中的「接口(Interfa…
关于java学习笔记的思考问题 第一章:JDK与JRE,JVM之间有没有必然的联系 第二章:可执行文件夹找到相关链接库 第三章:for与while循环的用法与比较,break与continue跳出的注意事项 第四章:对象数组以及比较对象的用法 第五章:对象开销里面的16字节究竟存储了什么?填充字节又存储了什么? 第六章:作用域的范围问题. 第七章:多态多个子类对同一方法重写的不同行为 第八章:在用throw重抛异常时的追踪堆栈起点 第九章:comparator对象告知如何排序? 第十章:read…
20155208徐子涵<网络对抗>Exp9 Web安全基础 实验要求 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验过程 最后一次了,没有选择尝试免考项目的我最后一次进行这个紧张刺激的活动了. WebGoat Webgoat是OWASP组织研究出的一个专门进行web漏洞实验的应用品台,这个平台里包含了web中常见的各种漏洞,例如:跨站脚本攻击.sql注入.访问控制.隐藏字段.Cookie等: 首先我们在kali里面下载Webgoat,这是一个jar包,因为在虚…
Exp9 Web安全基础 目录 基础问题回答 (1)SQL注入攻击原理,如何防御 (2)XSS攻击的原理,如何防御 (3)CSRF攻击原理,如何防御 实践过程记录 WebGoat准备工作 1.XSS攻击 2.CSRF攻击 3.SQL注入攻击 实验总结与体会 基础问题回答 (1)SQL注入攻击原理,如何防御 原理:通过在用户名.密码登输入框中输入一些',--,#等特殊字符,实现引号闭合.注释部分SQL语句,利用永真式实现登录.显示信息等目的.其实就是输入框中的字符提交到后台的数据库中会与SQL语句…
Exp9 Web安全基础 20154305 齐帅 一.实验要求 本实践的目标理解常用网络攻击技术的基本原理. Webgoat实践下相关实验: [目录] [第一部分 WebGoat 8.0] 1.WebGot 2.BurpSuite 3.Injection Flaws 4.Cross-Site Scripting [第二部分 WebGoat 7.1] 1.Injection Flaws 1.1 Numeric Injection 1.2 LAB:SQL Injection 1.3 String S…
20155205 郝博雅 Exp9 Web安全基础 一.实验内容 一共做了13个题目. 1.WebGoat 输入java -jar webgoat-container-7.1-exec.jar 在浏览器输入localhost:8080/WebGoat,进入webgoat开始实验 2.Injection Flaws 在火狐里右键选择inspect element开启调试. ① Command Injection 命令注入攻击对任何参数驱动的站点都构成严重威胁.攻击背后的方法很容易学习,造成的损害可…
Exp9 Web安全基础 基础问题回答 (1)SQL注入攻击原理,如何防御 原理:它是利用现有应用程序,将恶意的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入恶意SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句,最终达到欺骗服务器执行恶意的SQL命令. 本质:基于文本解析的机制无法分辨代码是否是恶意代码,仅仅是顺序读取和执行,因为通常文本解析的语言并不会进行编译. 防御:既然可以看到注入类攻击的核心原因是因为很多语言的顺序执行机制,和文…
2017-2018-2 20155314<网络对抗技术>Exp9 Web安全基础 目录 实验目标 实验内容 实验环境 基础问题回答 预备知识 实验步骤--WebGoat实践 0x10 WebGoat基础配置 0x20 Injection Flaws:注入缺陷攻击实践 0x21 Command Injection:命令注入 0x22 Numeric SQL Injection:数字型 SQL 注入 0x23 Log Spoofing:日志欺骗 0x24 String SQL Injection:…
20145236<网络对抗>Exp9 web安全基础实践 一.基础问题回答: SQL注入攻击原理,如何防御 SQL Injection:就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. 利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句. 对用户的输入进行校验,可以通过正则表达式,或限制长…
20145215<网络对抗>Exp9 Web安全基础实践 基础问题回答 SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意SQL命令的目的. 对于SQL注入攻击的防范,我觉得主要还是应该从代码上入手: 采用预编译语句集PreparedStatement,它内置了处理SQL注入的能力,只要使用它的setXXX方法传值即可.它的原理就是sql注入只对sql语句的准备(编译)过程有破坏作用,而Prepar…
20145208 蔡野 <网络对抗>Exp9 web安全基础实践 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验后回答问题 (1)SQL注入攻击原理,如何防御 攻击原理:利用输入的机会构造自己期望的请求,比如破坏掉用户名或者密码验证进行登录,还有对数据库增删查改的基本操作. 防御:利用输入规则限制进行防御,不允许特殊字符输入 (2)XSS攻击的原理,如何防御 攻击原理:XSS又称CSS,全称Cross SiteScript,跨站脚本攻击,XSS攻击类似于SQL…
20155202<网络对抗>Exp9 web安全基础实践 实验前回答问题 (1)SQL注入攻击原理,如何防御 SQL注入产生的原因,和栈溢出.XSS等很多其他的攻击方法类似,就是未经检查或者未经充分检查的用户输入数据,意外变成了代码被执行.针对于SQL注入,则是用户提交的数据,被数据库系统编译而产生了开发者预期之外的动作.也就是,SQL注入是用户输入的数据,在拼接SQL语句的过程中,超越了数据本身,成为了SQL语句查询逻辑的一部分,然后这样被拼接出来的SQL语句被数据库执行,产生了开发者预期之…
20155204<网络对抗>Exp9 Web安全基础实践 一.基础问题回答 SQL注入攻击原理,如何防御? 原理: SQL注入即是指web应用程序对用户输入数据的合法性没有判断,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息. 防御: 1.普通用户与系统管理员用户的权限要有严格的区分.如果一个普通用户在使用查询语句中嵌入另一个Drop Table语句,那么是否允许执行呢?由于Drop语句…
20155207 <网络对抗> Exp9 Web安全基础 实验内容 关于WebGoat Cross-Site Scripting(XSS)练习 Injection Flaws练习 CSRF攻击 实验总结与体会 这次实验在WebGoat里做了SQL注入的10个相关实践,从上周学习的简单通过文本框中输入字符串构造SQL语句进行SQL注入到在文本框中提交文本或者发送邮件做XSS攻击,还有利用:邮件发送含有恶意URL请求的HTML对象来利用用户的COOKIE做非法操作 基础问题回答 (1)SQL注入攻…