1.SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意SQL命令的目的. 对于SQL注入攻击的防范,我觉得主要还是应该从代码上入手: 采用预编译语句集PreparedStatement,它内置了处理SQL注入的能力,只要使用它的setXXX方法传值即可.它的原理就是sql注入只对sql语句的准备(编译)过程有破坏作用,而PreparedStatement已经准备好了,执行阶段只是把输入串作为数据处理,…
20145307陈俊达<网络对抗>shellcode注入 Shellcode注入 基础知识 Shellcode实际是一段代码,但却作为数据发送给受攻击服务器,将代码存储到对方的堆栈中,并将堆栈的返回地址利用缓冲区溢出,覆盖成为指向 shellcode的地址. 实践过程 将环境设置为:堆栈可执行.地址随机化关闭 选择anything+retaddr+nops+shellcode的结构构造攻击buf,先猜测返回地址所在位置,并且找到shellcode所在地址 在终端注入这段攻击buf: 先不输入&…
20145318<网络对抗>注入shellcode及Return-to-libc 注入shellcode 知识点 注入shellcodeShellcode实际是一段代码(也可以是填充数据),是用来发送到服务器利用特定漏洞的代码,一般可以获取权限.另外,Shellcode一般是作为数据发送给受攻击服务器的. Shellcode是溢出程序和蠕虫病毒的核心,提到它自然就会和漏洞联想在一起,毕竟Shellcode只对没有打补丁的主机有用武之地.漏洞利用中最关键的是Shellcode的编写. 实践过程…
20145327<网络对抗>--注入shellcode并执行 准备一段Shellcode 老师的shellcode:\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x31\xd2\xb0\x0b\xcd\x80\x90\x00\xd3\xff\xff\x00 设置堆栈可执行 关闭地址随机化 Return-to-libc攻击深入 缓冲区溢出的常用攻击方法是用 shellcode 的地址来覆盖…
20145334赵文豪 <Java程序设计>第6周学习总结 教材学习内容总结 第十章 输入/输出 数据流 I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出. Java将输入/输出抽象化为串流,数据有来源及目的地,衔接两者的是串流对象.如果要将数据从来源取出,可以使用输入传流,如果要将数据写入目的地,可以使用输出串流. 在java中,输入串流代表对象为java.io.InputStream实例,输出串流代表对象为java.io.OutStre…
20145334赵文豪 <Java程序设计>第5周学习总结 教材学习内容总结 第八章 1.使用try.catch打包System.in.read(),声明throws java.io.IOException. 2.如果父类异常对象在子类异常前被捕捉,则catch子类异常对象的区块将永远不会被执行. 3.catch括号中列出的异常不得有继承关系,否则会发生编译错误. 4.在catch区块进行完部分错误处理之后,可以使用throw将异常再抛出. 5.操作对象异常无法使用try.catch处理时,可…
20145334赵文豪 <Java程序设计>第4周学习总结 教材学习内容总结 第六章知识点总结 1-继承共同行为:如果在程序设计上存在着重复,那就需要修改,可以吧相同的程序代码提升(pull up)为父类.extends关键字表示新建的类会扩充原有的类的行为. 2-多态与is-a:子类只能继承一个父类,并且子类与父类之间有一种is-a的关系,让不是一种的类扮演另一种类需要加上类似于 强制类型转换的语法.-使用单一接口操作多种类型的对象就是多态,个人的理解就是用一种父类来控制许多的子类. 3-重…
20145334赵文豪 <Java程序设计>第8周学习总结 教材学习内容总结 转眼间Java学习已经到了第八周,第十五章,需要我们学会使用日志API.了解国际化基础.认识JDK8增强功能等.通过前面几周的学习,java的核心知识与难点之前都已经学完了,这几周都是围绕java常用的一些类与接口.方法的使用进行的,自己还是应该对这些类的使用在实际的例子中多多尝试,才能真正掌握这些类使用的细节以及它们各自的作用. 第十四章 1.NIO的定义 InputStream.OutputStream的输入输出…
20145334赵文豪 <Java程序设计>第7周学习总结 教材学习内容总结 第十三章 时间与日期 13.1.1时间的度量 1.格林威治时间(GMT):参考太阳到达最高点,有时间误差. 2.世界时(UT):基于本初子午线. 3.国际原子时(ATI):物理定义的时间 4.时间协调时间(UTC):修正过,符合地球自转规律. 5.Lnix时间:唯一的,不考虑修正,通常情况下表示时间轴上的某一个时间点. 13.1.2 年历简介 1.格力高斯历将1582年10月4日星期四的隔天,定为格力高斯历1752年…
20145334赵文豪 <Java程序设计>第3周学习总结 教材学习内容总结 下面的是代码托管的截图 第四章学习内容总结 4.1 类与对象 1.对象(Object): 存在的具体实体,具有明确的状态和行为 2.类(Class): 具有相同属性和行为的一组对象的集合,用于组合各个对象所共有操作和属性的一种机制 3.从类看对象: 类定义可以视为一个具有类似特性与共同行为的对象的模板,可用来产生对象 4.从对象看类: 类的产生,是从少数实例,推广到大量相似实例的抽象化过程(abstraction)…
20145334赵文豪 <Java程序设计>第1周学习总结 教材学习内容总结 第一周的学习在紧张中结束了,我们这周了解了各门课的基本内容与授课形式,在第一周java课程的的学习中我们学习了前两章的内容,对于java课程还是充满了强烈的兴趣和好奇心 第一章我了解了Java的诞生和版本演进的历史,目前的最新版本是Java SE8. java的三大平台分别是Java SE.Java EE .Java ME.其中我们最常用的是Java SE,它有四个组成部分:JVM .JRE. JDK. Java语言…
Shellcode注入 shellcode实际是一段代码,但却作为数据发送给受攻击服务器,将代码存储到对方的堆栈中,并将堆栈的返回地址利用缓冲区溢出,覆盖成为指向 shellcode 的地址 下载安装execstack 完成环境配置 execstack -s pwn5303:将堆栈设为可执行状态 execstack -q pwn5303:查看文件pwn5302的堆栈是否是可执行状态 用more /proc/sys/kernel/randomize_va_space:查看地址随机化的状态 用ech…
20145308 <网络对抗> 逆向及BOF进阶实践 注入shellcode+Return-to-libc攻击 学习总结 实践目的 注入shellcode 实现Return-to-libc攻击 知识点学习总结 Shellcode实际是一段代码(也可以是填充数据),是用来发送到服务器利用特定漏洞的代码,一般可以获取权限.另外,Shellcode一般是作为数据发送给受攻击服务器的. Shellcode是溢出程序和蠕虫病毒的核心,提到它自然就会和漏洞联想在一起 Linux中两种基本构造攻击buf的方…
20144303石宇森<网络对抗>PC平台逆向破解 实验1:shellcode注入 实验基础 1.Linux下有两种基本构造攻击buf的方法:retaddr+nop+shellcode,nop+shellcode+retaddr.我们采用anything+retaddr+nops+shellcode的方法. 2.实验的目标是找到返回地址的位置和shellcode的地址.然后通过修改返回地址使其自动执行shellcode 3.实验前通过命令:apt-get install exestack安装e…
Shellcode注入 基础知识 Shellcode实际是一段代码,但却作为数据发送给受攻击服务器,将代码存储到对方的堆栈中,并将堆栈的返回地址利用缓冲区溢出,覆盖成为指向 shellcode的地址.Shellcode一般是作为数据发送给受攻击服务器的. Shellcode是溢出程序和蠕虫病毒的核心,提到它自然就会和漏洞联想在一起,毕竟Shellcode只对没有打补丁的主机有用武之地.漏洞利用中最关键的是Shellcode的编写. 实践过程 首先写一段shellcode,保存为20145310s…
shellcode 准备一段Shellcode 我用的老师的shellcode:\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x31\xd2\xb0\x0b\xcd\x80\x90\x00\xd3\xff\xff\x00 环境设置 设置堆栈可执行 关闭地址随机化 然后,跳进了坑里 用结构为:nops+shellcode+retaddr进行了shellcode注入 6个nop+shellco…
Shellcode注入 基础知识 Shellcode实际是一段代码,但却作为数据发送给受攻击服务器,将代码存储到对方的堆栈中,并将堆栈的返回地址利用缓冲区溢出,覆盖成为指向 shellcode的地址. 实践过程 shellcode的生成方法指导书上已经写得很详细了,在做实验时我直接用的是老师上课用的shellcode: 将环境设置为:堆栈可执行.地址随机化关闭 选择anything+retaddr+nops+shellcode的结构构造攻击buf,先猜测返回地址所在位置,并且找到shellcod…
本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串. 该程序同时包含另一个代码片段,getShell,会返回一个可用Shell.正常情况下这个代码是不会被运行的.我们实践的目标就是想办法运行这个代码片段. 我们将学习两种方法 利用foo函数的Bof漏洞,构造一个攻击输入字符串,覆盖返回地址,触发getShell函数. 手工修改可执行文件,改变程序执行流程,直接跳转到getShell函数. 基础知识 该实…
20145320注入Shellcode并执行 准备一段Shellcode 首先先准备一段C语言代码:这段代码其实和我们的shell功能基本一样 为了之后能够看到反汇编的结果,这次采用的静态编译.正常返回shell. 经过一系列的工作我们可以得到这段注入的shellcode代码的反汇编结果(这些代码可以在网上下载,这里感谢一下许心远同学) \x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x31…
注入Shellcode并执行 实践指导书 实践过程及结果截图 准备一段Shellcode 我这次实践和老师用的是同一个 设置环境 构造要注入的payload 我决定将返回地址改为0xffffd3a0 跟着老师跳坑失败了 查找原因.同上面步骤运行,gdb调试. 重新开始 看到 01020304了,就是返回地址的位置.shellcode就挨着,所以地址是 0xffffd3c0 终于成功了 说明 懒得打太多字了,老师的指导书说的很详细了,我在不同的地方都标记了,剩下的内容和老师的指导相同,就不再重复了…
实践目标 掌握metasploit的基本应用方式 掌握常用的三种攻击方式的思路. 实验要求 一个主动攻击,如ms08_067 一个针对浏览器的攻击,如ms11_050 一个针对客户端的攻击,如Adobe 成功应用任何一个辅助模块 实验问答 用自己的话解释什么是exploit,payload,encode. exploit是利用系统漏洞,相当于一个动态的过程. payload是攻击载荷,用于实现对漏洞的攻击,是实现漏洞攻击最核心的代码. encode是用于实验特征码伪装的编码,可以实现免杀 三个靶…
实验问题回答 1.什么是表单 表单在网页中主要负责数据采集功能 一个表单有三个基本组成部分: 表单标签 表单域:包含了文本框.密码框.隐藏域.多行文本框.复选框.单选框.下拉选择框和文件上传框等 表单按钮:包括提交按钮.复位按钮和一般按钮.表单按钮可以用于将数据传送到服务器上的CGI脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作 2.浏览器可以解析运行什么语言 超文本标记语言:HTML 可扩展标记语言:XML 脚本语言:ASP.PHP.Script.JavaScript.V…
MS08_067远程漏洞攻击:shell 实现攻击的前提是:攻击机和靶机在同一个网段下,首先将kali的ip改为与winxp的ip一样,二者能ping通 两台虚拟机: kali ip:192.168.10.129 windows xp sp3:192.168.10.128 1.kali打开msfconsole控制台 2.在msf模式下查找ms08_067的漏洞攻击程序 3."use exploit/windows/smb/ms08_067_netapi"进入该漏洞模块 4."…
20145302张薇<网络对抗技术>PC平台逆向破解 实验任务 1.简单shellcode注入实验 2.Return-to-libc 攻击实验 实验相关原理 Bof攻击防御技术 从防止注入的角度来看:在编译时,编译器在每次函数调用前后都加入一定的代码,用来设置和检测堆栈上设置的特定数字,以确认是否有bof攻击发生. 如GCC中的编译器有堆栈保护技术,参考链接:http://www.ibm.com/developerworks/cn/linux/l-cn-gccstack/index.html…
20145330 <网络对抗>PC平台逆向破解:注入shellcode 实验步骤 1.用于获取shellcode的C语言代码 2.设置环境 Bof攻击防御技术 需要手动设置环境使注入的shellcode到堆栈上可执行. 具体在终端输入如下: root@KaliYL:~# execstack -s pwnyx //设置堆栈可执行 root@KaliYL:~# execstack -q pwnyx //查询文件的堆栈是否可执行 X pwn1 root@KaliYL:~# more /proc/sy…
20145312 <网络对抗>PC平台逆向破解:注入shellcode和 Return-to-libc 攻击实验 注入shellcode 实验步骤 1. 准备一段Shellcode 2. 设置环境 Bof攻击防御技术 从防止注入的角度来看:在编译时,编译器在每次函数调用前后都加入一定的代码,用来设置和检测堆栈上设置的特定数字,以确认是否有bof攻击发生. GCC中的编译器有堆栈保护技术(结合CPU的页面管理机制,通过DEP/NX用来将堆栈内存区设置为不可执行.这样即使是注入的shellcode…
20145239杜文超<网络对抗>- shellcode注入&Return-to-libc攻击深入 shellcode基础知识 Shellcode是一段代码,作为数据发送给受攻击服务器,是溢出程序和蠕虫病毒的核心,一般可以获取权限.我们将代码存储到对方的堆栈中,并将堆栈的返回地址利用缓冲区溢出,覆盖成为指向 shellcode的地址. shellcode注入实践过程 1.先复制一个新的pwn1文件,并以我自己的学号命名,然后修改一些设置(首先要安装工具:apt-get install…
20145210姚思羽<网络对抗>shellcode注入&Return-to-libc攻击深入 shellcode基础知识 Shellcode是一段代码,作为数据发送给受攻击服务器,是溢出程序和蠕虫病毒的核心,一般可以获取权限.我们将代码存储到对方的堆栈中,并将堆栈的返回地址利用缓冲区溢出,覆盖成为指向 shellcode的地址. shellcode注入实践 1.获取shellcode的C语言代码 2.编译运行 3.设置并查询文件的堆栈是否可执行.需要先安装execstack指令,安装…
20145203盖泽双<网络对抗技术>拓展:注入:shellcode及return-into-libc攻击 一.注入:shellcode 1.编写一段用于获取Shellcode的C语言代码 shellcode就是一段机器指令(code),通常这段机器指令的目的是为获取一个交互式的shell(像linux的shell或类似windows下的cmd.exe),它被用来发送到服务器利用其特定漏洞获取其权限. Shellcode是溢出程序和蠕虫病毒的核心,只对没有打补丁的主机有用武之地.在实际的应用中…
20145215<网络对抗>shellcode注入&Return-to-libc攻击深入 Shellcode注入 基础知识 Shellcode实际是一段代码,但却作为数据发送给受攻击服务器,将代码存储到对方的堆栈中,并将堆栈的返回地址利用缓冲区溢出,覆盖成为指向 shellcode的地址. 实践过程 shellcode的生成方法指导书上已经写得很详细了,在做实验时我直接用的是老师上课用的shellcode: 将环境设置为:堆栈可执行.地址随机化关闭 选择anything+retaddr…