信息安全实验演示
4.PHP简介
1.PHP是什么 PHP,即“Hypertext Preprocessor”是一种服务器端脚本语言,它是专门为 Web而设计的,其主要目标是让Web开发人员快速的书写动态生成的网页。在 一个HTML页面中,可以嵌入PHP代码,这些代码在每次页面被访问时执行。 PHP代码将在Web服务器中被解释并且生成HTML或访问者看到的其他输出。 2.PHP能做什么 PHP主要是用于服务端的脚本程序,因此可以用PHP来完成任何其它的CGI程 序能够完成的工作,例如收集表单数据,生成动态网页,或者发送/接收 Cookies。 PHP脚本主要用于以下三个领域。 (1)服务端脚本 (2)命令行脚本 (3)编写客户端的GUI应用程序 PHP能够用在所有的主流操作系统上,包括Linux、Unix、Microsoft Windows、 Mac OS X等。并且PHP已经支持了大多数的Web服务器,包括Apache、IIS、 PWS、Netscape等。
title honeypot paper snort paper snort based network iptables+snort author ppi no name summary honeypot and honeynet snort intrusion detection another snort paper intelligence ids
SQL注入
实验设计理念: 随着计算机和网络技术的发展和日益普及,计算机信息的安全 就日益成为系统成败的关键要素。而数据库作为信息的载体,它 的安全自然就成了信息安全研究领域的一个非常重要方面。 数据库系统安全是指数据库系统建立安全措施,以保护数据库 系统软件和其中的数据不因偶然和恶意的原因而遭到破坏、更改 和泄露。 由于大多数Web应用程序都需要使用数据库,于是数据库就变 成了最常见的攻击目标之一。
二.搜索引擎注入
2.编写HTML页面 通过HTML页面提交表单给服务器端PHP脚本,由PHP根据表单索引关键字对MySQL 数据库进行查询,最后将查询结果返回给HTML页面。
<html> <body> <form action="search.php" method="post"> # 指定处理表单请求的PHP脚本为search.php <table border="0"> … </tr> <tr> <td bgcolor="#cccaaa" colspan="2" align="left"><input type="submit" value="搜索"></td> </tr> </form> </body> </html>
一.PHP访问MySQL简单实例
1. 创建隶属test数据库的user表 (1)启动mysql服务 在控制台中输入service mysqld start命令启动mysql服务。 (2)在控制台中输入mysql,进入mysql客户端控制台(mysql>)创建user数据库 表 ● 选择工作数据库test use test; ● 创建user数据库表 CREATE TABLE user(userid int(11) NOT NULL AUTO_INCREMENT, username varchar(20) NOT NULL DEFAULT "", password varchar(20) NOT NULL DEFAULT "", PRIMARY KEY(userid))TYPE=MyISAM AUTO_INCREMENT=3; ● 插入两条数据信息 INSERT INTO user VALUES(1, "angel", "mypass"); INSERT INTO user VALUES(2, "lblis", "yourpass"); ● 查看数据库表 select * from user; 查看到的信息如右图所示。
3.实施SQL注入攻击
(1)攻击一 查询操作本来应该在确保用户名和密码都正确的情况下才能进行的,而输入 的注释符将一个查询条件移除了,这严重的危及到了查询操作的安全性。允许 用户通过这种方式修改Web应用中的代码,是非常危险的。 例如在SQL请求中使用注释符(双虚线--)。 (2)攻击二 利用构建的SQL注入短语,可以查询出数据库中的大部分信息,只要构建的 短语能够欺骗被注入程序按你的意图执行,并能够正确分析程序返回的现象, 注入攻击者就可以控制整个系统。 例如从前台获得的数据中存在像“„”,“and 1=1”,“or 1=1”,“--”就会出现具有特 殊意义的SQL语句。 利用构建的SQL注入短语,可以查询出数据库中的大部分信息,只要构建的 短语能够欺骗被注入程序按你的意图执行,并能够正确分析程序返回的现象, 注入攻击者就可以控制整个系统。
一.PHP访问MySQL简单实例
2. 编写PHP脚本查询user数据库表 (1)编写access.php脚本 注:实验步骤中涉及到的mysql数据库操作命令和php脚本源码,均在 /opt/ExpNIS/HostSec-Lab/Projects目录中提供。 (2)测试 单击桌面控制面板中“Web浏览器”按钮,当我们在URL地址栏中提交: http://本机IP/access.php?username=angel&password=mypass Web页面会提示“登录成功”,出现如下图所示界面。
SQL注入
实验步骤:
本练习单人为一组。实验主要包括下面四个内容: 一.PHP访问MySQL简单实例 1.创建隶属test数据库的user表 2.编写PHP脚本查询user数据库表 3.实施SQL注入 二.搜索引擎注入 1.创建隶属test数据库的file表 2.编写HTML页面 3.编写PHP脚本查询file数据库表 4.SQL注入 三.注入实现导出文件 四.通过注入提升用户权限 1.创建隶属test数据库的register表 2.注册用户 3.SQL注入提升注册用户权限
信息安全实验演示
典型实验 实验11 数据库安全 练习一 SQL注入 练习二 防范SQL注入 实验19 网络后门 练习二 无端口后门 实验24 蜜罐蜜网 练习二 DMZ区部署蜜罐
SQL注入
实验人数: 每组1人
系统环境: linux 网络环境: 交换网络结构 实验工具: MySQL数据库 实验类型: 综合型 PHP脚本
4. SQL注入 (1)这里我们利用PHP脚本没有对关键字变量进行检查的漏洞进入SQL注入。输入 关键字“%”进行搜索。结果如下图所示。
二.搜索引擎注入
(2)输入关键字“_‟ORDER BY fileid#”。结果如下图所示。
三.注入实现导出文件
本实验步骤仅为说明由于SQL注入而给服务器系统带来一定程度上的危害。 1.通过SQL注入来向服务器硬盘中写入大量无用的文件 利用了MySQL的“INTO OUTFILE”命令,将user数据库表中,满足cond条件的 记录以INTO OUTFILE标准格式导出到/etc/temp.txt文件中。 2.基于步骤一,写出能够实现(SQL注入)上述功能的URL。 http://本机IP/access.php?username=' or 1=1 into outfile '/etc/temp.txt'%23 从下图中我们可以看到注入后的浏览器页面和导出文件temp.txt的内容。
2.MySQL简介
(1)SQL命令 SQL是结构化查询语言的简称,它是全球通用的标准数据库查询语言,主 要用于关系型数据的操作和管理,如增加记录,删除记录,更改记录,查询 记录等,常用命令包括: select、update、insert、delete、from、where、and、or、not、=、 >,>=,<,<=、单引号(“„”)、逗号、*、--、/* */等。 (2)MySQL简介 MySQL是一个快速而又健壮的关系数据库管理系统(RDBMS)。一个数据 库将允许使用者高效地存储、搜索、排序和检索数据。MySQL服务器将控制 对数据的访问,从而确保多个用户可以并发地使用它,同时提供了快速访问 并且确保只有通过验证的用户才能获得数据访问。因此,MySQL是一个多用 户、多线程的服务器。它使用了结构化查询语言(SQL)。MySQL是世界上 最受欢迎的开放源代码数据库。
5.使用PHP从Web访问MySQL数据 库 1.Web数据库架构的工作原理
给出Web数据库架构的基本步骤。 2.从Web查询数据库的基本步骤 (1)检查并过滤来自用户的数据。 (2)建立一个到数据库的连接。 (3)查询数据库。 (4)获取查询结果。 (5)将结果显示给用户。 3.PHP访问MySQL数据库 (1)连接到MySQL服务器。 (2)选择工作数据库。 (3)执行SQL查询。 (4)发送一条MySQL查询(PHP4.0.6起不提供使用此函数)。 (5)获取前一次MySQL操作所影响的记录行数。 (6)获取结果集中行的数目。 (7)从结果集中获取一行作为关联数组。 (8)取得上一步INSERT操作产生的ID。 (9)关闭MySQL连接。
SQL注入
实验设计目的: 了解SQL注入的基本原理 掌握PHP脚本访问MySQL数据库的基本方法 掌握程序设计中避免出现SQL注入漏洞的基本方法
SQL注入
实验原理:
1.SQL注入攻击 2.MySQL简介 3.实施SQL注入攻击 4.PHP简介 5.使用PHP从Web访问MySQL数据库
1.SQL注入攻击
HTML页面如图所示。
二.搜索引擎注入
3. 编写PHP脚本查询file数据库表 search.php会按search.htm提交的关键字对file数据库表进行模糊查询,并最终将 查询结果显示在HTML页面中。输入关键字“snort”,进行搜索,搜索结果中含有 多少条记录。如下图所示。