20169217 2016-2017-2 《网络攻防实践》第十一周学习总结

   Collabtive 系统 SQL 注入实验

    实验介绍

SQL注入技术是利用web应用程序和数据库服务器之间的接口来篡改网站内容的攻击技术。通过把SQL命令插入到Web表单提交框、输入域名框或页面请求框中,最终欺骗服务器执行恶意的SQL命令。

在这个实验中,我们使用的web应用程序称为Collabtive。我们禁用Collabtive的若干防护措施,这样我们就创建了一个容易受到SQL注入攻击的Collabtive版本。经过我们的人工修改,我们就可以通过实验分析许多web开发人员的常见错误与疏忽。在本实验中学生的目标是找到方法来利用SQL注入漏洞实施攻击,并通过掌握的技术来阻止此类攻击的发生。 预备知识

    1、 SQL语言

结构化查询语言(Structured Query Language)简称SQL:是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

    2、SQL注入

SQL注入:SQL注入能使攻击者绕过认证机制,完全控制远程服务器上的数据库。SQL是结构化查询语言的简称,它是访问数据库的事实标准。目前,大多数Web应用都使用SQL数据库来存放应用程序的数据。几乎所有的Web应用在后台都使用某种SQL数据库。跟大多数语言一样,SQL语法允许数据库命令和用户数据混杂在一起的。如果开发人员不细心的话,用户数据就有可能被解释成命令,这样的话,远程用户就不仅能向Web应用输入数据,而且还可以在数据库上执行任意命令了。

sql注入原理讲解

    3、SQL注入危害

非法读取、篡改、添加、删除数据库中的数据。

盗取用户的各类敏感信息,获取利益。

通过修改数据库来修改网页上的内容。

私自添加或删除账号。

注入木马等等。

    4、环境搭建

启动mysql:

sudo mysqld_safe

注意启动后程序不会退出,可以打开新的终端执行后续命令。

启动Apache:

sudo service apache2 start

密码:dees

配置DNS:

sudo vim /etc/hosts

按i进入编辑模式,编辑文件

编辑完成后按Esc退出编辑

完成后使用 :wq 保存并退出

配置网站文件:

sudo vim /etc/apache2/conf.d/lab.conf     

sudo service apache2 restart  重启服务

用户名:admin;密码:admin

关闭php配置策略:

sudo vim /etc/php5/apache2/php.ini 

把magic_quotes_gpc=On 改为 magic_quotes_gpc = Off

关于magic_quotes_off函数:

对于magic_quotes_gpc=on的情况, 我们可以不对输入和输出数据库的字符串数据作addslashes()和stripslashes()的操作,数据也会正常显示;

如果此时你对输入的数据作了addslashes()处理,那么在输出的时候就必须使用stripslashes()去掉多余的反斜杠。

对于PHP magic_quotes_gpc=off 的情况

必须使用addslashes()对输入数据进行处理,但并不需要使用stripslashes()格式化输出,因为addslashes()并未将反斜杠一起写入数据库,只是帮助mysql完成了sql语句的执行。

实验内容 lab1 select语句的sql注入

访问:www.sqllabcollabtive.com;当我们知道用户而不知道到密码的时候,我们可以怎么登陆?

查看登陆验证文件:

sudo vim /var/www/SQL/Collabtive/include/class.user.php

设置行号 :set number

查找 :/keyword

找到其中第375行

$sel1 = mysql_query ("SELECT ID, name, locale, lastlogin, gender, FROM user WHERE (name = ‘$user‘ OR email = ‘$user‘) AND pass = ‘$pass‘");

这一句就是我们登录时,后台的sql语句;我们可以构造一个语句,在不知道密码的情况下登陆;

$sel1 = mysql_query ("SELECT ID, name, locale, lastlogin, gender, FROM user WHERE (name = ‘$user ‘) #‘ OR email = ‘$user‘) AND pass = ‘$pass‘");

修改完后重启一下服务器:

sudo service apache2 restart

我们在$user后面加上) # 这样就会只验证用户名,后面的会被#注释

 arp欺骗攻击

首先准备三台实验用虚拟机,分别是kali(攻击机),Metasploitable—ubuntu(一号靶机,作为FTP服务器),Metasploitable—win2k(二号靶机,作为FTP服务器访问者)。

分别记录下三台计算机的IP地址和MAC地址,分别为:

然后,我们用kali主机,来ping另外两台主机,目的是获取它们的ip和mac的对应关系,ping完之后拿arp -a命令进行查看。

这时,我们打开kali主机的wireshark来进行抓包,抓包的过滤条件为(tcp or arp) and (ip.addr==222.28.136.122 or ip.addr==222.28.136.226 or ip.addr==222.28.136.223)

然后就要开始用netwox工具进行ARP报文欺骗了,如下

选择5号结点(在命令行中工作),33号工具(构造以太网ARP数据报)

最后我们开始制作ARP报文,根据以下图片中的参数显示,我们只需填写上相应的MAC地址和IP地址即可

将这两个报文发送出去,之后我们就能查出欺骗的mac和ip的对应信息

当两台靶机保存了错误的arp信息之后,我们用ubantu去访问win2k的FTP服务

然后在kali中用wireshark进行抓包,筛选,可以看到下面的结果

监听到了两个靶机之间的通信数据包。

ICMP重定向攻击

首先查看靶机ip地址:222.28.136.122,攻击机的ip地址:222.28.136.223

我们打开wireshark,输入判断条件
    (tcp or arp or icmp) and ip.addr == 222.28.136.122
    准备抓包。

这时我们开启netwox进行ICMP路由重定向,使用第netwox工具,按照工具提示进行数据包的篡改,如下图

我们开启wireshark,用靶机ping baidu.com,可以看到wireshark立刻截获了靶机发往目标服务器的的相关报文,如下图所示:

然后这时我们再查看靶机的路由表,和之前的相对比,靶机已经错误的将网关更改为了我们的攻击机的IP地址

时间: 2024-09-28 20:17:44

20169217 2016-2017-2 《网络攻防实践》第十一周学习总结的相关文章

2017-2018-2 20179204《网络攻防实践》第一周学习总结

第1节 对师生关系的理解 原先我对师生关系的理解是"教学相长".本周通过阅读 优秀的教学方法---做教练与做中学 ,理解了相关的理论和老师的具体应用过程,我又对师生关系又有了更多元的了解--理想的师生关系是健身教练和健身学员之间的关系. 从trainee的比喻来看,大学.研究生阶段更需要的是我们进行自主学习,首先要意识到自己学习的重要性和必要性,只有自己需要学习,才能驱除惰性,有更多的动力:作为trainee还需要有不怕吃苦.坚持不懈的精神,这是学生所必备的品质. 从trainer的比

2017-2018-2 20179213《网络攻防实践》第九周学习

教材学习 第九章 恶意代码安全攻防 恶意代码定义 ?? 恶意代码是指使计算机按照攻击者的意图执行以达到恶意目标的指令集. 类型包括:计算机病毒.蠕虫.恶意移动代码.后门.特洛伊木马.僵尸程序.内核套件.融合型恶意代码. 计算机病毒 基本特性:感染性.潜伏性.可触发性.破坏性.衍生性 感染及引导机制:可执行文件.引导扇区.支持宏指令的数据文件. 传播机制:移动存储.电子邮件.下载.共享目录. 网络蠕虫 基本特性:通过网络自主传播 组成结构:弹头.传播引擎.目标选择算法.扫描引擎.有效载荷 后门与木

2017-2018-2 20179204《网络攻防实践》第一周学习总结之linux基础

我在实验楼中学习了Linux基础入门课程,这里做一个学习小结. 第一节 linux系统简介 本节主要介绍了linux是什么.发展历史.重要人物.linux与window的区别以及如何学习linux. 1.什么是linux Linux是一个操作系统,就像Windows(xp,7,8)和 Mac OS.Linux 主要是系统调用和内核那两层.直观地看,操作系统还包含一些在其上运行的应用程序,比如文本编辑器.浏览器.电子邮件等. 2.linux与windows的区别 linux免费或收取少许费用: l

2017-2018-1 20179206《网络攻防实践》第一周作业

a.你对师生关系的理解,希望是哪种关系? 我认为师生关系是一种相互平等交流的关系. 为什么这样说,因为这是由网络攻防实践这门可得特殊性来决定的,网络攻防是门实践课,需要大量的联练习和摸索,同时大部分学生对这一领域不熟悉,需要学习Linux在内的很多新东西,在中间会产生大量的新问题,这些问题需要向老师请教,如果能够尽可能的成为一种相互平等的关系,同学会更乐于去发现问题和请教问题,从而能爱上实践,爱上这门课. b.如何提问? l 提问的内容要先自我独立解决: 作为一门计算机实践课,首先放在第一位的就

网络攻防实践 第十周作业

网络攻防实践作业 html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,tabl

2017-2018-2 20179215《网络攻防实践》第一周作业

<网络攻防开发与实践> 第一周作业 一.对师生关系的理解 ?对于研究生和导师的关系就不像中学或大学,仅仅是以传授知识为主,研究生阶段,导师起到引路的作用,给学生指点以及方向,而不仅仅是教学,传授的更应该是方法,因为此时研究生阶段学生有了自己的思想,对事物能进行更深刻的思考,想法往往更加新颖,所以导师引领方向,学生开拓创新. 二.如何提问 顺应:从对方观点中延展出你的问题,不要另起炉灶: 提升:把对方所讲的内容,归纳.升华.拔高,成为更具有概括性,更深刻的大问题,再从这个大问题出发提出你自己具体

《网络攻防》第七周学习总结

Kali教材学习 本周主要学习了<网络攻防---技术与实践>第7章的内容,主要学习了 Windows操作系统安全攻防         Windows操作系统基本框架 如上图所示,Windows操作系统分为运行于处理器特权模式(ring 0)的操作系统内核,以及运行在处理器非特权模式(ring 3)的用户空间代码.采用宏内核(monolithic)模式进行架构.内核基本模块分为:Windows执行体 .Windows内核体 .设备驱动程序 .硬件抽象层 .Windows窗口与图形界面内核实现代码

《网络攻防》第五周学习总结

教材内容学习 web应用程序体系结构及其安全威胁 web应用体系结构 浏览器 web服务器 web应用程序 数据库 传输协议http/https web应用安全威胁 针对浏览器和终端用户的web浏览安全威胁 针对传输网络的网络协议安全威胁 系统层安全威胁 web服务器软件安全威胁 web应用程序安全威胁 web数据安全威胁 web应用安全攻防技术概述 web应用的信息收集 对目标web应用服务进行发现与剖析,标识出它的基本轮廓,具体包括服务器域名,IP地址和虚拟IP地址,web服务器端口与其他开

《网络攻防》第六周学习总结

教材学习 第五章--TCP/IP网络协议攻击 TCP/IP网络协议栈攻击概述 网络安全属性与攻击模式 网络安全属性:机密性,完整性,可用性,真实性,不可抵赖性 网络攻击基本模式: 截获 篡改 中断 伪造 TCP/IP网络协议栈安全缺陷与攻击技术 网络接口层,互联层,传输层,应用层(P141表格5-1) 原始报文伪造技术及工具 Netwox:强大且易用的开源工具包,可以创建任意的TCP/UDP/IP数据报文 Netwag:GUI界面,发送伪造的欺骗数据包. 网络层协议攻击 IP源地址欺骗 IP源地

20169217 2016-2017-2 《网络攻防实践》第四周学习总结

教材内容总结  网络嗅探 SNIFFER要捕获的东西必须是要物理信号能收到的报文信息.显然只要通知网卡接收其收到的所有包,在集线器下就能接收到这个网段的所有包,但是交换机下就只能是自己的包加上广播包. 要想在交换机下接收别人的包,那就要让其发往你的机器所在口.交换机记住一个口的MAC是通过接收来自这个口的数据后并记住其源MAC,就像一个机器的IP与MAC对应的ARP列表,交换机维护一个物理口与MAC的表,所以可以欺骗交换机的.可以发一个包设置源MAC是你想接收的机器的MAC,那么交换机就把你机器